diff options
author | Conrad Meyer <cem@FreeBSD.org> | 2019-04-20 16:07:29 +0000 |
---|---|---|
committer | Conrad Meyer <cem@FreeBSD.org> | 2019-04-20 16:07:29 +0000 |
commit | 60ade167fd5d4b09ab2c9ed4e9bf60c484fa4edc (patch) | |
tree | df6084d25adc2db72f00acbca3c3120c9bc3f5e9 /sys/netinet/netdump | |
parent | ff9be73ee339da0a737b4933685b0de2e2dc2d47 (diff) | |
download | src-60ade167fd5d4b09ab2c9ed4e9bf60c484fa4edc.tar.gz src-60ade167fd5d4b09ab2c9ed4e9bf60c484fa4edc.zip |
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
Notes
Notes:
svn path=/head/; revision=346448
Diffstat (limited to 'sys/netinet/netdump')
-rw-r--r-- | sys/netinet/netdump/netdump_client.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/sys/netinet/netdump/netdump_client.c b/sys/netinet/netdump/netdump_client.c index 007792c0d0f0..5ed2b12e6697 100644 --- a/sys/netinet/netdump/netdump_client.c +++ b/sys/netinet/netdump/netdump_client.c @@ -1144,13 +1144,25 @@ netdump_ioctl(struct cdev *dev __unused, u_long cmd, caddr_t addr, error = 0; switch (cmd) { - case DIOCSKERNELDUMP: +#ifdef COMPAT_FREEBSD11 + case DIOCSKERNELDUMP_FREEBSD11: u = *(u_int *)addr; if (u != 0) { error = ENXIO; break; } - + if (nd_enabled) { + nd_enabled = 0; + netdump_mbuf_drain(); + } + break; +#endif + case DIOCSKERNELDUMP: + kda = (void *)addr; + if (kda->kda_enable != 0) { + error = ENXIO; + break; + } if (nd_enabled) { nd_enabled = 0; netdump_mbuf_drain(); |