diff options
author | Brooks Davis <brooks@FreeBSD.org> | 2023-12-04 20:36:08 +0000 |
---|---|---|
committer | Brooks Davis <brooks@FreeBSD.org> | 2023-12-04 20:36:08 +0000 |
commit | 7893419d492c40ca82b68fca3dcc0f5f7047d39b (patch) | |
tree | c230c36c5fda5403717c721df441a12865a3b68e /sys/compat | |
parent | 4b92c7721deecdc2117490ce3bc74f9cafc186d8 (diff) | |
download | src-7893419d492c40ca82b68fca3dcc0f5f7047d39b.tar.gz src-7893419d492c40ca82b68fca3dcc0f5f7047d39b.zip |
Remove never implemented sbrk and sstk syscalls
Both system calls were stubs returning EOPNOTSUPP and libc did not
provide _ or __sys_ prefixed symbols. The actual implementation of
sbrk(2) is on top of the undocumented break(2) system call.
Technically this is a change in ABI, but no non-contrived program ever
called these syscalls.
Reviewed by: kib, emaste
Sponsored by: DARPA
Differential Revision: https://reviews.freebsd.org/D42872
Diffstat (limited to 'sys/compat')
-rw-r--r-- | sys/compat/freebsd32/freebsd32_syscall.h | 4 | ||||
-rw-r--r-- | sys/compat/freebsd32/freebsd32_syscalls.c | 4 | ||||
-rw-r--r-- | sys/compat/freebsd32/freebsd32_sysent.c | 4 | ||||
-rw-r--r-- | sys/compat/freebsd32/freebsd32_systrace_args.c | 44 |
4 files changed, 6 insertions, 50 deletions
diff --git a/sys/compat/freebsd32/freebsd32_syscall.h b/sys/compat/freebsd32/freebsd32_syscall.h index 3123c3b1f74c..bc824b8e04be 100644 --- a/sys/compat/freebsd32/freebsd32_syscall.h +++ b/sys/compat/freebsd32/freebsd32_syscall.h @@ -73,8 +73,8 @@ #define FREEBSD32_SYS_vfork 66 /* 67 is obsolete vread */ /* 68 is obsolete vwrite */ -#define FREEBSD32_SYS_sbrk 69 -#define FREEBSD32_SYS_sstk 70 + /* 69 is obsolete sbrk */ + /* 70 is obsolete sstk */ /* 71 is old freebsd32_mmap */ #define FREEBSD32_SYS_freebsd11_vadvise 72 #define FREEBSD32_SYS_munmap 73 diff --git a/sys/compat/freebsd32/freebsd32_syscalls.c b/sys/compat/freebsd32/freebsd32_syscalls.c index e64c36b32d00..3e7656cace72 100644 --- a/sys/compat/freebsd32/freebsd32_syscalls.c +++ b/sys/compat/freebsd32/freebsd32_syscalls.c @@ -74,8 +74,8 @@ const char *freebsd32_syscallnames[] = { "vfork", /* 66 = vfork */ "obs_vread", /* 67 = obsolete vread */ "obs_vwrite", /* 68 = obsolete vwrite */ - "sbrk", /* 69 = sbrk */ - "sstk", /* 70 = sstk */ + "obs_sbrk", /* 69 = obsolete sbrk */ + "obs_sstk", /* 70 = obsolete sstk */ "compat.freebsd32_mmap", /* 71 = old freebsd32_mmap */ "compat11.vadvise", /* 72 = freebsd11 vadvise */ "munmap", /* 73 = munmap */ diff --git a/sys/compat/freebsd32/freebsd32_sysent.c b/sys/compat/freebsd32/freebsd32_sysent.c index 2bb45fc3d2e2..179d83186b41 100644 --- a/sys/compat/freebsd32/freebsd32_sysent.c +++ b/sys/compat/freebsd32/freebsd32_sysent.c @@ -130,8 +130,8 @@ struct sysent freebsd32_sysent[] = { { .sy_narg = 0, .sy_call = (sy_call_t *)sys_vfork, .sy_auevent = AUE_VFORK, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 66 = vfork */ { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 67 = obsolete vread */ { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 68 = obsolete vwrite */ - { .sy_narg = AS(sbrk_args), .sy_call = (sy_call_t *)sys_sbrk, .sy_auevent = AUE_SBRK, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 69 = sbrk */ - { .sy_narg = AS(sstk_args), .sy_call = (sy_call_t *)sys_sstk, .sy_auevent = AUE_SSTK, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 70 = sstk */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 69 = obsolete sbrk */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 70 = obsolete sstk */ { compat(AS(ofreebsd32_mmap_args),freebsd32_mmap), .sy_auevent = AUE_MMAP, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 71 = old freebsd32_mmap */ { compat11(AS(freebsd11_vadvise_args),vadvise), .sy_auevent = AUE_O_VADVISE, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 72 = freebsd11 vadvise */ { .sy_narg = AS(munmap_args), .sy_call = (sy_call_t *)sys_munmap, .sy_auevent = AUE_MUNMAP, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 73 = munmap */ diff --git a/sys/compat/freebsd32/freebsd32_systrace_args.c b/sys/compat/freebsd32/freebsd32_systrace_args.c index fb1fddc6ae5e..0d263b57bf0f 100644 --- a/sys/compat/freebsd32/freebsd32_systrace_args.c +++ b/sys/compat/freebsd32/freebsd32_systrace_args.c @@ -421,20 +421,6 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args) *n_args = 0; break; } - /* sbrk */ - case 69: { - struct sbrk_args *p = params; - iarg[a++] = p->incr; /* int */ - *n_args = 1; - break; - } - /* sstk */ - case 70: { - struct sstk_args *p = params; - iarg[a++] = p->incr; /* int */ - *n_args = 1; - break; - } /* munmap */ case 73: { struct munmap_args *p = params; @@ -4009,26 +3995,6 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) /* vfork */ case 66: break; - /* sbrk */ - case 69: - switch (ndx) { - case 0: - p = "int"; - break; - default: - break; - }; - break; - /* sstk */ - case 70: - switch (ndx) { - case 0: - p = "int"; - break; - default: - break; - }; - break; /* munmap */ case 73: switch (ndx) { @@ -9347,16 +9313,6 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) break; /* vfork */ case 66: - /* sbrk */ - case 69: - if (ndx == 0 || ndx == 1) - p = "int"; - break; - /* sstk */ - case 70: - if (ndx == 0 || ndx == 1) - p = "int"; - break; /* munmap */ case 73: if (ndx == 0 || ndx == 1) |