]> git.baikalelectronics.ru Git - kernel.git/commit
genetlink: start to validate reserved header bytes
authorJakub Kicinski <kuba@kernel.org>
Thu, 25 Aug 2022 00:18:30 +0000 (17:18 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 29 Aug 2022 11:47:15 +0000 (12:47 +0100)
commitb1055b8716766f9f06e9039383633b3b5d15df3c
tree5669b75a062436435dc9d4354c668d0f61b7146c
parent2791e6f16dab602baaa1b9dddacb1be84258f35f
genetlink: start to validate reserved header bytes

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@kernel.org>
Acked-by: Paul Moore <paul@paul-moore.com> (NetLabel)
Signed-off-by: David S. Miller <davem@davemloft.net>
47 files changed:
drivers/block/nbd.c
drivers/net/gtp.c
drivers/net/ieee802154/mac802154_hwsim.c
drivers/net/macsec.c
drivers/net/team/team.c
drivers/net/wireguard/netlink.c
drivers/net/wireless/mac80211_hwsim.c
drivers/target/target_core_user.c
drivers/thermal/thermal_netlink.c
drivers/vdpa/vdpa.c
fs/cifs/netlink.c
fs/dlm/netlink.c
fs/ksmbd/transport_ipc.c
include/linux/genl_magic_func.h
include/net/genetlink.h
kernel/taskstats.c
net/batman-adv/netlink.c
net/core/devlink.c
net/core/drop_monitor.c
net/ethtool/netlink.c
net/hsr/hsr_netlink.c
net/ieee802154/netlink.c
net/ieee802154/nl802154.c
net/ipv4/fou.c
net/ipv4/tcp_metrics.c
net/ipv6/ila/ila_main.c
net/ipv6/ioam6.c
net/ipv6/seg6.c
net/l2tp/l2tp_netlink.c
net/mptcp/pm_netlink.c
net/ncsi/ncsi-netlink.c
net/netfilter/ipvs/ip_vs_ctl.c
net/netlabel/netlabel_calipso.c
net/netlabel/netlabel_cipso_v4.c
net/netlabel/netlabel_mgmt.c
net/netlabel/netlabel_unlabeled.c
net/netlink/genetlink.c
net/nfc/netlink.c
net/openvswitch/conntrack.c
net/openvswitch/datapath.c
net/openvswitch/meter.c
net/psample/psample.c
net/smc/smc_netlink.c
net/smc/smc_pnet.c
net/tipc/netlink.c
net/tipc/netlink_compat.c
net/wireless/nl80211.c