Home | History | Annotate | Download | only in sunos
History log of /src/sys/compat/sunos/sunos_ioctl.c
RevisionDateAuthorComments
 1.71  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.70  23-Sep-2019  christos Add missing break
 1.69  23-Apr-2019  msaitoh branches: 1.69.2;
KNF. No functional change.
 1.68  08-Oct-2016  maxv branches: 1.68.8; 1.68.16;
Uninitialized var, found by mootja; not tested, but obvious enough
 1.67  12-Dec-2015  nakayama branches: 1.67.2;
Redo previous. zero check before modulo.
 1.66  11-Dec-2015  mlelstv d_secpercyl is gone and we use the value from disklabel anyway.
 1.65  11-Dec-2015  mlelstv PR 50518 bad switch
 1.64  08-Dec-2015  christos Replace DIOCGPART -> DIOCGPARTINFO which returns the data needed instead of
pointers.
 1.63  26-Sep-2015  christos rename sun ioctls
 1.62  05-Sep-2014  matt branches: 1.62.2;
Try not to use f_data, use f_{vnode,socket,pipe,mqueue,kqueue,ksem} to get
a correctly typed pointer.
 1.61  19-Nov-2008  ad branches: 1.61.26;
Make the emulations, exec formats, coredump, NFS, and the NFS server
into modules. By and large this commit:

- shuffles header files and ifdefs
- splits code out where necessary to be modular
- adds module glue for each of the components
- adds/replaces hooks for things that can be installed at runtime
 1.60  21-Mar-2008  ad branches: 1.60.4; 1.60.6; 1.60.10; 1.60.12;
Catch up with descriptor handling changes. See kern_descrip.c revision
1.173 for details.
 1.59  20-Dec-2007  dsl branches: 1.59.6;
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.58  08-Dec-2007  dsl branches: 1.58.4;
ANSIfy most of the function definitions in sys/compat (but not ndis).
All by the magic of sed ...
 1.57  04-Dec-2007  dsl Remove all the __P
 1.56  01-Jun-2007  he branches: 1.56.6; 1.56.8; 1.56.14; 1.56.16;
Fallout from the interface ioctl changes:

OSIOCGIFADDR -> OOSIOCGIFADDR
OSIOCGIFDSTADDR -> OOSIOCGIFDSTADDR
OSIOCGIFNETMASK -> OOSIOCGIFNETMASK

Also, one instance of needing to include <net/if.h> before
<compat/sys/sockio.h> due to use of IFNAMSIZ in the latter.

Discussed with christos.
 1.55  29-May-2007  christos Add a sockaddr_storage member to "struct ifreq" maintaining backwards
compatibility with the older ioctls. This avoids stack smashing and
abuse of "struct sockaddr" when ioctls placed "struct sockaddr_foo's" that
were longer than "struct sockaddr".
XXX: Some of the emulations might be broken; I tried to add code for
them but I did not test them.
 1.54  12-May-2007  dsl Split the fcntl locking code out from its copyin/out.
Use to avoid all the stackgap stuff in compat code.
 1.53  04-Mar-2007  christos branches: 1.53.2; 1.53.4;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.52  09-Feb-2007  ad branches: 1.52.2;
Merge newlock2 to head.
 1.51  11-Dec-2005  christos branches: 1.51.20;
merge ktrace-lwp.
 1.50  02-Jun-2005  tsutsui branches: 1.50.2;
Fix shadow warnings.
 1.49  01-Jun-2004  pk sunos_ioctl(): acquire a reference to the file.
This also fixes a locking botch reported in PR#25738.
 1.48  25-Apr-2004  matt Constify the speedtab arrays
 1.47  29-Jun-2003  fvdl branches: 1.47.2; 1.47.4;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
 1.46  29-Jun-2003  darrenr More changes for providing lwpid for ktrace (sparc GENERIC built)
 1.45  21-Mar-2003  dsl Change 'data' argument to fo_ioctl and fo_fcntl from 'caddr_t' to 'void *'.
Avoids a lot of casting and removes the need for some line breaks.
Removed a load of (caddr_t) casts from calls to copyin/copyout as well.
(approved by christos - he has a plan to remove caddr_t...)
 1.44  23-Feb-2003  pk Make updating a file's reference and use count MP-safe.
 1.43  18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.42  04-Jan-2003  wiz Spell output with two ts.
 1.41  30-May-2002  thorpej Statements must follow labels.
 1.40  16-Mar-2002  christos branches: 1.40.4; 1.40.6;
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.39  02-Mar-2002  mrg move the COMPAT_SUNOS TIOCGPGRP handling in the compat sunos code proper.
this is the final fix needed for it to run properly as an LKM. no more
COMPAT_SUNOS hacks around the tree!
 1.38  13-Nov-2001  lukem add RCSIDs (including regeneration of files as appropriate)
 1.37  14-Jun-2001  thorpej branches: 1.37.2;
