On Wed, Aug 24, 2022 at 8:18 PM Jakub Kicinski kuba@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@kernel.org
CC: jiri@resnulli.us CC: johannes@sipsolutions.net CC: linux-block@vger.kernel.org CC: osmocom-net-gprs@lists.osmocom.org CC: linux-wpan@vger.kernel.org CC: wireguard@lists.zx2c4.com CC: linux-wireless@vger.kernel.org CC: linux-scsi@vger.kernel.org CC: target-devel@vger.kernel.org CC: linux-pm@vger.kernel.org CC: virtualization@lists.linux-foundation.org CC: linux-cifs@vger.kernel.org CC: cluster-devel@redhat.com CC: mptcp@lists.linux.dev CC: lvs-devel@vger.kernel.org CC: netfilter-devel@vger.kernel.org CC: linux-security-module@vger.kernel.org CC: dev@openvswitch.org CC: linux-s390@vger.kernel.org CC: tipc-discussion@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@paul-moore.com (NetLabel)