History log of /src/sys/compat/netbsd32/netbsd32_compat_12.c |
Revision | | Date | Author | Comments |
1.36 |
| 07-Sep-2021 |
riastradh | sys/compat: Memset zero before copyout.
Just in case of uninitialized padding which would lead to kernel stack disclosure. If the compiler can prove the memset redundant then it can optimize it away; otherwise better safe than sorry.
|
1.35 |
| 19-Jan-2021 |
simonb | KNF consistency: No parentheses are needed around the return value.
|
1.34 |
| 27-Jan-2019 |
pgoyette | branches: 1.34.4; 1.34.12; Merge the [pgoyette-compat] branch
|
1.33 |
| 10-Dec-2012 |
chs | branches: 1.33.30; 1.33.36; 1.33.38; fix these *stat routines: don't pass a kernel stack buffer to a function that will try to copyout() to it. just do both layers of compat translation here.
|
1.32 |
| 30-Jan-2009 |
njoly | branches: 1.32.14; 1.32.24; Cleanup. Kill a few netbsd32_caddr_t in syscalls argument types.
|
1.31 |
| 29-May-2008 |
mrg | branches: 1.31.6; 1.31.12; remove clause #3 from my license where there are no other copyright holders involved.
|
1.30 |
| 20-Dec-2007 |
dsl | branches: 1.30.6; 1.30.8; 1.30.10; 1.30.12; Convert all the system call entry points from: int foo(struct lwp *l, void *v, register_t *retval) to: int foo(struct lwp *l, const struct foo_args *uap, register_t *retval) Fixup compat code to not write into 'uap' and (in some cases) to actually pass a correctly formatted 'uap' structure with the right name to the next routine. A few 'compat' routines that just call standard ones have been deleted. All the 'compat' code compiles (along with the kernels required to test build it). 98% done by automated scripts.
|
1.29 |
| 08-Dec-2007 |
dsl | branches: 1.29.4; ANSIfy most of the function definitions in sys/compat (but not ndis). All by the magic of sed ...
|
1.28 |
| 04-Dec-2007 |
dsl | Remove all the __P
|
1.27 |
| 30-Apr-2007 |
dsl | branches: 1.27.6; 1.27.8; 1.27.14; 1.27.16; Remove some unused calls to stackgap_init()
|
1.26 |
| 22-Apr-2007 |
dsl | Change the way that emulations locate files within the emulation root to avoid having to allocate space in the 'stackgap' - which is very LWP unfriendly. The additional code for non-emulation namei() is trivial, the reduction for the emulations is massive. The vnode for a processes emulation root is saved in the cwdi structure during process exec. If the emulation root the TRYEMULROOT flag are set, namei() will do an initial search for absolute pathnames in the emulation root, if that fails it will retry from the normal root. ".." at the emulation root will always go to the real root, even in the middle of paths and when expanding symlinks. Absolute symlinks found using absolute paths in the emulation root will be relative to the emulation root (so /usr/lib/xxx.so -> /lib/xxx.so links inside the emulation root don't need changing). If the root of the emulation would be returned (for an emulation lookup), then the real root is returned instead (matching the behaviour of emul_lookup, but being a cheap comparison here) so that programs that scan "../.." looking for the root dircetory don't loop forever. The target for symbolic links is no longer mangled (it used to get the CHECK_ALT_xxx() treatment, so could get /emul/xxx prepended). CHECK_ALT_xxx() are no more. Most of the change is deleting them, and adding TRYEMULROOT to the flags to NDINIT(). A lot of the emulation system call stubs could now be deleted.
|
1.25 |
| 18-Mar-2007 |
dsl | Change all the NETBSD32PTR64(SCARG(uap, xxx))) to SCARG_P32(uap, xxx).
|
1.24 |
| 16-Mar-2007 |
dsl | remove all the double (and triple) casts used to convert 32bit userspace pointers to and from 64bit kernel pointers. Instead use the defines NETBSD32PTR64(p32) to read a 32bit pointer and (the new) NETBSD32PTR32(p32,p64) to write a 32bit pointer throughout. The 32bit pointer is now a struct to enforce the above. amd64 (with linux emul) and sparc64 will both compile (when the arch stuff goes in soon), and amd64 still runs some i386 binaries.
|
1.23 |
| 04-Mar-2007 |
christos | branches: 1.23.2; 1.23.4; 1.23.6; fix fallout from caddr_t changes.
|
1.22 |
| 04-Mar-2007 |
christos | Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
1.21 |
| 09-Feb-2007 |
ad | branches: 1.21.2; Merge newlock2 to head.
|
1.20 |
| 11-Dec-2005 |
christos | branches: 1.20.20; merge ktrace-lwp.
|
1.19 |
| 13-Sep-2005 |
christos | make this compile again.
|
1.18 |
| 29-Jun-2003 |
fvdl | branches: 1.18.2; 1.18.18; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
1.17 |
| 28-Jun-2003 |
darrenr | Pass lwp pointers throughtout the kernel, as required, so that the lwpid can be inserted into ktrace records. The general change has been to replace "struct proc *" with "struct lwp *" in various function prototypes, pass the lwp through and use l_proc to get the process pointer when needed.
Bump the kernel rev up to 1.6V
|
1.16 |
| 18-Jan-2003 |
thorpej | Merge the nathanw_sa branch.
|
1.15 |
| 23-Oct-2002 |
scw | In preparation for COMPAT_NETBSD32 on SH-5:
- The MD netbsd32_machdep.h header now defines the 32-bit pointer type instead of using u_int32_t everywhere, - The MD netbsd32_machdep.h header now defines a macro (at least on current implementations) which converts a 32-bit pointer to its 64-bit equivalent, - Change the MI code to utilise the above two items in all the right places, - Implement netbsd32___sigaction_sigtramp().
Tested on Sparc64 by Matt Green.
|
1.14 |
| 16-Mar-2002 |
christos | make the stackgap_{init,alloc} functions MP friendly (i.e. pass struct proc * in, instead of using curproc). While there add an optional size argument to stackgap_init.
|
1.13 |
| 13-Nov-2001 |
lukem | add RCSIDs (including regeneration of files as appropriate)
|
1.12 |
| 25-Aug-2001 |
mrg | update copyright notices.
|
1.11 |
| 30-May-2001 |
mrg | branches: 1.11.2; use _KERNEL_OPT.
|
1.10 |
| 07-Feb-2001 |
mrg | branches: 1.10.2; compat_12_netbsd32_{,fl}stat12() were not copyout()ing the converted result.
|
1.9 |
| 03-Dec-2000 |
fvdl | Include opt_* files to make sure prototypes are included.
|
1.8 |
| 01-Dec-2000 |
jdolecek | prototype netbsd32_stat12_to_netbsd32()
|
1.7 |
| 01-Dec-2000 |
jdolecek | add e_path (emulation path) to struct emul, which replaces emulation-specific *_emul_path variables
change macros CHECK_ALT_{CREAT|EXIST} to use that, 'root' doesn't need to be passed explicitly any more and *_CHECK_ALT_{CREAT|EXIST} are removed change explicit emul_find() calls in probe functions to get the emulation path from the checked exec switch entry's emulation
remove no longer needed header files
add e_flags and e_syscall to struct emul; these are unsed and empty for now
|
1.6 |
| 11-Oct-1999 |
eeh | branches: 1.6.2; Add netbsd32_compat_14.c
Rename everything from compat_netbsd32 -> netbsd32 so we don't have silly names like compat_14_compat_netbsd32_sys_shmctl().
|
1.5 |
| 25-Mar-1999 |
mrg | branches: 1.5.8; SPARC32->NETBSD32
|
1.4 |
| 25-Mar-1999 |
mrg | move sparc32 to netbsd32; split out MD part (signal handling) (mostly via repository copy, rename and perl -pi :-)
|
1.3 |
| 01-Oct-1998 |
eeh | Overhaul. Now will run simple things like /bin/sh and /bin/echo.
|
1.2 |
| 29-Aug-1998 |
mrg | move <vm/vm_swap.h> to <sys/swap.h>. <vm/vm_swap.h> still works for now (goes away later)
|
1.1 |
| 26-Aug-1998 |
mrg | add a 32-bit compatibility module for the sparc64 port, so it can run NetBSD/sparc binaries with a LP64 kernel.
|
1.5.8.1 |
| 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.6.2.2 |
| 11-Feb-2001 |
bouyer | Sync with HEAD.
|
1.6.2.1 |
| 08-Dec-2000 |
bouyer | Sync with HEAD.
|
1.10.2.7 |
| 11-Nov-2002 |
nathanw | Catch up to -current
|
1.10.2.6 |
| 23-Aug-2002 |
petrov | lwpification.
|
1.10.2.5 |
| 29-May-2002 |
nathanw | #include <sys/sa.h> before <sys/syscallargs.h>, to provide sa_upcall_t now that <sys/param.h> doesn't include <sys/sa.h>.
(Behold the Power of Ed)
|
1.10.2.4 |
| 01-Apr-2002 |
nathanw | Catch up to -current. (CVS: It's not just a program. It's an adventure!)
|
1.10.2.3 |
| 14-Nov-2001 |
nathanw | Catch up to -current.
|
1.10.2.2 |
| 21-Sep-2001 |
nathanw | Catch up to -current.
|
1.10.2.1 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.11.2.3 |
| 23-Jun-2002 |
jdolecek | catch up with -current on kqueue branch
|
1.11.2.2 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.11.2.1 |
| 13-Sep-2001 |
thorpej | Update the kqueue branch to HEAD.
|
1.18.18.5 |
| 21-Jan-2008 |
yamt | sync with head
|
1.18.18.4 |
| 07-Dec-2007 |
yamt | sync with head
|
1.18.18.3 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.18.18.2 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.18.18.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.18.2.4 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.18.2.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.18.2.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.18.2.1 |
| 02-Jul-2003 |
darrenr | Apply the aborted ktrace-lwp changes to a specific branch. This is just for others to review, I'm concerned that patch fuziness may have resulted in some errant code being generated but I'll look at that later by comparing the diff from the base to the branch with the file I attempt to apply to it. This will, at the very least, put the changes in a better context for others to review them and attempt to tinker with removing passing of 'struct lwp' through the kernel.
|
1.20.20.1 |
| 30-Jan-2007 |
ad | Remove support for SA. Ok core@.
|
1.21.2.3 |
| 07-May-2007 |
yamt | sync with head.
|
1.21.2.2 |
| 24-Mar-2007 |
yamt | sync with head.
|
1.21.2.1 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.23.6.2 |
| 29-Mar-2007 |
reinoud | Pullup to -current
|
1.23.6.1 |
| 18-Mar-2007 |
reinoud | First attempt to bring branch in sync with HEAD
|
1.23.4.1 |
| 11-Jul-2007 |
mjf | Sync with head.
|
1.23.2.2 |
| 27-May-2007 |
ad | Sync with head.
|
1.23.2.1 |
| 10-Apr-2007 |
ad | Sync with head.
|
1.27.16.2 |
| 26-Dec-2007 |
ad | Sync with head.
|
1.27.16.1 |
| 08-Dec-2007 |
ad | Sync with head.
|
1.27.14.2 |
| 27-Dec-2007 |
mjf | Sync with HEAD.
|
1.27.14.1 |
| 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.27.8.1 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.27.6.1 |
| 09-Dec-2007 |
jmcneill | Sync with HEAD.
|
1.29.4.1 |
| 02-Jan-2008 |
bouyer | Sync with HEAD
|
1.30.12.3 |
| 23-Jun-2008 |
wrstuden | Sync w/ -current. 34 merge conflicts to follow.
|
1.30.12.2 |
| 14-May-2008 |
wrstuden | Per discussion with ad, remove most of the #include <sys/sa.h> lines as they were including sa.h just for the type(s) needed for syscallargs.h.
Instead, create a new file, sys/satypes.h, which contains just the types needed for syscallargs.h. Yes, there's only one now, but that may change and it's probably more likely to change if it'd be difficult to handle. :-)
Per discussion with matt at n dot o, add an include of satypes.h to sigtypes.h. Upcall handlers are kinda signal handlers, and signalling is the header file that's already included for syscallargs.h that closest matches SA.
This shaves about 3000 lines off of the diff of the branch relative to the base. That also represents about 18% of the total before this checkin.
I think this reduction is very good thing.
|
1.30.12.1 |
| 10-May-2008 |
wrstuden | Initial checkin of re-adding SA. Everything except kern_sa.c compiles in GENERIC for i386. This is still a work-in-progress, but this checkin covers most of the mechanical work (changing signalling to be able to accomidate SA's process-wide signalling and re-adding includes of sys/sa.h and savar.h). Subsequent changes will be much more interesting.
Also, kern_sa.c has received partial cleanup. There's still more to do, though.
|
1.30.10.1 |
| 04-May-2009 |
yamt | sync with head.
|
1.30.8.1 |
| 04-Jun-2008 |
yamt | sync with head
|
1.30.6.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.31.12.2 |
| 29-May-2008 |
mrg | remove clause #3 from my license where there are no other copyright holders involved.
|
1.31.12.1 |
| 29-May-2008 |
mrg | file netbsd32_compat_12.c was added on branch christos-time_t on 2008-05-29 14:51:27 +0000
|
1.31.6.1 |
| 03-Mar-2009 |
skrll | Sync with HEAD.
|
1.32.24.1 |
| 25-Feb-2013 |
tls | resync with head
|
1.32.14.1 |
| 16-Jan-2013 |
yamt | sync with (a bit old) head
|
1.33.38.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.33.36.9 |
| 03-Oct-2018 |
pgoyette | Normalize the required lists. Each compat_netbsd32_xx needs the non-32bit module of the same version _and_ the 32-bit module for the next higher version.
|
1.33.36.8 |
| 03-Oct-2018 |
pgoyette | Make sure that each version-specific compat_netbsd32_xx module depends on all higher-version-specific modules, similar to the non-32bit compat_xx modules.
|
1.33.36.7 |
| 11-Sep-2018 |
pgoyette | Put the ``extern struct emul'' into the netbsd32_netbsd.h header so it doesn't have to be separately declared in each source file.
Thanks mrg@
|
1.33.36.6 |
| 11-Sep-2018 |
pgoyette | Also need to declare the emul_netbsd32 !
|
1.33.36.5 |
| 11-Sep-2018 |
pgoyette | Install the syscalls into the netbsd32 table, not the default/native table.
|
1.33.36.4 |
| 11-Sep-2018 |
pgoyette | Use netbsd32 syscall names in the establish/disestablish tables
|
1.33.36.3 |
| 11-Sep-2018 |
pgoyette | Regen syscall files and fix includes for syscallvar.h
|
1.33.36.2 |
| 10-Sep-2018 |
pgoyette | More compat_netbsd32_xx modules
|
1.33.36.1 |
| 10-Sep-2018 |
pgoyette | Initial cut at a compat_netbsd32_09 and compat_netbsd32_12 modules.
|
1.33.30.1 |
| 21-Jun-2023 |
martin | Pull up following revision(s) (requested by riastradh in ticket #1836):
sys/compat/linux/arch/i386/linux_machdep.c: revision 1.168 sys/compat/sunos/sunos_misc.c: revision 1.177 sys/compat/netbsd32/netbsd32_compat_50.c: revision 1.52 sys/compat/common/kern_resource_43.c: revision 1.23 sys/compat/netbsd32/netbsd32_conv.h: revision 1.46 sys/compat/linux/arch/i386/linux_ptrace.c: revision 1.35 sys/compat/common/vfs_syscalls_12.c: revision 1.38 sys/compat/ultrix/ultrix_misc.c: revision 1.126 sys/compat/common/kern_sig_43.c: revision 1.37 sys/compat/linux/common/linux_mtio.c: revision 1.8 sys/compat/freebsd/freebsd_misc.c: revision 1.34 sys/compat/linux/common/linux_olduname.c: revision 1.67 sys/compat/linux/arch/mips/linux_machdep.c: revision 1.44 sys/compat/freebsd/freebsd_sched.c: revision 1.23 sys/compat/ossaudio/ossaudio.c: revision 1.84 sys/compat/sys/time_types.h: revision 1.6 sys/compat/linux/arch/powerpc/linux_machdep.c: revision 1.51 sys/compat/linux/common/linux_file.c: revision 1.119 sys/compat/linux/arch/arm/linux_machdep.c: revision 1.34 sys/compat/netbsd32/netbsd32_wait.c: revision 1.25 sys/compat/linux32/common/linux32_time.c: revision 1.38 sys/compat/linux/arch/powerpc/linux_ptrace.c: revision 1.33 sys/compat/linux/arch/alpha/linux_machdep.c: revision 1.52 sys/compat/linux32/arch/amd64/linux32_machdep.c: revision 1.46 sys/compat/netbsd32/netbsd32_compat_12.c: revision 1.36 sys/compat/ultrix/ultrix_ioctl.c: revision 1.39 sys/compat/linux/common/linux_misc.c: revision 1.252 sys/compat/linux/common/linux_hdio.c: revision 1.19 sys/compat/sunos/sunos_ioctl.c: revision 1.71 sys/compat/linux/common/linux_sched.c: revision 1.79 sys/compat/common/kern_info_43.c: revision 1.40 sys/compat/linux32/common/linux32_exec_elf32.c: revision 1.20 sys/compat/linux/common/linux_socket.c: revision 1.153 sys/compat/linux/arch/amd64/linux_machdep.c: revision 1.60 sys/compat/common/vfs_syscalls_43.c: revision 1.68 sys/compat/linux/arch/powerpc/linux_exec_powerpc.c: revision 1.25 sys/compat/netbsd32/netbsd32_ptrace.c: revision 1.9 sys/compat/common/kern_time_50.c: revision 1.37 sys/compat/netbsd32/netbsd32_compat_20.c: revision 1.42 sys/compat/linux/common/linux_cdrom.c: revision 1.28 sys/compat/linux/arch/m68k/linux_machdep.c: revision 1.43 sys/compat/common/kern_info_09.c: revision 1.22 sys/compat/linux32/common/linux32_resource.c: revision 1.12 sys/compat/linux/common/linux_oldolduname.c: revision 1.67 sys/compat/netbsd32/netbsd32_nfssvc.c: revision 1.8 sys/compat/linux32/common/linux32_signal.c: revision 1.21 sys/compat/common/kern_sig_13.c: revision 1.22 sys/compat/sunos32/sunos32_ioctl.c: revision 1.36 sys/compat/netbsd32/netbsd32_compat_43.c: revision 1.62 sys/compat/linux/arch/arm/linux_ptrace.c: revision 1.23 sys/compat/netbsd32/netbsd32_time.c: revision 1.56 sys/compat/linux/common/linux_signal.c: revision 1.84 sys/compat/netbsd32/netbsd32_signal.c: revision 1.52 sys/compat/sunos32/sunos32_misc.c: revision 1.85 sys/compat/linux/common/linux_time.c: revision 1.40 sys/compat/linux/common/linux_fdio.c: revision 1.14 sys/compat/common/vfs_syscalls_30.c: revision 1.43
sys/compat: Memset zero before copyout.
Just in case of uninitialized padding which would lead to kernel stack disclosure. If the compiler can prove the memset redundant then it can optimize it away; otherwise better safe than sorry.
|
1.34.12.1 |
| 03-Apr-2021 |
thorpej | Sync with HEAD.
|
1.34.4.1 |
| 03-Aug-2022 |
martin | Pull up following revision(s), all via patch (requested by riastradh in ticket #1487):
sys/compat/linux/arch/i386/linux_machdep.c: revision 1.168 sys/compat/sunos/sunos_misc.c: revision 1.177 sys/compat/netbsd32/netbsd32_compat_50.c: revision 1.52 sys/compat/common/kern_resource_43.c: revision 1.23 sys/compat/netbsd32/netbsd32_conv.h: revision 1.46 sys/compat/linux/arch/i386/linux_ptrace.c: revision 1.35 sys/compat/common/vfs_syscalls_12.c: revision 1.38 sys/compat/ultrix/ultrix_misc.c: revision 1.126 sys/compat/common/kern_sig_43.c: revision 1.37 sys/compat/linux/common/linux_mtio.c: revision 1.8 sys/compat/freebsd/freebsd_misc.c: revision 1.34 sys/compat/freebsd/freebsd_machdep.c: revision 1.5 sys/compat/linux/common/linux_olduname.c: revision 1.67 sys/compat/linux/arch/mips/linux_machdep.c: revision 1.44 sys/compat/freebsd/freebsd_sched.c: revision 1.23 sys/compat/ossaudio/ossaudio.c: revision 1.84 sys/compat/sys/time_types.h: revision 1.6 sys/compat/linux/arch/powerpc/linux_machdep.c: revision 1.51 sys/compat/common/ieee80211_20.c: revision 1.7 sys/compat/linux/common/linux_file.c: revision 1.119 sys/compat/linux/arch/arm/linux_machdep.c: revision 1.34 sys/compat/netbsd32/netbsd32_wait.c: revision 1.25 sys/compat/linux32/common/linux32_time.c: revision 1.38 sys/compat/linux/arch/powerpc/linux_ptrace.c: revision 1.33 sys/compat/linux/arch/alpha/linux_machdep.c: revision 1.52 sys/compat/linux32/arch/amd64/linux32_machdep.c: revision 1.46 sys/compat/netbsd32/netbsd32_compat_12.c: revision 1.36 sys/compat/ultrix/ultrix_ioctl.c: revision 1.39 sys/compat/linux/common/linux_misc.c: revision 1.252 sys/compat/linux/common/linux_hdio.c: revision 1.19 sys/compat/sunos/sunos_ioctl.c: revision 1.71 sys/compat/linux/common/linux_sched.c: revision 1.79 sys/compat/common/kern_info_43.c: revision 1.40 sys/compat/linux32/common/linux32_exec_elf32.c: revision 1.20 sys/compat/linux/common/linux_socket.c: revision 1.153 sys/compat/linux/arch/amd64/linux_machdep.c: revision 1.60 sys/compat/common/vfs_syscalls_43.c: revision 1.68 sys/compat/linux/arch/powerpc/linux_exec_powerpc.c: revision 1.25 sys/compat/netbsd32/netbsd32_ptrace.c: revision 1.9 sys/compat/common/kern_time_50.c: revision 1.37 sys/compat/netbsd32/netbsd32_compat_20.c: revision 1.42 sys/compat/linux/common/linux_cdrom.c: revision 1.28 sys/compat/linux/arch/m68k/linux_machdep.c: revision 1.43 sys/compat/common/kern_info_09.c: revision 1.22 sys/compat/linux32/common/linux32_resource.c: revision 1.12 sys/compat/linux/common/linux_oldolduname.c: revision 1.67 sys/compat/common/if_media_80.c: revision 1.4 sys/compat/linux/arch/alpha/linux_osf1.c: revision 1.5 sys/compat/netbsd32/netbsd32_nfssvc.c: revision 1.8 sys/compat/linux32/common/linux32_signal.c: revision 1.21 sys/compat/common/kern_sig_13.c: revision 1.22 sys/compat/sunos32/sunos32_ioctl.c: revision 1.36 sys/compat/netbsd32/netbsd32_compat_43.c: revision 1.62 sys/compat/linux/arch/arm/linux_ptrace.c: revision 1.23 sys/compat/netbsd32/netbsd32_time.c: revision 1.56 sys/compat/linux/common/linux_signal.c: revision 1.84 sys/compat/netbsd32/netbsd32_signal.c: revision 1.52 sys/compat/sunos32/sunos32_misc.c: revision 1.85 sys/compat/linux/common/linux_time.c: revision 1.40 sys/compat/linux/common/linux_fdio.c: revision 1.14 sys/compat/common/vfs_syscalls_30.c: revision 1.43
sys/compat: Memset zero before copyout.
Just in case of uninitialized padding which would lead to kernel stack disclosure. If the compiler can prove the memset redundant then it can optimize it away; otherwise better safe than sorry.
|