Fix a partial construction problem that can cause race conditions
between creation of a file descriptor and close(2) when using kernel
assisted threads. What we do is stick descriptors in the table, but
mark them as "larval". This causes essentially everything to treat
it as a non-existent descriptor, except for fdalloc(), which sees a
filled slot so that it won't (incorrectly) allocate it again. When
a descriptor is fully constructed, the code that has constructed it
marks it as "mature" (which actually clears the "larval" flag), and
things continue to work as normal.

While here, gather all the code that gets a descriptor from the table
into a fd_getfile() function, and call it, rather than having the
same (sometimes incorrect) code copied all over the place.
 1.36  30-May-2001  mrg use _KERNEL_OPT.
 1.35  03-Feb-2001  mrg branches: 1.35.2;
add missing !LKM check, noted by <tih@kpnQwest.no>
 1.34  02-Feb-2001  mrg sunos_ioctl.c is included by sunos32_ioctl.c. include the sunos32 &
netbsd32 headers if we are in sunos32 mode.
 1.33  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.32  27-Jul-2000  mrg fix LP64 warnings.
 1.31  30-Mar-2000  augustss Kill register declarations.
 1.30  09-Aug-1998  perry branches: 1.30.12;
bzero->memset, bcopy->memcpy, bcmp->memcmp
 1.29  20-Jun-1998  mrg use <dev/sun/disklabel.h> for new (old) compat ioctls: DKIOCGGEOM, DKIOCINFO and DKIOCGPART
 1.28  11-Dec-1997  pk Pull in fcntl GETLK/SETLK/UNLK compat functions from SVR4 sibling.
 1.27  19-Oct-1997  is - Doesn't need to privately define AUDIO_SPEAKER and AUDIO_HEADPHONE any
longer.
- XXX Don't access the nonexistant backlog structure element.
 1.26  11-May-1997  jeremy Ignore use of sunos_audioio.monitor_gain because it has no equivalent in the
audio sub-system. It used to use the ``__spare'' member of the audio_info
struct, but that has been removed.
 1.25  02-Jul-1996  pk Translate EIO to ENOTTY after a SunOS `TIOCGETPGRP' (tcgetpgrp(3)) fails
on a pty (see also kern/pty_tty.c).
 1.24  26-May-1996  pk I_SIGSET => I_SETSIG (pointed out by Greg Earle).
 1.23  14-Mar-1996  christos Bring prototypes into scope and fix compiler warnings.
 1.22  28-Feb-1996  pk Insert sunos_sys_fcntl().
 1.21  07-Oct-1995  mycroft Prefix names of system call implementation functions with `sys_'.
 1.20  19-Sep-1995  thorpej Make system calls conform to a standard prototype and bring those
prototypes into scope.
 1.19  11-Jun-1995  pk Go with the flow; use `/emul/sunos' pseudo-root (from Matthew Green).
Note: sunos_stat() and sunos_lstat() were added too.
 1.18  04-May-1995  pk init `mode' field in sunaudiogetinfo().
 1.17  02-Apr-1995  pk Fix TCGETA compat, from Matthew Green.
SunOS `setaudioinfo' does implicit `getaudioinfo'.
Recognise streams flush/setsig ioctls.
 1.16  04-Mar-1995  pk Move SunOS audio_info compat stuff here (from sparc/dev/bsd_audio.c).
 1.15  20-Nov-1994  deraadt improve VMIN/VTIME emulation (from chs+@CS.cmu.edu)
 1.14  31-Oct-1994  deraadt fix CS[5678] code
 1.13  25-Oct-1994  deraadt rename, new syscall interface, etc.
 1.12  20-Oct-1994  cgd pay a small amount of lip service to the new syscall args mechanism.
In reality, none of these will compile.
 1.11  29-Jun-1994  cgd New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
 1.10  21-May-1994  deraadt bail on SIOCGARP
 1.9  26-Apr-1994  pk Fix typo.
Give TIOCTCNTL a try.
 1.8  28-Jan-1994  jtc Fix spelling error in Copyright notice
 1.7  15-Jan-1994  deraadt sync with magnum
 1.6  12-Dec-1993  deraadt m68k/sparc sunos binary compatibility code, pulled down from magnum branch
for consumption by the m68k masses
 1.5  22-Nov-1993  deraadt branches: 1.5.2;
moved from arch/sparc/sunos to compat/sunos
 1.4  20-Nov-1993  deraadt fake support for TIOCSSOFTCAR and TIOCGSOFTCAR
