History log of /src/sys/compat/linux/common/linux_socket.h |
Revision | | Date | Author | Comments |
1.27 |
| 28-Jun-2025 |
christos | PR/59486: csaba mate: Ignore IP_MULTICAST_ALL, since we don't have it. Also, add -3 to return ENOPROTOOPT, more options and consistently whitespace after define (the majority had define<space> so make them all the samr)
|
1.26 |
| 27-Jun-2025 |
christos | PR/59486: csaba mate: Ignore IP_MULTICAST_ALL, since we don't have it.
|
1.25 |
| 23-Sep-2021 |
ryo | add support COMPAT_LINUX for aarch64
|
1.24 |
| 24-Aug-2019 |
maxv | Don't read data from userland directly. This simply does not work on any recent x86 CPU (thanks to SMAP) and all architectures that forbid direct access to userland from the kernel. But I guess no one noticed because no one ever uses compat_linux, right?
|
1.23 |
| 03-Feb-2017 |
christos | branches: 1.23.6; 1.23.14; 1.23.18; add sendmmsg and recvmmsg
|
1.22 |
| 27-Jan-2014 |
njoly | branches: 1.22.4; 1.22.6; 1.22.10; 1.22.14; 1.22.16; Add basic IPV6 level socket options support (IPV6_V6ONLY).
|
1.21 |
| 30-Jun-2011 |
wiz | branches: 1.21.2; 1.21.12; 1.21.16; dependant -> dependent
|
1.20 |
| 02-Nov-2010 |
chs | update linux_sys_socket() to understand the flags that are now included in the "type" parameter. in linux_sys_sendmsg(), if we see an SCM_CREDENTIALS control message, just drop it instead of giving an error. the linux and native versions of the cred-passing operation are very different and some apps (eg. linux pulseaudio library talking to a native server) will work without the control data.
|
1.19 |
| 28-Nov-2009 |
dsl | branches: 1.19.2; 1.19.4; Add LINUX_SIOCGIFMTU and LINUX_IP_HDRINCL support. Fixes part of PR/31358 The other parts are rather too intrusive to be fixed as in the PR.
|
1.18 |
| 17-Jun-2009 |
njoly | Add a new linux_msghdr structure, as its size differs on 64bit archs. Do the needed conversions in sendmsg/recvmsg syscalls, and adjust their definitions accordingly.
|
1.17 |
| 16-Jun-2009 |
njoly | Add LINUX_CMSG_{SPACE,LEN} macros. Use then when calculating the msg_controllen size, when converting the control message buffer from native (previous version was missing the linux_cmsghdr size).
|
1.16 |
| 28-Apr-2008 |
martin | branches: 1.16.14; Remove clause 3 and 4 from TNF licenses
|
1.15 |
| 01-Jul-2007 |
dsl | branches: 1.15.28; 1.15.30; 1.15.32; Fix long-term breakage in the definition of 'control' data for linux. cmsg->cmsg_len is 'size_t' not 'socklen_t' - so it is 8 bytes on 64bit platforms instead of 4. There is also never padding after the header. Redo linux sendmsg() so that it stands a chance of getting it right. Redo linux recvmsg() so that it process control data directly from the mbuf list. Allowing it to hack the data without using the stackgap.
|
1.14 |
| 04-Mar-2007 |
christos | branches: 1.14.2; 1.14.4; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
1.13 |
| 11-Dec-2005 |
christos | branches: 1.13.26; merge ktrace-lwp.
|
1.12 |
| 03-May-2005 |
manu | branches: 1.12.2; First work on COMPAT_LINUX/amd64 Process startup and dynamiclinking work, but processes hang due to Linux arch_prctl(2) not being really supported yet.
|
1.11 |
| 27-Jul-2003 |
jdolecek | More complete sendmsg(2) and recvmsg(2) emulation: * translate MSG_* flags * rewrite CMSG level/type to appropriate NetBSD value on input, and to Linux value on output * handle different CMSG_DATA alignment for some archs
This fixes SCM_RIGHTS passing. Other SCM_* types are not supported - the set is different on NetBSD and Linux. SCM_TIMESTAMP doesn't seem to be actually implemented in Linux 2.5.15, so it's not supported for Linux binaries either (for now).
PR: 21577 by Todd Vierling
|
1.10 |
| 14-Jan-2002 |
bjh21 | branches: 1.10.10; 1.10.16; Crude first cut at ARMLinux binary compatibility. Successfully runs "/emul/linux/bin/echo hello, world", dynamically linked.
|
1.9 |
| 22-Sep-2001 |
manu | Enable Mips Linux emulation in header files
|
1.8 |
| 19-Jan-2001 |
manu | branches: 1.8.2; 1.8.4; 1.8.6; Added Linux compatibility support for powerpc ports
|
1.7 |
| 15-Dec-1998 |
itohy | branches: 1.7.8; Added linux compat support on m68k ports.
|
1.6 |
| 04-Oct-1998 |
fvdl | Assign my copyright to TNF. Merge with others were appropriate. Regen syscall files after script change.
|
1.5 |
| 03-Oct-1998 |
christos | Attempt to fix the mess.
|
1.4 |
| 01-Oct-1998 |
erh | Split linux_socket.h into i386 and common parts.
|
1.3 |
| 28-May-1995 |
mycroft | Convert TCP socket options.
|
1.2 |
| 28-May-1995 |
mycroft | Convert IP socket options.
|
1.1 |
| 28-Feb-1995 |
fvdl | Added Linux compat code.
|
1.7.8.1 |
| 11-Feb-2001 |
bouyer | Sync with HEAD.
|
1.8.6.1 |
| 01-Oct-2001 |
fvdl | Catch up with -current.
|
1.8.4.2 |
| 11-Feb-2002 |
jdolecek | Sync w/ -current.
|
1.8.4.1 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.8.2.2 |
| 28-Feb-2002 |
nathanw | Catch up to -current.
|
1.8.2.1 |
| 26-Sep-2001 |
nathanw | Catch up to -current. Again.
|
1.10.16.4 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.10.16.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.10.16.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.10.16.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.10.10.1 |
| 22-Oct-2003 |
jmc | Pullup rev 1.11 (requested by tv in ticket #1425)
More complete sendmsg(2) and recvmsg(2) emulation: * translate MSG_* flags * rewrite CMSG level/type to appropriate NetBSD value on input, and to Linux value on output * handle different CMSG_DATA alignment for some archs
This fixes SCM_RIGHTS passing. Other SCM_* types are not supported - the set is different on NetBSD and Linux. SCM_TIMESTAMP doesn't seem to be actually implemented in Linux 2.5.15, so it's not supported for Linux binaries either (for now).
|
1.12.2.1 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.13.26.1 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.14.4.1 |
| 11-Jul-2007 |
mjf | Sync with head.
|
1.14.2.1 |
| 15-Jul-2007 |
ad | Sync with head.
|
1.15.32.3 |
| 11-Mar-2010 |
yamt | sync with head
|
1.15.32.2 |
| 20-Jun-2009 |
yamt | sync with head
|
1.15.32.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.15.30.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.15.28.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.16.14.1 |
| 23-Jul-2009 |
jym | Sync with HEAD.
|
1.19.4.1 |
| 05-Mar-2011 |
rmind | sync with head
|
1.19.2.1 |
| 06-Nov-2010 |
uebayasi | Sync with HEAD.
|
1.21.16.1 |
| 18-May-2014 |
rmind | sync with head
|
1.21.12.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.21.12.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.21.2.1 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.22.16.1 |
| 21-Jan-2020 |
martin | Pull up the following, requested by christos in ticket #1720:
sys/compat/common/kern_sig_43.c 1.36 sys/compat/linux/arch/amd64/linux_machdep.c 1.59 sys/compat/linux/common/linux_fcntl.h 1.18 sys/compat/linux/common/linux_file64.c 1.62 sys/compat/linux/common/linux_ipc.c 1.57 sys/compat/linux/common/linux_misc.c 1.243 sys/compat/linux/common/linux_signal.c 1.81 sys/compat/linux/common/linux_socket.c 1.149 (patch) sys/compat/linux/common/linux_socket.h 1.24 sys/compat/linux/common/linux_statfs.h 1.7 sys/compat/linux/common/linux_termios.c 1.38 sys/compat/linux/common/linux_termios.h 1.22 sys/compat/linux32/common/linux32_dirent.c 1.20 sys/compat/linux32/common/linux32_ioctl.c 1.14 sys/compat/linux32/common/linux32_misc.c 1.27 sys/compat/linux32/common/linux32_signal.c 1.20 sys/compat/linux32/common/linux32_sysinfo.c 1.8 sys/compat/linux32/common/linux32_termios.c 1.15 sys/compat/linux32/common/linux32_utsname.c 1.10 sys/compat/netbsd32/netbsd32_compat_20.c 1.39 sys/compat/netbsd32/netbsd32_compat_43.c 1.59 sys/compat/netbsd32/netbsd32_compat_50.c 1.44 sys/compat/ossaudio/ossaudio.c 1.75 sys/kern/sysv_shm.c 1.138 sys/miscfs/procfs/procfs_linux.c 1.75 (patch) sys/sys/shm.h 1.54 (patch)
Fix various info leaks, out of bound access, usage of uninitialized values and direct access to userland variables from kernel space and memory leaks in system calls implemented for the compatibility subsystems.
|
1.22.14.1 |
| 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.22.10.1 |
| 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.22.6.1 |
| 05-Feb-2017 |
skrll | Sync with HEAD
|
1.22.4.1 |
| 21-Jan-2020 |
martin | Pull up the following, requested by christos in ticket #1720:
sys/compat/common/kern_sig_43.c 1.36 sys/compat/linux/arch/amd64/linux_machdep.c 1.59 sys/compat/linux/common/linux_fcntl.h 1.18 sys/compat/linux/common/linux_file64.c 1.62 sys/compat/linux/common/linux_ipc.c 1.57 sys/compat/linux/common/linux_misc.c 1.243 sys/compat/linux/common/linux_signal.c 1.81 sys/compat/linux/common/linux_socket.c 1.149 (patch) sys/compat/linux/common/linux_socket.h 1.24 sys/compat/linux/common/linux_statfs.h 1.7 sys/compat/linux/common/linux_termios.c 1.38 sys/compat/linux/common/linux_termios.h 1.22 sys/compat/linux32/common/linux32_dirent.c 1.20 sys/compat/linux32/common/linux32_ioctl.c 1.14 sys/compat/linux32/common/linux32_misc.c 1.27 sys/compat/linux32/common/linux32_signal.c 1.20 sys/compat/linux32/common/linux32_sysinfo.c 1.8 sys/compat/linux32/common/linux32_termios.c 1.15 sys/compat/linux32/common/linux32_utsname.c 1.10 sys/compat/netbsd32/netbsd32_compat_20.c 1.39 sys/compat/netbsd32/netbsd32_compat_43.c 1.59 sys/compat/netbsd32/netbsd32_compat_50.c 1.44 sys/compat/ossaudio/ossaudio.c 1.75 sys/kern/sysv_shm.c 1.138 sys/miscfs/procfs/procfs_linux.c 1.75 (patch) sys/sys/shm.h 1.54 (patch)
Fix various info leaks, out of bound access, usage of uninitialized values and direct access to userland variables from kernel space and memory leaks in system calls implemented for the compatibility subsystems.
|
1.23.18.1 |
| 13-Sep-2019 |
martin | Pull up following revision(s) (requested by maxv in ticket #194):
sys/compat/linux/common/linux_socket.c: revision 1.146 sys/compat/linux/common/linux_socket.c: revision 1.147 sys/compat/linux/common/linux_socket.c: revision 1.148 sys/compat/linux/common/linux_socket.c: revision 1.149 sys/compat/linux/arch/amd64/linux_machdep.c: revision 1.59 sys/compat/linux32/common/linux32_sysinfo.c: revision 1.8 sys/kern/sysv_shm.c: revision 1.138 sys/compat/linux/common/linux_file64.c: revision 1.61 sys/compat/linux/common/linux_file64.c: revision 1.62 sys/compat/netbsd32/netbsd32_compat_43.c: revision 1.58 sys/compat/linux32/common/linux32_dirent.c: revision 1.20 sys/compat/linux32/common/linux32_utsname.c: revision 1.10 sys/compat/linux/common/linux_termios.h: revision 1.22 sys/compat/linux32/common/linux32_termios.c: revision 1.15 sys/compat/linux32/common/linux32_misc.c: revision 1.27 sys/compat/linux32/common/linux32_ioctl.c: revision 1.14 sys/compat/linux/common/linux_statfs.h: revision 1.7 sys/compat/linux/common/linux_ipc.c: revision 1.57 sys/compat/linux/common/linux_fcntl.h: revision 1.18 sys/compat/linux/common/linux_socket.h: revision 1.24 sys/sys/shm.h: revision 1.54 sys/compat/ossaudio/ossaudio.c: revision 1.75 sys/compat/linux32/common/linux32_signal.c: revision 1.20 sys/miscfs/procfs/procfs_linux.c: revision 1.75 sys/compat/linux/common/linux_signal.c: revision 1.81 sys/compat/linux/common/linux_termios.c: revision 1.38 sys/compat/linux/common/linux_misc.c: revision 1.241 sys/compat/linux/common/linux_misc.c: revision 1.242 sys/compat/linux/common/linux_misc.c: revision 1.243 sys/compat/linux/common/linux_misc.c: revision 1.244
Fix info leaks.
Fix stupid bugs in linux_sys_shmctl(): the index could be out of bound (page fault) and there was no proper locking. Maybe we should just remove LINUX_SHM_STAT, like compat_linux32.
Remove printf.
When dealing with an unknown value, set -1, to prevent (harmless) uninitialized accesses later.
Add a default case, don't call sys_ioctl() with an uninitialized 'com' argument.
Fix error handling, returns an errno, not -1.
Put the printf under DEBUG_LINUX.
Hum, don't forget the 'pid' argument, otherwise we're not gonna go very far.
Don't read data from userland directly. This simply does not work on any recent x86 CPU (thanks to SMAP) and all architectures that forbid direct access to userland from the kernel. But I guess no one noticed because no one ever uses compat_linux, right?
Hum, don't pass an mbuf to realloc(). Inspired from copyin32_msg_control().
Fix memory leak.
I don't see the point in having this useless printf, but add a '\n' to it, so that it at least displays useless stuff correctly.
Hum, remove incorrect assignment. Userland could have passed a smaller namelen, and the uninitialized bytes from sb_data were being used later in the network stack.
|
1.23.14.1 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.23.6.1 |
| 21-Jan-2020 |
martin | Pull up the following, requested by christos in ticket #1487:
sys/compat/common/kern_sig_43.c 1.36 sys/compat/linux/arch/amd64/linux_machdep.c 1.59 sys/compat/linux/common/linux_fcntl.h 1.18 sys/compat/linux/common/linux_file64.c 1.62 sys/compat/linux/common/linux_ipc.c 1.57 sys/compat/linux/common/linux_misc.c 1.243 sys/compat/linux/common/linux_signal.c 1.81 sys/compat/linux/common/linux_socket.c 1.149 sys/compat/linux/common/linux_socket.h 1.24 sys/compat/linux/common/linux_statfs.h 1.7 sys/compat/linux/common/linux_termios.c 1.38 sys/compat/linux/common/linux_termios.h 1.22 sys/compat/linux32/common/linux32_dirent.c 1.20 sys/compat/linux32/common/linux32_ioctl.c 1.14 sys/compat/linux32/common/linux32_misc.c 1.27 sys/compat/linux32/common/linux32_signal.c 1.20 sys/compat/linux32/common/linux32_sysinfo.c 1.8 sys/compat/linux32/common/linux32_termios.c 1.15 sys/compat/linux32/common/linux32_utsname.c 1.10 sys/compat/netbsd32/netbsd32_compat_20.c 1.39 sys/compat/netbsd32/netbsd32_compat_43.c 1.59 sys/compat/netbsd32/netbsd32_compat_50.c 1.44 sys/compat/ossaudio/ossaudio.c 1.75 sys/kern/sysv_shm.c 1.138 sys/miscfs/procfs/procfs_linux.c 1.75 (patch) sys/sys/shm.h 1.54
Fix various info leaks, out of bound access, usage of uninitialized values and direct access to userland variables from kernel space and memory leaks in system calls implemented for the compatibility subsystems.
|