On Wed, Aug 24, 2022 at 8:18 PM Jakub Kicinski <kuba(a)kernel.org> wrote:
We had historically not checked that genlmsghdr.reserved
is 0 on input which prevents us from using those precious
bytes in the future.
One use case would be to extend the cmd field, which is
currently just 8 bits wide and 256 is not a lot of commands
for some core families.
To make sure that new families do the right thing by default
put the onus of opting out of validation on existing families.
Signed-off-by: Jakub Kicinski <kuba(a)kernel.org>
---
CC: jiri(a)resnulli.us
CC: johannes(a)sipsolutions.net
CC: linux-block(a)vger.kernel.org
CC: osmocom-net-gprs(a)lists.osmocom.org
CC: linux-wpan(a)vger.kernel.org
CC: wireguard(a)lists.zx2c4.com
CC: linux-wireless(a)vger.kernel.org
CC: linux-scsi(a)vger.kernel.org
CC: target-devel(a)vger.kernel.org
CC: linux-pm(a)vger.kernel.org
CC: virtualization(a)lists.linux-foundation.org
CC: linux-cifs(a)vger.kernel.org
CC: cluster-devel(a)redhat.com
CC: mptcp(a)lists.linux.dev
CC: lvs-devel(a)vger.kernel.org
CC: netfilter-devel(a)vger.kernel.org
CC: linux-security-module(a)vger.kernel.org
CC: dev(a)openvswitch.org
CC: linux-s390(a)vger.kernel.org
CC: tipc-discussion(a)lists.sourceforge.net
---
drivers/block/nbd.c | 1 +
drivers/net/gtp.c | 1 +
drivers/net/ieee802154/mac802154_hwsim.c | 1 +
drivers/net/macsec.c | 1 +
drivers/net/team/team.c | 1 +
drivers/net/wireguard/netlink.c | 1 +
drivers/net/wireless/mac80211_hwsim.c | 1 +
drivers/target/target_core_user.c | 1 +
drivers/thermal/thermal_netlink.c | 1 +
drivers/vdpa/vdpa.c | 1 +
fs/cifs/netlink.c | 1 +
fs/dlm/netlink.c | 1 +
fs/ksmbd/transport_ipc.c | 1 +
include/linux/genl_magic_func.h | 1 +
include/net/genetlink.h | 3 +++
kernel/taskstats.c | 1 +
net/batman-adv/netlink.c | 1 +
net/core/devlink.c | 1 +
net/core/drop_monitor.c | 1 +
net/ethtool/netlink.c | 1 +
net/hsr/hsr_netlink.c | 1 +
net/ieee802154/netlink.c | 1 +
net/ieee802154/nl802154.c | 1 +
net/ipv4/fou.c | 1 +
net/ipv4/tcp_metrics.c | 1 +
net/ipv6/ila/ila_main.c | 1 +
net/ipv6/ioam6.c | 1 +
net/ipv6/seg6.c | 1 +
net/l2tp/l2tp_netlink.c | 1 +
net/mptcp/pm_netlink.c | 1 +
net/ncsi/ncsi-netlink.c | 1 +
net/netfilter/ipvs/ip_vs_ctl.c | 1 +
net/netlabel/netlabel_calipso.c | 1 +
net/netlabel/netlabel_cipso_v4.c | 1 +
net/netlabel/netlabel_mgmt.c | 1 +
net/netlabel/netlabel_unlabeled.c | 1 +
net/netlink/genetlink.c | 4 ++++
net/nfc/netlink.c | 1 +
net/openvswitch/conntrack.c | 1 +
net/openvswitch/datapath.c | 3 +++
net/openvswitch/meter.c | 1 +
net/psample/psample.c | 1 +
net/smc/smc_netlink.c | 3 ++-
net/smc/smc_pnet.c | 3 ++-
net/tipc/netlink.c | 1 +
net/tipc/netlink_compat.c | 1 +
net/wireless/nl80211.c | 1 +
47 files changed, 56 insertions(+), 2 deletions(-)
Acked-by: Paul Moore <paul(a)paul-moore.com> (NetLabel)
--
paul-moore.com