| Age | Commit message (Collapse) | Author |
|
Fixes part of PR/31358
The other parts are rather too intrusive to be fixed as in the PR.
|
|
|
|
|
|
Do the needed conversions in sendmsg/recvmsg syscalls, and adjust
their definitions accordingly.
|
|
msg_controllen size, when converting the control message buffer from
native (previous version was missing the linux_cmsghdr size).
|
|
native one.
|
|
buffers with ktrace(1), just like the native functions.
|
|
|
|
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
|
|
instead of laying everything into an mbuf.
approved by core
|
|
structure and linux_getifconf function (cleaned up version from
compat_ifconf).
While here, update linux_getifhwaddr to use the new structure.
Ok by christos.
|
|
|
|
msg_flags; add it only if a target adress was provided and needs to be
converted.
|
|
will make a panic later when trying to free memory from a random
adress.
XXX Need to revisit it later to avoid mbuf allocation in this case.
|
|
Avoid kernel DIAGNOSTIC 0 bytes uvm mapping assertion, for negative
values.
|
|
|
|
- Socket layer becomes MP safe.
- Unix protocols become MP safe.
- Allows protocol processing interrupts to safely block on locks.
- Fixes a number of race conditions.
With much feedback from matt@ and plunky@.
|
|
|
|
- Use fd_getsock().
|
|
|
|
1.173 for details.
|
|
|
|
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.
|
|
All by the magic of sed ...
|
|
|
|
x.if_list.tqe_next). Instead, use the macros themselves.
Use IFNET_FOREACH() and IFADDR_FOREACH().
|
|
|
|
- Add needed COMPAT_OSSAUDIO to GENERIC.
- Add missing includes needed by linux_syscallargs.h.
- Add lkm building.
|
|
|
|
|
|
on tech-kern.
|
|
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.
|
|
|
|
|
|
once the 'address' has been copied into an mbuf.
Add extra flags for 'struct msghdr.msg_flags' to indicate that the address
and control are already in mbufs, and that the uio structure is in userspace
for sending data, rename sendit() to do_sys_sendmsg() to ensure no old code
passes in random flags.
Changes to compat code to use new functions - removing some stackgap use.
Fix a 'use after free' in compat_43_sys_recvmsg.
I ***THINK*** the code that converts 'cmsg' formatted data is borked!
svr4_stream.c ought to be generated from svr4_32_stream.c during the build.
|
|
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.
|
|
|
|
|
|
|
|
|
|
- fix a couple of unused bugs
- no more -Wno-unused for i386
|
|
|
|
|
|
least Linux 2.4.31, Irix 6.5.20 and Solaris 10) use EAFNOSUPPORT.
Only the Linux emulation has been tested.
XXX somebody should audit the other emulations...
|
|
EPROTONOSUPPORT instead of EAFNOSUPPORT.
from pavel@ with a little bit of clean up from myself.
XXX: netbsd32 (and perhaps other emulations) should be able
XXX: to call the standard socket calls for this i think, but
XXX: revisit this at another time.
|
|
|
|
|
|
|
|
that the i386 license manager part of amd64 version of Fluent works.
While I'm here, add SysV IPC to COMPAT_LINUX/amd64
|
|
|