History log of /freebsd/sys/net/bpf.c (Results 26 – 50 of 2472)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# de253273 28-May-2019 Andrey V. Elsukov <ae@FreeBSD.org>

Rework r348303 to reduce the time of holding global BPF lock.

It appeared that using NET_EPOCH_WAIT() while holding global BPF lock
can lead to another panic:

spin lock 0xfffff800183c9840 (turnstil

Rework r348303 to reduce the time of holding global BPF lock.

It appeared that using NET_EPOCH_WAIT() while holding global BPF lock
can lead to another panic:

spin lock 0xfffff800183c9840 (turnstile lock) held by 0xfffff80018e2c5a0 (tid 100325) too long
panic: spin lock held too long
...
#0 sched_switch (td=0xfffff80018e2c5a0, newtd=0xfffff8000389e000, flags=<optimized out>) at /usr/src/sys/kern/sched_ule.c:2133
#1 0xffffffff80bf9912 in mi_switch (flags=256, newtd=0x0) at /usr/src/sys/kern/kern_synch.c:439
#2 0xffffffff80c21db7 in sched_bind (td=<optimized out>, cpu=<optimized out>) at /usr/src/sys/kern/sched_ule.c:2704
#3 0xffffffff80c34c33 in epoch_block_handler_preempt (global=<optimized out>, cr=0xfffffe00005a1a00, arg=<optimized out>)
at /usr/src/sys/kern/subr_epoch.c:394
#4 0xffffffff803c741b in epoch_block (global=<optimized out>, cr=<optimized out>, cb=<optimized out>, ct=<optimized out>)
at /usr/src/sys/contrib/ck/src/ck_epoch.c:416
#5 ck_epoch_synchronize_wait (global=0xfffff8000380cd80, cb=<optimized out>, ct=<optimized out>) at /usr/src/sys/contrib/ck/src/ck_epoch.c:465
#6 0xffffffff80c3475e in epoch_wait_preempt (epoch=0xfffff8000380cd80) at /usr/src/sys/kern/subr_epoch.c:513
#7 0xffffffff80ce970b in bpf_detachd_locked (d=0xfffff801d309cc00, detached_ifp=<optimized out>) at /usr/src/sys/net/bpf.c:856
#8 0xffffffff80ced166 in bpf_detachd (d=<optimized out>) at /usr/src/sys/net/bpf.c:836
#9 bpf_dtor (data=0xfffff801d309cc00) at /usr/src/sys/net/bpf.c:914

To fix this add the check to the catchpacket() that BPF descriptor was
not detached just before we acquired BPFD_LOCK().

Reported by: slavash
Tested by: slavash
MFC after: 1 week

show more ...


# 44a51474 27-May-2019 Andrey V. Elsukov <ae@FreeBSD.org>

Fix possible NULL pointer dereference.

bpf_mtap() can invoke catchpacket() for already detached descriptor.
And this can lead to NULL pointer dereference, since bd_bif pointer
was reset to NULL in b

Fix possible NULL pointer dereference.

bpf_mtap() can invoke catchpacket() for already detached descriptor.
And this can lead to NULL pointer dereference, since bd_bif pointer
was reset to NULL in bpf_detachd_locked(). To avoid this, use
NET_EPOCH_WAIT() when descriptor is removed from interface's descriptors
list. After the wait it is safe to modify descriptor's content.

Submitted by: kib
Reported by: slavash
MFC after: 1 week

show more ...


# fb3bc596 24-May-2019 John Baldwin <jhb@FreeBSD.org>

Restructure mbuf send tags to provide stronger guarantees.

- Perform ifp mismatch checks (to determine if a send tag is allocated
for a different ifp than the one the packet is being output on), i

Restructure mbuf send tags to provide stronger guarantees.

- Perform ifp mismatch checks (to determine if a send tag is allocated
for a different ifp than the one the packet is being output on), in
ip_output() and ip6_output(). This avoids sending packets with send
tags to ifnet drivers that don't support send tags.

Since we are now checking for ifp mismatches before invoking
if_output, we can now try to allocate a new tag before invoking
if_output sending the original packet on the new tag if allocation
succeeds.

To avoid code duplication for the fragment and unfragmented cases,
add ip_output_send() and ip6_output_send() as wrappers around
if_output and nd6_output_ifp, respectively. All of the logic for
setting send tags and dealing with send tag-related errors is done
in these wrapper functions.

For pseudo interfaces that wrap other network interfaces (vlan and
lagg), wrapper send tags are now allocated so that ip*_output see
the wrapper ifp as the ifp in the send tag. The if_transmit
routines rewrite the send tags after performing an ifp mismatch
check. If an ifp mismatch is detected, the transmit routines fail
with EAGAIN.

- To provide clearer life cycle management of send tags, especially
in the presence of vlan and lagg wrapper tags, add a reference count
to send tags managed via m_snd_tag_ref() and m_snd_tag_rele().
Provide a helper function (m_snd_tag_init()) for use by drivers
supporting send tags. m_snd_tag_init() takes care of the if_ref
on the ifp meaning that code alloating send tags via if_snd_tag_alloc
no longer has to manage that manually. Similarly, m_snd_tag_rele
drops the refcount on the ifp after invoking if_snd_tag_free when
the last reference to a send tag is dropped.

This also closes use after free races if there are pending packets in
driver tx rings after the socket is closed (e.g. from tcpdrop).

In order for m_free to work reliably, add a new CSUM_SND_TAG flag in
csum_flags to indicate 'snd_tag' is set (rather than 'rcvif').
Drivers now also check this flag instead of checking snd_tag against
NULL. This avoids false positive matches when a forwarded packet
has a non-NULL rcvif that was treated as a send tag.

- cxgbe was relying on snd_tag_free being called when the inp was
detached so that it could kick the firmware to flush any pending
work on the flow. This is because the driver doesn't require ACK
messages from the firmware for every request, but instead does a
kind of manual interrupt coalescing by only setting a flag to
request a completion on a subset of requests. If all of the
in-flight requests don't have the flag when the tag is detached from
the inp, the flow might never return the credits. The current
snd_tag_free command issues a flush command to force the credits to
return. However, the credit return is what also frees the mbufs,
and since those mbufs now hold references on the tag, this meant
that snd_tag_free would never be called.

To fix, explicitly drop the mbuf's reference on the snd tag when the
mbuf is queued in the firmware work queue. This means that once the
inp's reference on the tag goes away and all in-flight mbufs have
been queued to the firmware, tag's refcount will drop to zero and
snd_tag_free will kick in and send the flush request. Note that we
need to avoid doing this in the middle of ethofld_tx(), so the
driver grabs a temporary reference on the tag around that loop to
defer the free to the end of the function in case it sends the last
mbuf to the queue after the inp has dropped its reference on the
tag.

- mlx5 preallocates send tags and was using the ifp pointer even when
the send tag wasn't in use. Explicitly use the ifp from other data
structures instead.

- Sprinkle some assertions in various places to assert that received
packets don't have a send tag, and that other places that overwrite
rcvif (e.g. 802.11 transmit) don't clobber a send tag pointer.

Reviewed by: gallatin, hselasky, rgrimes, ae
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D20117

show more ...


# e2e050c8 20-May-2019 Conrad Meyer <cem@FreeBSD.org>

Extract eventfilter declarations to sys/_eventfilter.h

This allows replacing "sys/eventfilter.h" includes with "sys/_eventfilter.h"
in other header files (e.g., sys/{bus,conf,cpu}.h) and reduces hea

Extract eventfilter declarations to sys/_eventfilter.h

This allows replacing "sys/eventfilter.h" includes with "sys/_eventfilter.h"
in other header files (e.g., sys/{bus,conf,cpu}.h) and reduces header
pollution substantially.

EVENTHANDLER_DECLARE and EVENTHANDLER_LIST_DECLAREs were moved out of .c
files into appropriate headers (e.g., sys/proc.h, powernv/opal.h).

As a side effect of reduced header pollution, many .c files and headers no
longer contain needed definitions. The remainder of the patch addresses
adding appropriate includes to fix those files.

LOCK_DEBUG and LOCK_FILE_LINE_ARG are moved to sys/_lock.h, as required by
sys/mutex.h since r326106 (but silently protected by header pollution prior
to this change).

No functional change (intended). Of course, any out of tree modules that
relied on header pollution for sys/eventhandler.h, sys/lock.h, or
sys/mutex.h inclusion need to be fixed. __FreeBSD_version has been bumped.

show more ...


# 82d7bf6b 13-May-2019 Andrey V. Elsukov <ae@FreeBSD.org>

Avoid possible recursion on BPF_LOCK() in bpfwrite().

Release BPF_LOCK() before invoking if_output() and if_input().
Also enter epoch section before releasing lock, this should prevent
access to ifn

Avoid possible recursion on BPF_LOCK() in bpfwrite().

Release BPF_LOCK() before invoking if_output() and if_input().
Also enter epoch section before releasing lock, this should prevent
access to ifnet that may be freed on interface detach.

Reported by: markj

show more ...


# af1f58df 13-May-2019 Andrey V. Elsukov <ae@FreeBSD.org>

Do not leak memory used for binary filter.


# 699281b5 13-May-2019 Andrey V. Elsukov <ae@FreeBSD.org>

Rework locking in BPF code to remove rwlock from fast path.

On high packets rate the contention on rwlock in bpf_*tap*() functions
can lead to packets dropping. To avoid this, migrate this code to u

Rework locking in BPF code to remove rwlock from fast path.

On high packets rate the contention on rwlock in bpf_*tap*() functions
can lead to packets dropping. To avoid this, migrate this code to use
epoch(9) KPI and ConcurrencyKit's lists.

* all lists changed to use CK_LIST;
* reference counting added to bpf_if and bpf_d;
* now bpf_if references ifnet and releases this reference on destroy;
* each bpf_d descriptor references bpf_if when it is attached;
* new struct bpf_program_buffer introduced to keep BPF filter programs;
* bpf_program_buffer, bpf_d and bpf_if structures are freed by
epoch_call();
* bpf_freelist and ifnet_departure event are no longer needed, thus
both are removed;

Reviewed by: melifaro
Sponsored by: Yandex LLC
Differential Revision: https://reviews.freebsd.org/D20224

show more ...


# c5be49da 19-Mar-2019 Andrey V. Elsukov <ae@FreeBSD.org>

Convert allocation of bpf_if in bpfattach2 from M_NOWAIT to M_WAITOK
and remove possible panic condition.

It is already allowed to sleep in bpfattach[2], since BPF_LOCK was
converted to SX lock in r

Convert allocation of bpf_if in bpfattach2 from M_NOWAIT to M_WAITOK
and remove possible panic condition.

It is already allowed to sleep in bpfattach[2], since BPF_LOCK was
converted to SX lock in r332388. Also move KASSERT() to the top of
function and make full initialization before bpf_if will be linked
to BPF's list of interfaces.

MFC after: 2 weeks

show more ...


# 5f901c92 24-Jul-2018 Andrew Turner <andrew@FreeBSD.org>

Use the new VNET_DEFINE_STATIC macro when we are defining static VNET
variables.

Reviewed by: bz
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D16147


# ca3cd72b 19-Jun-2018 Andrey V. Elsukov <ae@FreeBSD.org>

Move BPFIF_* macro definitions into .c file, where struct bpf_if is
declared.

They are only used in this file and there is no need to export them via
bpfdesc.h.


# 16a227c7 11-Jun-2018 Jonathan T. Looney <jtl@FreeBSD.org>

Fix a memory leak for the BIOCSETWF ioctl on kernels with the BPF_JITTER
option.

The BPF code was creating a compiled filter in the common filter-creation
path. However, BPF only uses compiled filt

Fix a memory leak for the BIOCSETWF ioctl on kernels with the BPF_JITTER
option.

The BPF code was creating a compiled filter in the common filter-creation
path. However, BPF only uses compiled filters in the read direction.
When creating a write filter, the common filter-creation code was
creating an unneeded write filter and leaking the memory used for that.

MFC after: 2 weeks
Sponsored by: Netflix

show more ...


# 8bd1f0cf 24-Apr-2018 Mark Johnston <markj@FreeBSD.org>

Use dead_bpf_if instead of bp_null.

This fixes a -Wunused error when DEV_BPF and NETGRAPH_BPF are not
defined.

Also remove a stray semicolon added in r332812.

X-MFC with: r332812


# 2b9600b4 20-Apr-2018 Andrey V. Elsukov <ae@FreeBSD.org>

Add dead_bpf_if structure, that should be used as fake bpf_if
during ifnet detach.

Since destroying interface is not atomic operation and due to the
lack of synhronization during destroy, it is poss

Add dead_bpf_if structure, that should be used as fake bpf_if
during ifnet detach.

Since destroying interface is not atomic operation and due to the
lack of synhronization during destroy, it is possible, that in the
time between bpfdetach() and if_free() some queued on destroying
interface mbuf will be used by ether_input_internal() and
bpf_peers_present() can dereference NULL bpf_if pointer. To protect
from this, assign pointer to empty bpf_if_ext structure instead of
NULL pointer after bpfdetach().

Reviewed by: melifaro, eugen
Obtained from: Yandex LLC
MFC after: 1 week
Sponsored by: Yandex LLC
Differential Revision: https://reviews.freebsd.org/D15083

show more ...


# f422673e 10-Apr-2018 Stephen Hurd <shurd@FreeBSD.org>

Make BPF global lock an SX

This allows NIC drivers to sleep on polling config operations.

Submitted by: Matthew Macy <mmacy@mattmacy.io>
Reviewed by: shurd
Sponsored by: Limelight Networks
Differen

Make BPF global lock an SX

This allows NIC drivers to sleep on polling config operations.

Submitted by: Matthew Macy <mmacy@mattmacy.io>
Reviewed by: shurd
Sponsored by: Limelight Networks
Differential Revision: https://reviews.freebsd.org/D14982

show more ...


# 6469bdcd 06-Apr-2018 Brooks Davis <brooks@FreeBSD.org>

Move most of the contents of opt_compat.h to opt_global.h.

opt_compat.h is mentioned in nearly 180 files. In-progress network
driver compabibility improvements may add over 100 more so this is
close

Move most of the contents of opt_compat.h to opt_global.h.

opt_compat.h is mentioned in nearly 180 files. In-progress network
driver compabibility improvements may add over 100 more so this is
closer to "just about everywhere" than "only some files" per the
guidance in sys/conf/options.

Keep COMPAT_LINUX32 in opt_compat.h as it is confined to a subset of
sys/compat/linux/*.c. A fake _COMPAT_LINUX option ensure opt_compat.h
is created on all architectures.

Move COMPAT_LINUXKPI to opt_dontuse.h as it is only used to control the
set of compiled files.

Reviewed by: kib, cem, jhb, jtl
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D14941

show more ...


# b2b7ca49 20-Mar-2018 Alexander V. Chernikov <melifaro@FreeBSD.org>

Use count(9) api for the bpf(4) statistics.

Currently each bfp descriptor uses u64 variables to maintain its counters.
On interfaces with high packet rate this leads to unnecessary contention
and in

Use count(9) api for the bpf(4) statistics.

Currently each bfp descriptor uses u64 variables to maintain its counters.
On interfaces with high packet rate this leads to unnecessary contention
and inaccurate reporting.

PR: kern/205320
Reported by: elofu17 at hotmail.com
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D14726

show more ...


Revision tags: vendor/device-tree/4.15, vendor/acpica/20180209, vendor/lld/lld-release_60-r324090, vendor/clang/clang-release_60-r324090, vendor/llvm/llvm-release_60-r324090, vendor/lld/lld-release_60-r323948, vendor/compiler-rt/compiler-rt-release_60-r323948, vendor/compiler-rt/compiler-rt-release_60-r324090, vendor/clang/clang-release_60-r323948, vendor/llvm/llvm-release_60-r323948
# 74549d4b 25-Jan-2018 Wojciech Macek <wma@FreeBSD.org>

BPF: Switch to 32 bit compatible mode only when thread is 32 bit

Sometimes 32 bit and 64 bit ioctls are represented by the same number.
It causes unnecessary switch to 32 bit commpatible mode.

This

BPF: Switch to 32 bit compatible mode only when thread is 32 bit

Sometimes 32 bit and 64 bit ioctls are represented by the same number.
It causes unnecessary switch to 32 bit commpatible mode.

This patch prevents switching when we are dealing with 64 bit executable.
It fixes issue mentioned here

Authored by: Patryk Duda <pdk@semihalf.com>
Submitted by: Wojciech Macek <wma@semihalf.com>
Reviewed by: andrew, wma
Obtained from: Semihalf
Sponsored by: IBM, QCM Technologies
Differential revision: https://reviews.freebsd.org/D14023

show more ...


Revision tags: vendor/lldb/lldb-release_60-r323338, vendor/lldb/lldb-release_60-r323948, vendor/lldb/lldb-release_60-r324090, vendor/lld/lld-release_60-r323338, vendor/libc++/libc++-release_60-r323338, vendor/libc++/libc++-release_60-r323948, vendor/libc++/libc++-release_60-r324090, vendor/compiler-rt/compiler-rt-release_60-r323338, vendor/clang/clang-release_60-r323338, vendor/llvm/llvm-release_60-r323338, vendor/tzdata/tzdata2018c, vendor/libfdt/1.4.6, vendor/tzdata/tzdata2018a, vendor/dtc/1.4.6, vendor/lldb/lldb-release_60-r321788, vendor/lld/lld-release_60-r321788, vendor/libc++/libc++-release_60-r321788, vendor/compiler-rt/compiler-rt-release_60-r321788, vendor/clang/clang-release_60-r321788, vendor/llvm/llvm-release_60-r321788, vendor/acpica/20180105, vendor/compiler-rt/compiler-rt-trunk-r321545, vendor/llvm/llvm-trunk-r321545, vendor/lldb/lldb-trunk-r321530, vendor/lldb/lldb-trunk-r321545, vendor/lld/lld-trunk-r321530, vendor/lld/lld-trunk-r321545, vendor/libc++/libc++-trunk-r321530, vendor/libc++/libc++-trunk-r321545, vendor/compiler-rt/compiler-rt-trunk-r321530, vendor/clang/clang-trunk-r321530, vendor/clang/clang-trunk-r321545, vendor/llvm/llvm-trunk-r321530
# caa7e52f 27-Dec-2017 Eitan Adler <eadler@FreeBSD.org>

kernel: Fix several typos and minor errors

- duplicate words
- typos
- references to old versions of FreeBSD

Reviewed by: imp, benno


Revision tags: vendor/lld/lld-trunk-r321426, vendor/clang/clang-trunk-r321426, vendor/llvm/llvm-trunk-r321426, vendor/lldb/lldb-trunk-r321414, vendor/lldb/lldb-trunk-r321426, vendor/lld/lld-trunk-r321414, vendor/libc++/libc++-trunk-r321414, vendor/libc++/libc++-trunk-r321426, vendor/compiler-rt/compiler-rt-trunk-r321414, vendor/compiler-rt/compiler-rt-trunk-r321426, vendor/clang/clang-trunk-r321414, vendor/llvm/llvm-trunk-r321414, vendor/lldb/lldb-trunk-r321017, vendor/lld/lld-trunk-r321017, vendor/libc++/libc++-trunk-r321017, vendor/compiler-rt/compiler-rt-trunk-r321017, vendor/clang/clang-trunk-r321017, vendor/llvm/llvm-trunk-r321017, vendor/lld/lld-release_501-r320880, vendor/clang/clang-release_501-r320880, vendor/llvm/llvm-release_501-r320880, vendor/acpica/20171214, vendor/openssl/1.0.2n, vendor/lldb/lldb-release_50-r319231, vendor/lldb/lldb-release_501-r320880, vendor/lld/lld-release_50-r319231, vendor/libc++/libc++-release_50-r319231, vendor/libc++/libc++-release_501-r320880, vendor/clang/clang-release_50-r319231, vendor/llvm/llvm-release_50-r319231, vendor/lua/5.3.4, vendor/NetBSD/libc-vis/20171127
# 51369649 20-Nov-2017 Pedro F. Giffuni <pfg@FreeBSD.org>

sys: further adoption of SPDX licensing ID tags.

Mainly focus on files that use BSD 3-Clause license.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for

sys: further adoption of SPDX licensing ID tags.

Mainly focus on files that use BSD 3-Clause license.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.

Special thanks to Wind River for providing access to "The Duke of
Highlander" tool: an older (2014) run over FreeBSD tree was useful as a
starting point.

show more ...


Revision tags: vendor/less/v529, vendor/device-tree/4.14, vendor/acpica/20171110, vendor/zstd/1.3.2, vendor/ena-com/1.1.4.4, vendor/openssl/1.0.2m, vendor/NetBSD/bmake/20171028, vendor/ena-com/1.1.4.3, vendor/tzdata/tzdata2017c, vendor/device-tree/4.13, vendor/wpa/2.6, vendor/mandoc/1.14.3, vendor/acpica/20170929, release/10.4.0, upstream/10.4.0, vendor/tcpdump/4.9.2, vendor/file/5.32, vendor/NetBSD/libedit/2017-09-05, vendor/clang/clang-release_500-r312559, vendor/llvm/llvm-release_500-r312559, vendor/lldb/lldb-release_50-r312293, vendor/lldb/lldb-release_500-r312559, vendor/lld/lld-release_50-r312293, vendor/lld/lld-release_500-r312559, vendor/libc++/libc++-release_50-r312293, vendor/libc++/libc++-release_500-r312559, vendor/compiler-rt/compiler-rt-release_50-r312293, vendor/compiler-rt/compiler-rt-release_50-r319231, vendor/compiler-rt/compiler-rt-release_500-r312559, vendor/compiler-rt/compiler-rt-release_501-r320880, vendor/clang/clang-release_50-r312293, vendor/llvm/llvm-release_50-r312293, vendor/ctfdump/20170831, vendor/acpica/20170831, vendor/lldb/lldb-release_50-r311606, vendor/compiler-rt/compiler-rt-release_50-r311606, vendor/clang/clang-release_50-r311606, vendor/llvm/llvm-release_50-r311606, vendor/zstd/1.3.1, vendor/lld/lld-release_50-r311219, vendor/lld/lld-release_50-r311606, vendor/libc++/libc++-release_50-r311219, vendor/libc++/libc++-release_50-r311606, vendor/clang/clang-release_50-r311219, vendor/llvm/llvm-release_50-r311219
# 9ce40d32 16-Aug-2017 Kristof Provost <kp@FreeBSD.org>

bpf: Fix incorrect cleanup

Cleaning up a bpf_if is a two stage process. We first move it to the
bpf_freelist (in bpfdetach()) and only later do we actually free it (in
bpf_ifdetach()).

We cannot se

bpf: Fix incorrect cleanup

Cleaning up a bpf_if is a two stage process. We first move it to the
bpf_freelist (in bpfdetach()) and only later do we actually free it (in
bpf_ifdetach()).

We cannot set the ifp->if_bpf to NULL from bpf_ifdetach() because it's
possible that the ifnet has already gone away, or that it has been assigned
a new bpf_if.
This can lead to a struct ifnet which is up, but has if_bpf set to NULL,
which will panic when we try to send the next packet.

Keep track of the pointer to the bpf_if (because it's not always
ifp->if_bpf), and NULL it immediately in bpfdetach().

PR: 213896
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D11782

show more ...


Revision tags: vendor/sqlite3/sqlite-3200000, vendor/subversion/subversion-1.9.7, vendor/libc++/libc++-release_50-r310316, vendor/clang/clang-release_50-r310316, vendor/llvm/llvm-release_50-r310316, vendor/Juniper/libxo/0.8.4, vendor/openssh/7.5p1, vendor/ena-com/1.1.4.2, vendor/mandoc/1.14.2, vendor/lldb/lldb-release_50-r309439, vendor/lldb/lldb-release_50-r310316, vendor/lldb/lldb-release_50-r311219, vendor/lld/lld-release_50-r309439, vendor/lld/lld-release_50-r310316, vendor/libc++/libc++-release_50-r309439, vendor/clang/clang-release_50-r309439, vendor/llvm/llvm-release_50-r309439, vendor/acpica/20170728, zfs-0.7.0, vendor/NetBSD/bmake/20170720, release/11.1.0, upstream/11.1.0, vendor/lldb/lldb-trunk-r308421, vendor/lld/lld-trunk-r308421, vendor/libc++/libc++-trunk-r308421, vendor/compiler-rt/compiler-rt-release_50-r309439, vendor/compiler-rt/compiler-rt-release_50-r310316, vendor/compiler-rt/compiler-rt-release_50-r311219, vendor/compiler-rt/compiler-rt-trunk-r308421, vendor/clang/clang-trunk-r308421, vendor/llvm/llvm-trunk-r308421, vendor/NetBSD/bmake/20170711, vendor/zstd/1.3.0, vendor/lldb/lldb-trunk-r307894, vendor/lld/lld-trunk-r307894, vendor/libc++/libc++-trunk-r307894, vendor/compiler-rt/compiler-rt-trunk-r307894, vendor/clang/clang-trunk-r307894, vendor/llvm/llvm-trunk-r307894, zfs-0.7.0-rc5, vendor/libarchive/3.3.2, vendor/device-tree/4.12, vendor/krb5/1.15.1, vendor/lldb/lldb-trunk-r306956, vendor/lld/lld-trunk-r306956, vendor/libc++/libc++-trunk-r306956, vendor/compiler-rt/compiler-rt-trunk-r306956, vendor/clang/clang-trunk-r306956, vendor/llvm/llvm-trunk-r306956, vendor/acpica/20170629, vendor/pjdfstest/0.1
# b4366092 27-Jun-2017 Justin Hibbits <jhibbits@FreeBSD.org>

Update comments and simplify conditionals for compat32

Only amd64 (because of i386) needs 32-bit time_t compat now, everything else is
64-bit time_t. Rather than checking on all 64-bit time_t archs

Update comments and simplify conditionals for compat32

Only amd64 (because of i386) needs 32-bit time_t compat now, everything else is
64-bit time_t. Rather than checking on all 64-bit time_t archs, only check the
oddball amd64/i386.

Reviewed By: emaste, kib, andrew
Differential Revision: https://reviews.freebsd.org/D11364

show more ...


Revision tags: vendor/lldb/lldb-trunk-r306325, vendor/lld/lld-trunk-r306325, vendor/libc++/libc++-trunk-r306325, vendor/compiler-rt/compiler-rt-trunk-r306325, vendor/clang/clang-trunk-r306325, vendor/llvm/llvm-trunk-r306325
# fbcf7bcd 26-Jun-2017 Justin Hibbits <jhibbits@FreeBSD.org>

Solve the y2038 problem for powerpc

AKA Make time_t 64 bits on powerpc(32).

PowerPC currently (until now) was one of two architectures with a 32-bit time_t
on 32-bit archs (the other being i386).

Solve the y2038 problem for powerpc

AKA Make time_t 64 bits on powerpc(32).

PowerPC currently (until now) was one of two architectures with a 32-bit time_t
on 32-bit archs (the other being i386). This is an ABI breakage, so all ports,
and all local binaries, *must* be recompiled.

Tested by: andreast, others
MFC after: Never
Relnotes: Yes

show more ...


Revision tags: vendor/elftoolchain/elftoolchain-r3561, vendor/device-tree/4.11, vendor/lldb/lldb-trunk-r305575, vendor/lld/lld-trunk-r305575, vendor/libc++/libc++-trunk-r305575, vendor/compiler-rt/compiler-rt-trunk-r305575, vendor/clang/clang-trunk-r305575, vendor/llvm/llvm-trunk-r305575, vendor/Juniper/libxo/0.8.2, vendor/lldb/lldb-trunk-r305145, vendor/lld/lld-trunk-r305145, vendor/libc++/libc++-trunk-r305145, vendor/compiler-rt/compiler-rt-trunk-r305145, vendor/clang/clang-trunk-r305145, vendor/llvm/llvm-trunk-r305145, vendor/Juniper/libxo/0.8.1, vendor/mandoc/20170608, vendor/Juniper/libxo/0.8.0, vendor/lldb/lldb-trunk-r304659, vendor/lld/lld-trunk-r304659, vendor/libc++/libc++-trunk-r304659, vendor/compiler-rt/compiler-rt-trunk-r304659, vendor/clang/clang-trunk-r304659, vendor/llvm/llvm-trunk-r304659, vendor/lldb/lldb-trunk-r304460, vendor/lld/lld-trunk-r304460, vendor/libc++/libc++-trunk-r304460, vendor/compiler-rt/compiler-rt-trunk-r304460, vendor/clang/clang-trunk-r304460, vendor/llvm/llvm-trunk-r304460, vendor/acpica/20170531, vendor/byacc/20170430, vendor/lldb/lldb-trunk-r304222, vendor/lld/lld-trunk-r304222, vendor/libc++/libc++-trunk-r304222, vendor/clang/clang-trunk-r304222, vendor/llvm/llvm-trunk-r304222, vendor/lldb/lldb-trunk-r304149, vendor/lld/lld-trunk-r304149, vendor/libc++/libc++-trunk-r304149, vendor/compiler-rt/compiler-rt-trunk-r304149, vendor/compiler-rt/compiler-rt-trunk-r304222, vendor/clang/clang-trunk-r304149, vendor/llvm/llvm-trunk-r304149, vendor/openssl/1.0.2l, vendor/lldb/lldb-trunk-r303571, vendor/lld/lld-trunk-r303571, vendor/libc++/libc++-trunk-r303571, vendor/compiler-rt/compiler-rt-trunk-r303571, vendor/clang/clang-trunk-r303571, vendor/llvm/llvm-trunk-r303571, vendor/lldb/lldb-trunk-r303291, vendor/lld/lld-trunk-r303291, vendor/libc++/libc++-trunk-r303291, vendor/compiler-rt/compiler-rt-trunk-r303291, vendor/clang/clang-trunk-r303291, vendor/llvm/llvm-trunk-r303291, vendor/lldb/lldb-trunk-r303197, vendor/lld/lld-trunk-r303197, vendor/libc++/libc++-trunk-r303197, vendor/compiler-rt/compiler-rt-trunk-r303197, vendor/clang/clang-trunk-r303197, vendor/llvm/llvm-trunk-r303197, vendor/Juniper/libxo/0.7.2, vendor/lldb/lldb-trunk-r302418, vendor/lld/lld-trunk-r302418, vendor/libc++/libc++-trunk-r302418, vendor/compiler-rt/compiler-rt-trunk-r302418, vendor/clang/clang-trunk-r302418, vendor/llvm/llvm-trunk-r302418, vendor/zstd/1.2.0, zfs-0.7.0-rc4, vendor/lldb/lldb-trunk-r302069, vendor/lld/lld-trunk-r302069, vendor/compiler-rt/compiler-rt-trunk-r302069, vendor/clang/clang-trunk-r302069, vendor/llvm/llvm-trunk-r302069, vendor/NetBSD/blacklist/20170503, vendor/lldb/lldb-trunk-r301939, vendor/lld/lld-trunk-r301939, vendor/compiler-rt/compiler-rt-trunk-r301939, vendor/clang/clang-trunk-r301939, vendor/llvm/llvm-trunk-r301939, vendor/openpam/RESEDACEA, vendor/less/v491, vendor/ena-com/1.1.4.1, vendor/llvm/llvm-trunk-r301441, vendor/lldb/lldb-trunk-r301441, vendor/lld/lld-trunk-r301441, vendor/libc++/libc++-trunk-r301441, vendor/libc++/libc++-trunk-r301939, vendor/libc++/libc++-trunk-r302069, vendor/compiler-rt/compiler-rt-trunk-r301441, vendor/clang/clang-trunk-r301441, vendor/less/v487, vendor/NetBSD/bmake/20170420, vendor/lldb/lldb-trunk-r300890, vendor/lld/lld-trunk-r300890, vendor/libc++/libc++-trunk-r300890, vendor/compiler-rt/compiler-rt-trunk-r300890, vendor/clang/clang-trunk-r300890, vendor/llvm/llvm-trunk-r300890, vendor/elftoolchain/elftoolchain-r3520, vendor/lldb/lldb-trunk-r300422, vendor/lld/lld-trunk-r300422, vendor/libc++/libc++-trunk-r300422, vendor/compiler-rt/compiler-rt-trunk-r300422, vendor/clang/clang-trunk-r300422, vendor/llvm/llvm-trunk-r300422, vendor/zstd/1.1.4, vendor/NetBSD/bmake/20170413, vendor/ck/20170407, vendor/tzdata/tzdata2017b, vendor/libcxxrt/2017-03-22-8a853717e61d5d55cbdf74d9d0a7545da5d5ff92, vendor/ntp/4.2.8p10, vendor/tcsh/6.20.00
# 250a8e27 13-Mar-2017 Andrey V. Elsukov <ae@FreeBSD.org>

Ignore ifnet renaming in the bpf ifnet departure handler.

PR: 213015
MFC after: 1 week


Revision tags: vendor/dtc/1.4.3, vendor/lld/lld-release_400-r297347, vendor/libc++/libc++-release_400-r297347, vendor/clang/clang-release_400-r297347, vendor/llvm/llvm-release_400-r297347, vendor/edk2/7babb4372e6a34cbbc54249b25056272a5a9924c, vendor/device-tree/4.10, vendor/NetBSD/bmake/20170301, vendor/acpica/20170303, vendor/libarchive/3.3.1, vendor/dma/20170210
# fbbd9655 28-Feb-2017 Warner Losh <imp@FreeBSD.org>

Renumber copyright clause 4

Renumber cluase 4 to 3, per what everybody else did when BSD granted
them permission to remove clause 3. My insistance on keeping the same
numbering for legal reasons is

Renumber copyright clause 4

Renumber cluase 4 to 3, per what everybody else did when BSD granted
them permission to remove clause 3. My insistance on keeping the same
numbering for legal reasons is too pedantic, so give up on that point.

Submitted by: Jan Schaumann <jschauma@stevens.edu>
Pull Request: https://github.com/freebsd/freebsd/pull/96

show more ...


Revision tags: vendor/ck/20170228, vendor/llvm/llvm-release_40-r296509, vendor/acpica/20170224, vendor/lld/lld-release_40-r296202, vendor/lld/lld-release_40-r296509, vendor/clang/clang-release_40-r296202, vendor/clang/clang-release_40-r296509, vendor/llvm/llvm-release_40-r296202, vendor/clang/clang-release_40-r296002, vendor/llvm/llvm-release_40-r296002, vendor/clang/clang-release_40-r295910, vendor/llvm/llvm-release_40-r295910, vendor/mandoc/1.4.1, vendor/openpam/RADULA, vendor/mandoc/1.4.1rc2, vendor/libucl/20170219, vendor/libc++/libc++-release_40-r295380, vendor/libc++/libc++-release_40-r295910, vendor/libc++/libc++-release_40-r296002, vendor/libc++/libc++-release_40-r296202, vendor/libc++/libc++-release_40-r296509, vendor/compiler-rt/compiler-rt-release_40-r295380, vendor/compiler-rt/compiler-rt-release_40-r295910, vendor/compiler-rt/compiler-rt-release_40-r296002, vendor/compiler-rt/compiler-rt-release_40-r296202, vendor/compiler-rt/compiler-rt-release_40-r296509, vendor/compiler-rt/compiler-rt-release_400-r297347, vendor/clang/clang-release_40-r295380, vendor/llvm/llvm-release_40-r295380, vendor/libpcap/1.8.1, vendor/lld/lld-release_40-r294803, vendor/lld/lld-release_40-r295380, vendor/lld/lld-release_40-r295910, vendor/lld/lld-release_40-r296002, vendor/libc++/libc++-release_40-r294803, vendor/clang/clang-release_40-r294803, vendor/llvm/llvm-release_40-r294803, vendor/lld/lld-release_40-r294123, vendor/libc++/libc++-release_40-r294123, vendor/compiler-rt/compiler-rt-release_40-r294123, vendor/compiler-rt/compiler-rt-release_40-r294803, vendor/clang/clang-release_40-r294123, vendor/llvm/llvm-release_40-r294123, vendor/NetBSD/tests/02.04.2017_10.12, vendor/unbound/1.6.0, vendor/ldns/1.7.0, vendor/byacc/20170201, vendor/lld/lld-release_40-r293807, vendor/libc++/libc++-release_40-r293807, vendor/clang/clang-release_40-r293807, vendor/llvm/llvm-release_40-r293807, vendor/tcpdump/4.9.0, vendor/openssh/7.4p1, vendor/openssh/7.3p1, vendor/NetBSD/libedit/2016-03-21, vendor/openresolv/3.9.0, vendor/lld/lld-release_40-r293443, vendor/libc++/libc++-release_40-r293443, vendor/compiler-rt/compiler-rt-release_40-r293443, vendor/compiler-rt/compiler-rt-release_40-r293807, vendor/clang/clang-release_40-r293443, vendor/llvm/llvm-release_40-r293443, vendor/openssl/1.0.2k, vendor/libc++/libc++-release_40-r292951, vendor/clang/clang-release_40-r292951, vendor/llvm/llvm-release_40-r292951, vendor/lld/lld-release_40-r292732, vendor/lld/lld-release_40-r292951, vendor/libc++/libc++-release_40-r292732, vendor/clang/clang-release_40-r292732, vendor/llvm/llvm-release_40-r292732, vendor/mandoc/20170121, zfs-0.7.0-rc3, vendor/acpica/20170119, vendor/NetBSD/tests/01.17.2017_21.34, vendor/zlib/1.2.11, vendor/lldb/lldb-release_40-r292009, vendor/lldb/lldb-release_40-r292732, vendor/lldb/lldb-release_40-r292951, vendor/lldb/lldb-release_40-r293443, vendor/lldb/lldb-release_40-r293807, vendor/lldb/lldb-release_40-r294123, vendor/lldb/lldb-release_40-r294803, vendor/lldb/lldb-release_40-r295380, vendor/lldb/lldb-release_40-r295910, vendor/lldb/lldb-release_40-r296002, vendor/lldb/lldb-release_40-r296202, vendor/lldb/lldb-release_40-r296509, vendor/lldb/lldb-release_400-r297347, vendor/lld/lld-release_40-r292009, vendor/libc++/libc++-release_40-r292009, vendor/compiler-rt/compiler-rt-release_40-r292009, vendor/compiler-rt/compiler-rt-release_40-r292732, vendor/compiler-rt/compiler-rt-release_40-r292951, vendor/clang/clang-release_40-r292009, vendor/llvm/llvm-release_40-r292009, vendor/NetBSD/tests/01.11.2017_23.20, vendor/lldb/lldb-trunk-r291476, vendor/lld/lld-trunk-r291476, vendor/libc++/libc++-trunk-r291476, vendor/compiler-rt/compiler-rt-trunk-r291476, vendor/clang/clang-trunk-r291476, vendor/llvm/llvm-trunk-r291476, vendor/lldb/lldb-trunk-r291274, vendor/lld/lld-trunk-r291274, vendor/libc++/libc++-trunk-r291274, vendor/compiler-rt/compiler-rt-trunk-r291274, vendor/clang/clang-trunk-r291274, vendor/llvm/llvm-trunk-r291274, vendor/xz/5.2.3, vendor/clang/clang-trunk-r291015, vendor/llvm/llvm-trunk-r291015, vendor/lldb/lldb-trunk-r291012, vendor/lldb/lldb-trunk-r291015, vendor/lld/lld-trunk-r291012, vendor/lld/lld-trunk-r291015, vendor/libc++/libc++-trunk-r291012, vendor/libc++/libc++-trunk-r291015, vendor/compiler-rt/compiler-rt-trunk-r291012, vendor/compiler-rt/compiler-rt-trunk-r291015, vendor/clang/clang-trunk-r291012, vendor/llvm/llvm-trunk-r291012, vendor/zlib/1.2.10, vendor/zlib/1.2.8-full, vendor/lldb/lldb-trunk-r290819, vendor/lld/lld-trunk-r290819, vendor/libc++/libc++-trunk-r290819, vendor/compiler-rt/compiler-rt-trunk-r290819, vendor/clang/clang-trunk-r290819, vendor/llvm/llvm-trunk-r290819, vendor/ck/20161230, vendor/heirloom-doctools/20161106, vendor/acpica/20161222, vendor/NetBSD/bmake/20161212, vendor/clang/clang-release_391-r289601, vendor/llvm/llvm-release_39-r288847, vendor/llvm/llvm-release_391-r289601, vendor/openbsm/1.2-ALPHA-5, vendor/byacc/20161202, vendor/tzdata/tzdata2016j, vendor/lld/lld-release_39-r288513, vendor/lld/lld-release_39-r288847, vendor/lld/lld-release_391-r289601, vendor/compiler-rt/compiler-rt-release_39-r288513, vendor/compiler-rt/compiler-rt-release_39-r288847, vendor/compiler-rt/compiler-rt-release_391-r289601, vendor/clang/clang-release_39-r288513, vendor/clang/clang-release_39-r288847, vendor/llvm/llvm-release_39-r288513, vendor/subversion/subversion-1.9.5, vendor/ck/20161128, vendor/lldb/lldb-release_39-r287912, vendor/lldb/lldb-release_39-r288513, vendor/lldb/lldb-release_39-r288847, vendor/lldb/lldb-release_391-r289601, vendor/lld/lld-release_39-r287912, vendor/libc++/libc++-release_39-r287912, vendor/libc++/libc++-release_39-r288513, vendor/libc++/libc++-release_39-r288847, vendor/libc++/libc++-release_391-r289601, vendor/compiler-rt/compiler-rt-release_39-r287912, vendor/clang/clang-release_39-r287912, vendor/llvm/llvm-release_39-r287912, vendor/ntp/4.2.8p9, vendor/acpica/20161117, vendor/file/5.29, vendor/tzdata/tzdata2016i, vendor/bind9/9.9.9-P4, zfs-0.7.0-rc2, vendor/heirloom-doctools/20161025, vendor/libarchive/3.2.2, vendor/heirloom-doctools/20161016, vendor/tzdata/tzdata2016h, vendor/tzdata/tzdata2016g, vendor/heirloom-doctools/20161006, vendor/byacc/20160606, vendor/libucl/20160812, vendor/dma/20160929, vendor/acpica/20160930, release/11.0.1, upstream/11.0.1, vendor/bind9/9.9.9-P3, vendor/unbound/1.5.10, vendor/openssl/1.0.2j, release/11.0.0, upstream/11.0.0, vendor/openssl/1.0.1u, vendor/openssl/1.0.2i, vendor/alpine-hal/2.7a, vendor/cortex-strings/linaro-eb80ac, vendor/NetBSD/bmake/20160818, zfs-0.7.0-rc1, vendor/unbound/1.5.9, vendor/clang/clang-release_390-r280324, vendor/acpica/20160831, vendor/elftoolchain/elftoolchain-r3490, vendor/amd/6.2, vendor/llvm/llvm-release_39-r279689, vendor/llvm/llvm-release_390-r280324, vendor/lld/lld-release_39-r279689, vendor/lld/lld-release_390-r280324, vendor/lld/lldb-release_39-r279477, vendor/libc++/libc++-release_39-r279477, vendor/libc++/libc++-release_39-r279689, vendor/libc++/libc++-release_390-r280324, vendor/compiler-rt/compiler-rt-release_39-r279477, vendor/compiler-rt/compiler-rt-release_39-r279689, vendor/compiler-rt/compiler-rt-release_390-r280324, vendor/clang/clang-release_39-r279477, vendor/clang/clang-release_39-r279689, vendor/llvm/llvm-release_39-r279477, vendor/sqlite3/sqlite-3140100, vendor/dma/20160806, vendor/lldb/lldb-release_39-r278877, vendor/lldb/lldb-release_39-r279477, vendor/lldb/lldb-release_39-r279689, vendor/lldb/lldb-release_390-r280324, vendor/lld/lld-release_39-r278877, vendor/libc++/libc++-release_39-r278877, vendor/compiler-rt/compiler-rt-release_39-r278877, vendor/clang/clang-release_39-r278877, vendor/llvm/llvm-release_39-r278877, vendor/NetBSD/tests/08.11.2016_18.01, vendor/acpica/20160729
# 584b675e 27-Jul-2016 Konstantin Belousov <kib@FreeBSD.org>

Hide the boottime and bootimebin globals, provide the getboottime(9)
and getboottimebin(9) KPI. Change consumers of boottime to use the
KPI. The variables were renamed to avoid shadowing issues with

Hide the boottime and bootimebin globals, provide the getboottime(9)
and getboottimebin(9) KPI. Change consumers of boottime to use the
KPI. The variables were renamed to avoid shadowing issues with local
variables of the same name.

Issue is that boottime* should be adjusted from tc_windup(), which
requires them to be members of the timehands structure. As a
preparation, this commit only introduces the interface.

Some uses of boottime were found doubtful, e.g. NLM uses boottime to
identify the system boot instance. Arguably the identity should not
change on the leap second adjustment, but the commit is about the
timekeeping code and the consumers were kept bug-to-bug compatible.

Tested by: pho (as part of the bigger patch)
Reviewed by: jhb (same)
Discussed with: bde
Sponsored by: The FreeBSD Foundation
MFC after: 1 month
X-Differential revision: https://reviews.freebsd.org/D7302

show more ...


12345678910>>...99