git: 213f60737fa7 - stable/13 - linprocfs: Fixup vDSO name in the procmaps after 9931033bbf.

From: Dmitry Chagin <dchagin_at_FreeBSD.org>
Date: Fri, 17 Jun 2022 19:36:57 UTC
The branch stable/13 has been updated by dchagin:

URL: https://cgit.FreeBSD.org/src/commit/?id=213f60737fa72d2df5dd70003846d8eeec5640c0

commit 213f60737fa72d2df5dd70003846d8eeec5640c0
Author:     Dmitry Chagin <dchagin@FreeBSD.org>
AuthorDate: 2021-07-20 07:04:20 +0000
Commit:     Dmitry Chagin <dchagin@FreeBSD.org>
CommitDate: 2022-06-17 19:33:08 +0000

    linprocfs: Fixup vDSO name in the procmaps after 9931033bbf.
    
    As the sv_shared_page_base now pointed out to the native sharedpage and
    the process VA layout has changed as follows:
    VDSOPAGE        (2 * PAGE_SIZE)
    SHAREDPAGE      (PAGE_SIZE)
    USRSTACK
    fixup the vDSO name by calculating the start of page relative to the
    native sharedpage.
    
    Differential revision:  https://reviews.freebsd.org/D30903
    MFC after:              2 weeks
    
    (cherry picked from commit fe7409530c5420c739aee72b3dfd036c05628a2c)
---
 sys/compat/linprocfs/linprocfs.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/sys/compat/linprocfs/linprocfs.c b/sys/compat/linprocfs/linprocfs.c
index 27acd7d651a7..42e1b5e075d3 100644
--- a/sys/compat/linprocfs/linprocfs.c
+++ b/sys/compat/linprocfs/linprocfs.c
@@ -1342,7 +1342,13 @@ linprocfs_doprocmaps(PFS_FILL_ARGS)
 				ino = vat.va_fileid;
 				vput(vp);
 			} else if (SV_PROC_ABI(p) == SV_ABI_LINUX) {
-				if (e_start == p->p_sysent->sv_shared_page_base)
+				/*
+				 * sv_shared_page_base pointed out to the
+				 * FreeBSD sharedpage, PAGE_SIZE is a size
+				 * of it. The vDSO page is above.
+				 */
+				if (e_start == p->p_sysent->sv_shared_page_base +
+				    PAGE_SIZE)
 					name = vdso_str;
 				if (e_end == p->p_sysent->sv_usrstack)
 					name = stack_str;