#
04e0c883 |
| 21-May-2019 |
Conrad Meyer <cem@FreeBSD.org> |
Add two missing eventhandler.h headers
These are obviously missing from the .c files, but don't show up in any tinderbox configuration (due to latent header pollution of some kind). It seems some c
Add two missing eventhandler.h headers
These are obviously missing from the .c files, but don't show up in any tinderbox configuration (due to latent header pollution of some kind). It seems some configurations don't have this pollution, and the includes are obviously missing, so go ahead and add them.
Reported by: Peter Jeremy <peter AT rulingia.com> X-MFC-With: r347984
show more ...
|
#
7648bc9f |
| 13-May-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @347527
Sponsored by: The FreeBSD Foundation
|
#
64e7d18f |
| 11-May-2019 |
Conrad Meyer <cem@FreeBSD.org> |
netdump: Ref the interface we're attached to
Serialize netdump configuration / deconfiguration, and discard our configuration when the affiliated interface goes away by monitoring ifnet_departure_ev
netdump: Ref the interface we're attached to
Serialize netdump configuration / deconfiguration, and discard our configuration when the affiliated interface goes away by monitoring ifnet_departure_event.
Reviewed by: markj, with input from vangyzen@ (earlier version) Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D20206
show more ...
|
#
070e7bf9 |
| 11-May-2019 |
Conrad Meyer <cem@FreeBSD.org> |
netdump: Fix boot-time configuration typo
Boot-time netdump configuration is much more useful if one can configure the client and gateway addresses. Fix trivial typo.
(Long-standing bug, I believe
netdump: Fix boot-time configuration typo
Boot-time netdump configuration is much more useful if one can configure the client and gateway addresses. Fix trivial typo.
(Long-standing bug, I believe it dates to the original netdump commit.)
Spotted by: one of vangyzen@ or markj@ Sponsored by: Dell EMC Isilon
show more ...
|
#
6144b50f |
| 10-May-2019 |
Conrad Meyer <cem@FreeBSD.org> |
netdump: Don't store sensitive key data we don't need
Prior to this revision, struct diocskerneldump_arg (and struct netdump_conf with embedded diocskerneldump_arg before r347192), were copied in th
netdump: Don't store sensitive key data we don't need
Prior to this revision, struct diocskerneldump_arg (and struct netdump_conf with embedded diocskerneldump_arg before r347192), were copied in their entirety to the global 'nd_conf' variable. Also prior to this revision, de-configuring netdump would *not* remove the the key material from global nd_conf.
As part of Encrypted Kernel Crash Dumps (EKCD), which was developed contemporaneously with netdump but happened to land first, the diocskerneldump_arg structure will contain sensitive key material (kda_key[]) when encrypted dumps are configured.
Netdump doesn't have any use for the key data -- encryption is handled in the core dumper code -- so in this revision, we no longer store it.
Unfortunately, I think this leak dates to the initial import of netdump in r333283; so it's present in FreeBSD 12.0.
Fortunately, the impact *seems* relatively minor. Any new *netdump* configuration would overwrite the key material; for active encrypted netdump configurations, the key data stored was just a duplicate of the key material already in the core dumper code; and no user interface (other than /dev/kmem) actually exposed the leaked material to userspace.
Reviewed by: markj, rpokala (earlier commit message) MFC after: 2 weeks Security: yes (minor) Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D20233
show more ...
|
#
6b6e2954 |
| 06-May-2019 |
Conrad Meyer <cem@FreeBSD.org> |
List-ify kernel dump device configuration
Allow users to specify multiple dump configurations in a prioritized list. This enables fallback to secondary device(s) if primary dump fails. E.g., one mi
List-ify kernel dump device configuration
Allow users to specify multiple dump configurations in a prioritized list. This enables fallback to secondary device(s) if primary dump fails. E.g., one might configure a preference for netdump, but fallback to disk dump as a second choice if netdump is unavailable.
This change does not list-ify netdump configuration, which is tracked separately from ordinary disk dumps internally; only one netdump configuration can be made at a time, for now. It also does not implement IPv6 netdump.
savecore(8) is already capable of scanning and iterating multiple devices from /etc/fstab or passed on the command line.
This change doesn't update the rc or loader variables 'dumpdev' in any way; it can still be set to configure a single dump device, and rc.d/savecore still uses it as a single device. Only dumpon(8) is updated to be able to configure the more complicated configurations for now.
As part of revving the ABI, unify netdump and disk dump configuration ioctl / structure, and leave room for ipv6 netdump as a future possibility. Backwards-compatibility ioctls are added to smooth ABI transition, especially for developers who may not keep kernel and userspace perfectly synced.
Reviewed by: markj, scottl (earlier version) Relnotes: maybe Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D19996
show more ...
|
#
a9f7f192 |
| 23-Apr-2019 |
Conrad Meyer <cem@FreeBSD.org> |
netdump: Fix !COMPAT_FREEBSD11 unused variable warning
Reported by: Ralf Wenk <iz-rpi03_hs-karlsruhe.de> Sponsored by: Dell EMC Isilon
|
#
60ade167 |
| 20-Apr-2019 |
Conrad Meyer <cem@FreeBSD.org> |
netdump: Fix 11 compatibility DIOCSKERNELDUMP ioctl
The logic was present for the 11 version of the DIOCSKERNELDUMP ioctl, but had not been updated for the 12 ABI.
Reviewed by: markj Differential R
netdump: Fix 11 compatibility DIOCSKERNELDUMP ioctl
The logic was present for the 11 version of the DIOCSKERNELDUMP ioctl, but had not been updated for the 12 ABI.
Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D19980
show more ...
|
#
6c1c6ae5 |
| 04-Apr-2019 |
Rodney W. Grimes <rgrimes@FreeBSD.org> |
Use IN_foo() macros from sys/netinet/in.h inplace of handcrafted code
There are a few places that use hand crafted versions of the macros from sys/netinet/in.h making it difficult to actually alter
Use IN_foo() macros from sys/netinet/in.h inplace of handcrafted code
There are a few places that use hand crafted versions of the macros from sys/netinet/in.h making it difficult to actually alter the values in use by these macros. Correct that by replacing handcrafted code with proper macro usage.
Reviewed by: karels, kristof Approved by: bde (mentor) MFC after: 3 weeks Sponsored by: John Gilmore Differential Revision: https://reviews.freebsd.org/D19317
show more ...
|
#
a68cc388 |
| 09-Jan-2019 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Mechanical cleanup of epoch(9) usage in network stack.
- Remove macros that covertly create epoch_tracker on thread stack. Such macros a quite unsafe, e.g. will produce a buggy code if same macro
Mechanical cleanup of epoch(9) usage in network stack.
- Remove macros that covertly create epoch_tracker on thread stack. Such macros a quite unsafe, e.g. will produce a buggy code if same macro is used in embedded scopes. Explicitly declare epoch_tracker always.
- Unmask interface list IFNET_RLOCK_NOSLEEP(), interface address list IF_ADDR_RLOCK() and interface AF specific data IF_AFDATA_RLOCK() read locking macros to what they actually are - the net_epoch. Keeping them as is is very misleading. They all are named FOO_RLOCK(), while they no longer have lock semantics. Now they allow recursion and what's more important they now no longer guarantee protection against their companion WLOCK macros. Note: INP_HASH_RLOCK() has same problems, but not touched by this commit.
This is non functional mechanical change. The only functionally changed functions are ni6_addrs() and ni6_store_addrs(), where we no longer enter epoch recursively.
Discussed with: jtl, gallatin
show more ...
|
Revision tags: release/12.0.0 |
|
#
2a22df74 |
| 04-Nov-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r339813 through r340125.
|
#
da7d7778 |
| 29-Oct-2018 |
Mark Johnston <markj@FreeBSD.org> |
Expose some netdump configuration parameters through sysctl.
Reviewed by: cem MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D17755
|
Revision tags: release/11.2.0 |
|
#
4f6c66cc |
| 23-May-2018 |
Matt Macy <mmacy@FreeBSD.org> |
UDP: further performance improvements on tx
Cumulative throughput while running 64 netperf -H $DUT -t UDP_STREAM -- -m 1 on a 2x8x2 SKL went from 1.1Mpps to 2.5Mpps
Single stream throughput incre
UDP: further performance improvements on tx
Cumulative throughput while running 64 netperf -H $DUT -t UDP_STREAM -- -m 1 on a 2x8x2 SKL went from 1.1Mpps to 2.5Mpps
Single stream throughput increases from 910kpps to 1.18Mpps
Baseline: https://people.freebsd.org/~mmacy/2018.05.11/udpsender2.svg
- Protect read access to global ifnet list with epoch https://people.freebsd.org/~mmacy/2018.05.11/udpsender3.svg
- Protect short lived ifaddr references with epoch https://people.freebsd.org/~mmacy/2018.05.11/udpsender4.svg
- Convert if_afdata read lock path to epoch https://people.freebsd.org/~mmacy/2018.05.11/udpsender5.svg
A fix for the inpcbhash contention is pending sufficient time on a canary at LLNW.
Reviewed by: gallatin Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D15409
show more ...
|
#
9f78e2b8 |
| 22-May-2018 |
Mark Johnston <markj@FreeBSD.org> |
Initialize the dumper struct before calling set_dumper().
Fields owned by the generic code were being left uninitialized, causing problems in clear_dumper() if an error occurred.
Coverity CID: 1391
Initialize the dumper struct before calling set_dumper().
Fields owned by the generic code were being left uninitialized, causing problems in clear_dumper() if an error occurred.
Coverity CID: 1391200 X-MFC with: r333283
show more ...
|
#
b35822d9 |
| 17-May-2018 |
Mark Johnston <markj@FreeBSD.org> |
Fix netdump configuration when VIMAGE is enabled.
We need to set the current vnet before iterating over the global interface list. Because the dump device may only be set from the host, only proceed
Fix netdump configuration when VIMAGE is enabled.
We need to set the current vnet before iterating over the global interface list. Because the dump device may only be set from the host, only proceed with configuration if the thread belongs to the default vnet. [1]
Also fix a resource leak that occurs if the priv_check() in set_dumper() fails.
Reported by: mmacy, sbruno [1] Reviewed by: sbruno X-MFC with: r333283 Differential Revision: https://reviews.freebsd.org/D15449
show more ...
|
#
e5054602 |
| 06-May-2018 |
Mark Johnston <markj@FreeBSD.org> |
Import the netdump client code.
This is a component of a system which lets the kernel dump core to a remote host after a panic, rather than to a local storage device. The server component is availab
Import the netdump client code.
This is a component of a system which lets the kernel dump core to a remote host after a panic, rather than to a local storage device. The server component is available in the ports tree. netdump is particularly useful on diskless systems.
The netdump(4) man page contains some details describing the protocol. Support for configuring netdump will be added to dumpon(8) in a future commit. To use netdump, the kernel must have been compiled with the NETDUMP option.
The initial revision of netdump was written by Darrell Anderson and was integrated into Sandvine's OS, from which this version was derived.
Reviewed by: bdrewery, cem (earlier versions), julian, sbruno MFC after: 1 month X-MFC note: use a spare field in struct ifnet Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D15253
show more ...
|