own firmware one in ../libdos. If the latter, switching and bringing
in the libsa one (a) might not work and (b) might make the bootloader
overflow size limits.
PR 51200.
The exact name isn't that important; but it is important not to use
"gets_s" and thereby allow anyone to falsely get the impression we're
implementing Annex K. We aren't.
ok core.
Having a pointer of an interface in a mbuf isn't safe if we remove big
kernel locks; an interface object (ifnet) can be destroyed anytime in any
packet processing and accessing such object via a pointer is racy. Instead
we have to get an object from the interface collection (ifindex2ifnet) via
an interface index (if_index) that is stored to a mbuf instead of an
pointer.
The change provides two APIs: m_{get,put}_rcvif_psref that use psref(9)
for sleep-able critical sections and m_{get,put}_rcvif that use
pserialize(9) for other critical sections. The change also adds another
API called m_get_rcvif_NOMPSAFE, that is NOT MP-safe and for transition
moratorium, i.e., it is intended to be used for places where are not
planned to be MP-ified soon.
The change adds some overhead due to psref to performance sensitive paths,
however the overhead is not serious, 2% down at worst.
Proposed on tech-kern and tech-net.
The API is used to set (or reset) a received interface of a mbuf.
They are counterpart of m_get_rcvif, which will come in another
commit, hide internal of rcvif operation, and reduce the diff of
the upcoming change.
No functional change.
+ add a -r argument to agrep(1) and document it. This has the same
effect as the -r flag to grep(1) - perform a recursive search
through sub-directories.
+ if a match is found in a "binary" file, then do the same as grep(1)
and just print the message that a match was found in the file, without
attempting to print the match in full.
in libutil where the opd() function conflicts with the .opd section.
remove a couple of tainted defines that are handled differently now.
this, with mknative-gcc as well, enables ppc64 world to build again.