| Age | Commit message (Collapse) | Author |
|
- Provide if_release for consistency to if_acquire
- Use if_acquire and if_release for ifp iterations
- Make ifnet_psref_class static
|
|
|
|
|
|
|
|
|
|
by the caller. Use this in compat_netbsd32 to log the 32bit version, so
the 32bit userland kdump is happy.
|
|
This change makes struct ifaddr and its variants (in_ifaddr and in6_ifaddr)
MP-safe by using pserialize and psref. At this moment, pserialize_perform
and psref_target_destroy are disabled because (1) we don't need them
because of softnet_lock (2) they cause a deadlock because of softnet_lock.
So we'll enable them when we remove softnet_lock in the future.
|
|
As usual, we leave the old list to avoid breaking kvm(3) users.
|
|
|
|
|
|
|
|
The change ensures that ifnet objects in the ifnet list aren't freed during
list iterations by using pserialize(9) and psref(9).
Note that the change adds a pslist(9) for ifnet but doesn't remove the
original ifnet list (ifnet_list) to avoid breaking kvm(3) users. We
shouldn't use the original list in the kernel anymore.
|
|
Found by Brainy.
|
|
pass the pointer to the sockaddr in msghdr.msg_name, while removing
the MSG_NAMEMBUF flag.
now that the original linux_get_sa() is unused remove it and to make
function names consistent again rename linux_get_sa_sb() to linux_get_sa().
|
|
nam parameter type from buf * to sockaddr *.
final commit for parameter type changes to protocol user requests
* bump kernel version to 7.99.15 for parameter type changes to pr_{send,connect}
|
|
* update protocol bind implementations to use/expect sockaddr *
instead of mbuf *
* introduce sockaddr_big struct for storage of addr data passed via
sys_bind; sockaddr_big is of sufficient size and alignment to
accommodate all addr data sizes received.
* modify sys_bind to allocate sockaddr_big instead of using an mbuf.
* bump kernel version to 7.99.9 for change to pr_bind() parameter type.
Patch posted to tech-net@
http://mail-index.netbsd.org/tech-net/2015/03/15/msg005004.html
The choice to use a new structure sockaddr_big has been retained since
changing sockaddr_storage size would lead to unnecessary ABI change. The
use of the new structure does not preclude future work that increases
the size of sockaddr_storage and at that time sockaddr_big may be
trivially replaced.
Tested by mrg@ and myself, discussed with rmind@, posted to tech-net@
|
|
The tweaks make the code intention clear and make further changes easy.
No functional change.
|
|
No functional change.
|
|
|
|
Use it for socket and socketpair syscalls.
|
|
if_byindex() function.
|
|
|
|
options.
|
|
as the netbsd ones, but this disconnects them)
|
|
|
|
|
|
again. This was changed in sys/socket.h r1.51 to work around fallout
from the IPv6 aux data migration. It broke the historic ABI on some
platforms. This commit restores compatibility for netbsd32 code on such
platforms and provides a template for future changes to the CMSG_*
alignment. Revert PCC/Clang workarounds in postfix and tmux.
|
|
- Introduce MSG_NBIO so that we can turn non blocking i/o on a per call basis
- Use MSG_NBIO to fix the XXX: multi-threaded issues on the fifo sockets.
- Don't set SO_CANTRCVMORE, if we were interrupted (perhaps do it for all
errors?).
|
|
|
|
|
|
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.
|
|
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().
|