(one of which used to point to NetBSD's TIOCSTAT :-)
 1.3  14-Nov-1993  deraadt disassembly shows the %f2 register being accessed, and of course the
kernel panics.
why wasit using %f2? some expressions were too complicated and gcc2 (with
the optimizer off, mind you) ran out of integer registers and thus used
started using a float register for a temporary.
 1.2  10-Nov-1993  deraadt replacement set of sun ioctl functions. markus wild added a
whole slew of new ioctl's that are much more close to reality.

the comat-sunos tree is now almost good enough to be used in
both m68k and sparc kernels.
 1.1  02-Oct-1993  deraadt Chris Torek's sparc port. Missing lots of things.
 1.5.2.3  28-Dec-1993  pk Pass address of argument in TIOCSIG ioctl function.
One EOPNOTSUPP => ENODEV on tty descriptors.
 1.5.2.2  30-Nov-1993  pk One more ioctl translation (TIOCSIGNAL).
 1.5.2.1  28-Nov-1993  deraadt initial SIOC* support from pk. needs more work.
 1.30.12.3  11-Feb-2001  bouyer Sync with HEAD.
 1.30.12.2  08-Dec-2000  bouyer Sync with HEAD.
 1.30.12.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.35.2.8  07-Jan-2003  thorpej Sync with HEAD.
 1.35.2.7  12-Jul-2002  nathanw No longer need to pull in lwp.h; proc.h pulls it in for us.
 1.35.2.6  20-Jun-2002  nathanw Catch up to -current.
 1.35.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.35.2.4  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.35.2.3  15-Nov-2001  pk LWP system call signature conversion.
 1.35.2.2  14-Nov-2001  nathanw Catch up to -current.
 1.35.2.1  21-Jun-2001  nathanw Catch up to -current.
 1.37.2.3  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.37.2.2  16-Mar-2002  jdolecek Catch up with -current.
 1.37.2.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.40.6.1  30-May-2002  tv Pull up revision 1.41 (requested by thorpej in ticket #92):
Statements must follow labels.
 1.40.4.1  20-Jun-2002  gehenna catch up with -current.
 1.47.4.1  04-Jun-2004  jmc Pullup rev 1.49 (requested by pk in ticket #434)

sunos_ioctl(): acquire a reference to the file. PR#25738
 1.47.2.5  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.47.2.4  21-Nov-2004  skrll Adapt to branch.
 1.47.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.47.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.47.2.1  03-Aug-2004  skrll Sync with HEAD
 1.50.2.6  24-Mar-2008  yamt sync with head.
 1.50.2.5  21-Jan-2008  yamt sync with head
 1.50.2.4  07-Dec-2007  yamt sync with head
 1.50.2.3  03-Sep-2007  yamt sync with head.
 1.50.2.2  26-Feb-2007  yamt sync with head.
 1.50.2.1  21-Jun-2006  yamt sync with head.
 1.51.20.1  30-Jan-2007  ad Remove support for SA. Ok core@.
 1.52.2.2  17-May-2007  yamt sync with head.
 1.52.2.1  12-Mar-2007  rmind Sync with HEAD.
 1.53.4.1  11-Jul-2007  mjf Sync with head.
 1.53.2.2  09-Jun-2007  ad Sync with head.
 1.53.2.1  27-May-2007  ad Sync with head.
 1.56.16.2  26-Dec-2007  ad Sync with head.
 1.56.16.1  08-Dec-2007  ad Sync with head.
 1.56.14.2  27-Dec-2007  mjf Sync with HEAD.
 1.56.14.1  08-Dec-2007  mjf Sync with HEAD.
 1.56.8.1  09-Jan-2008  matt sync with HEAD
 1.56.6.1  09-Dec-2007  jmcneill Sync with HEAD.
 1.58.4.1  02-Jan-2008  bouyer Sync with HEAD
 1.59.6.2  17-Jan-2009  mjf Sync with HEAD.
 1.59.6.1  03-Apr-2008  mjf Sync with HEAD.
 1.60.12.1  19-Jan-2009  skrll Sync with HEAD.
 1.60.10.1  13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.60.6.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.60.6.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.60.4.1  04-May-2009  yamt sync with head.
 1.61.26.1  03-Dec-2017  jdolecek update from HEAD
 1.62.2.2  05-Dec-2016  skrll Sync with HEAD
 1.62.2.1  27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.67.2.1  04-Nov-2016  pgoyette Sync with HEAD
 1.68.16.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.68.16.1  10-Jun-2019  christos Sync with HEAD
 1.68.8.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.69.2.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.

RSS XML Feed