aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Chagin <dchagin@FreeBSD.org>2023-04-22 19:17:52 +0000
committerDmitry Chagin <dchagin@FreeBSD.org>2023-04-22 19:17:52 +0000
commitb7a6bcdd1319b4e5da0bfc5e7790cbf26efe9892 (patch)
tree2f58089c8b84d424cf640a1a21aa9e748799377d
parent70eab81d6ffecf0ba4c7f19a8b6389178eda5259 (diff)
downloadsrc-b7a6bcdd1319b4e5da0bfc5e7790cbf26efe9892.tar.gz
src-b7a6bcdd1319b4e5da0bfc5e7790cbf26efe9892.zip
linux(4): Export the AT_MINSIGSTKSZ depending on the process osreldata
AT_MINSIGSTKSZ has appeared in the 5.13.0 Linux kernel first time. Differential Revision: https://reviews.freebsd.org/D39648 MFC after: 1 month
-rw-r--r--sys/compat/linux/linux_elf.c3
-rw-r--r--sys/compat/linux/linux_mib.h1
2 files changed, 3 insertions, 1 deletions
diff --git a/sys/compat/linux/linux_elf.c b/sys/compat/linux/linux_elf.c
index a1a04e23d43d..9db599d83bac 100644
--- a/sys/compat/linux/linux_elf.c
+++ b/sys/compat/linux/linux_elf.c
@@ -533,7 +533,8 @@ __linuxN(copyout_auxargs)(struct image_params *imgp, uintptr_t base)
AUXARGS_ENTRY(pos, LINUX_AT_EXECFN, PTROUT(imgp->execpathp));
if (args->execfd != -1)
AUXARGS_ENTRY(pos, AT_EXECFD, args->execfd);
- AUXARGS_ENTRY(pos, LINUX_AT_MINSIGSTKSZ, LINUX_MINSIGSTKSZ);
+ if (p->p_osrel >= LINUX_KERNVER_5013000 || p->p_osrel == 0)
+ AUXARGS_ENTRY(pos, LINUX_AT_MINSIGSTKSZ, LINUX_MINSIGSTKSZ);
AUXARGS_ENTRY(pos, AT_NULL, 0);
free(imgp->auxargs, M_TEMP);
diff --git a/sys/compat/linux/linux_mib.h b/sys/compat/linux/linux_mib.h
index 05068bbf1029..ae650934273e 100644
--- a/sys/compat/linux/linux_mib.h
+++ b/sys/compat/linux/linux_mib.h
@@ -62,6 +62,7 @@ int linux_kernver(struct thread *td);
#define LINUX_KERNVER_2006030 LINUX_KERNVER(2,6,30)
#define LINUX_KERNVER_2006039 LINUX_KERNVER(2,6,39)
#define LINUX_KERNVER_5004000 LINUX_KERNVER(5,4,0)
+#define LINUX_KERNVER_5013000 LINUX_KERNVER(5,13,0)
#define linux_use54(t) (linux_kernver(t) >= LINUX_KERNVER_5004000)