diff --git a/sys/dev/null/null.c b/sys/dev/null/null.c --- a/sys/dev/null/null.c +++ b/sys/dev/null/null.c @@ -109,12 +109,6 @@ error = 0; switch (cmd) { -#ifdef COMPAT_FREEBSD12 - case DIOCSKERNELDUMP_FREEBSD12: - if (cmd == DIOCSKERNELDUMP_FREEBSD12) - gone_in(14, "FreeBSD 12.x ABI compat"); - /* FALLTHROUGH */ -#endif case DIOCSKERNELDUMP: bzero(&kda, sizeof(kda)); kda.kda_index = KDA_REMOVE_ALL; diff --git a/sys/geom/geom_dev.c b/sys/geom/geom_dev.c --- a/sys/geom/geom_dev.c +++ b/sys/geom/geom_dev.c @@ -531,9 +531,6 @@ struct g_provider *pp; off_t offset, length, chunk, odd; int i, error; -#ifdef COMPAT_FREEBSD12 - struct diocskerneldump_arg kda_copy; -#endif cp = dev->si_drv2; pp = cp->provider; @@ -570,24 +567,6 @@ if (error == 0 && *(u_int *)data == 0) error = ENOENT; break; -#ifdef COMPAT_FREEBSD12 - case DIOCSKERNELDUMP_FREEBSD12: - { - struct diocskerneldump_arg_freebsd12 *kda12; - - gone_in(14, "FreeBSD 12.x ABI compat"); - - kda12 = (void *)data; - memcpy(&kda_copy, kda12, sizeof(kda_copy)); - kda_copy.kda_index = (kda12->kda12_enable ? - 0 : KDA_REMOVE_ALL); - - explicit_bzero(kda12, sizeof(*kda12)); - /* Kludge to pass kda_copy to kda in fallthrough. */ - data = (void *)&kda_copy; - } - /* FALLTHROUGH */ -#endif case DIOCSKERNELDUMP: { struct diocskerneldump_arg *kda; diff --git a/sys/netinet/netdump/netdump.h b/sys/netinet/netdump/netdump.h --- a/sys/netinet/netdump/netdump.h +++ b/sys/netinet/netdump/netdump.h @@ -57,17 +57,6 @@ #define na_seqno da_seqno #endif /* !_KERNEL */ -struct netdump_conf_freebsd12 { - struct diocskerneldump_arg_freebsd12 ndc12_kda; - char ndc12_iface[IFNAMSIZ]; - struct in_addr ndc12_server; - struct in_addr ndc12_client; - struct in_addr ndc12_gateway; -}; - -#define NETDUMPGCONF_FREEBSD12 _IOR('n', 1, struct netdump_conf_freebsd12) -#define NETDUMPSCONF_FREEBSD12 _IOW('n', 2, struct netdump_conf_freebsd12) - #define _PATH_NETDUMP "/dev/netdump" #endif /* _NETINET_NETDUMP_H_ */ diff --git a/sys/netinet/netdump/netdump_client.c b/sys/netinet/netdump/netdump_client.c --- a/sys/netinet/netdump/netdump_client.c +++ b/sys/netinet/netdump/netdump_client.c @@ -496,62 +496,16 @@ netdump_ioctl(struct cdev *dev __unused, u_long cmd, caddr_t addr, int flags __unused, struct thread *td) { - struct diocskerneldump_arg kda_copy, *conf; + struct diocskerneldump_arg *conf; struct dumperinfo dumper; uint8_t *encryptedkey; int error; -#ifdef COMPAT_FREEBSD12 - struct diocskerneldump_arg_freebsd12 *kda12; - struct netdump_conf_freebsd12 *conf12; -#endif conf = NULL; error = 0; NETDUMP_WLOCK(); switch (cmd) { -#ifdef COMPAT_FREEBSD12 - /* - * Used by dumpon(8) in 12.x for clearing previous - * configuration -- then NETDUMPSCONF_FREEBSD12 is used to - * actually configure netdump. - */ - case DIOCSKERNELDUMP_FREEBSD12: - gone_in(14, "12.x ABI compatibility"); - - kda12 = (void *)addr; - if (kda12->kda12_enable) { - error = ENXIO; - break; - } - if (netdump_enabled()) - netdump_unconfigure(); - break; - - case NETDUMPGCONF_FREEBSD12: - gone_in(14, "FreeBSD 12.x ABI compat"); - conf12 = (void *)addr; - - if (!netdump_enabled()) { - error = ENXIO; - break; - } - if (nd_conf.ndc_af != AF_INET) { - error = EOPNOTSUPP; - break; - } - - if (nd_ifp != NULL) - strlcpy(conf12->ndc12_iface, nd_ifp->if_xname, - sizeof(conf12->ndc12_iface)); - memcpy(&conf12->ndc12_server, &nd_server, - sizeof(conf12->ndc12_server)); - memcpy(&conf12->ndc12_client, &nd_client, - sizeof(conf12->ndc12_client)); - memcpy(&conf12->ndc12_gateway, &nd_gateway, - sizeof(conf12->ndc12_gateway)); - break; -#endif case DIOCGKERNELDUMP: conf = (void *)addr; /* @@ -573,43 +527,10 @@ conf->kda_af = nd_conf.ndc_af; conf = NULL; break; - -#ifdef COMPAT_FREEBSD12 - case NETDUMPSCONF_FREEBSD12: - gone_in(14, "FreeBSD 12.x ABI compat"); - - conf12 = (struct netdump_conf_freebsd12 *)addr; - - _Static_assert(offsetof(struct diocskerneldump_arg, kda_server) - == offsetof(struct netdump_conf_freebsd12, ndc12_server), - "simplifying assumption"); - - memset(&kda_copy, 0, sizeof(kda_copy)); - memcpy(&kda_copy, conf12, - offsetof(struct diocskerneldump_arg, kda_server)); - - /* 12.x ABI could only configure IPv4 (INET) netdump. */ - kda_copy.kda_af = AF_INET; - memcpy(&kda_copy.kda_server.in4, &conf12->ndc12_server, - sizeof(struct in_addr)); - memcpy(&kda_copy.kda_client.in4, &conf12->ndc12_client, - sizeof(struct in_addr)); - memcpy(&kda_copy.kda_gateway.in4, &conf12->ndc12_gateway, - sizeof(struct in_addr)); - - kda_copy.kda_index = - (conf12->ndc12_kda.kda12_enable ? 0 : KDA_REMOVE_ALL); - - conf = &kda_copy; - explicit_bzero(conf12, sizeof(*conf12)); - /* FALLTHROUGH */ -#endif case DIOCSKERNELDUMP: encryptedkey = NULL; - if (cmd == DIOCSKERNELDUMP) { - conf = (void *)addr; - memcpy(&kda_copy, conf, sizeof(kda_copy)); - } + conf = (void *)addr; + /* Netdump only supports IP4 at this time. */ if (conf->kda_af != AF_INET) { error = EPROTONOSUPPORT; @@ -669,7 +590,6 @@ error = ENOTTY; break; } - explicit_bzero(&kda_copy, sizeof(kda_copy)); if (conf != NULL) explicit_bzero(conf, sizeof(*conf)); NETDUMP_WUNLOCK(); diff --git a/sys/sys/disk.h b/sys/sys/disk.h --- a/sys/sys/disk.h +++ b/sys/sys/disk.h @@ -130,17 +130,6 @@ #define DIOCZONECMD _IOWR('d', 143, struct disk_zone_args) -struct diocskerneldump_arg_freebsd12 { - uint8_t kda12_enable; - uint8_t kda12_compression; - uint8_t kda12_encryption; - uint8_t kda12_key[KERNELDUMP_KEY_MAX_SIZE]; - uint32_t kda12_encryptedkeysize; - uint8_t *kda12_encryptedkey; -}; -#define DIOCSKERNELDUMP_FREEBSD12 \ - _IOW('d', 144, struct diocskerneldump_arg_freebsd12) - #ifndef WITHOUT_NETDUMP #include #include @@ -184,8 +173,6 @@ union kd_ip kda_gateway; uint8_t kda_af; }; -_Static_assert(__offsetof(struct diocskerneldump_arg, kda_iface) == - sizeof(struct diocskerneldump_arg_freebsd12), "simplifying assumption"); #define DIOCSKERNELDUMP _IOW('d', 145, struct diocskerneldump_arg) /* * Enable/Disable the device for kernel core dumps.