Re: [PATCH net-next] genetlink: start to validate reserved header bytes

Paul Moore
2022-08-25T19:22:10Z

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)

--
paul-moore.com