[PATCH net-next v2 00/10] net: Introduce nlmsg_payload helper
From: Breno Leitao
Date: Mon Apr 14 2025 - 09:24:55 EST
In the current codebase, there are multiple instances where the
structure size is checked before assigning it to a Netlink message. This
check is crucial for ensuring that the structure is correctly mapped
onto the Netlink message, providing a layer of security.
To streamline this process, Jakub Kicinski suggested creating a helper
function, `nlmsg_payload`, which verifies if the structure fits within
the message. If it does, the function returns the data; otherwise, it
returns NULL. This approach simplifies the code and reduces redundancy.
This patchset introduces the `nlmsg_payload` helper and updates several
parts of the code to use it. Further updates will follow in subsequent
patchsets.
Signed-off-by: Breno Leitao <leitao@xxxxxxxxxx>
---
Changes in v2:
- Add the "Return" kdoc entry for nlmsg_payload() (Jakub)
- Use the same function in some other places (Kuniyuki Iwashima)
- Link to v1: https://lore.kernel.org/r/20250411-nlmsg-v1-0-ddd4e065cb15@xxxxxxxxxx
---
Breno Leitao (10):
netlink: Introduce nlmsg_payload helper
neighbour: Use nlmsg_payload in neightbl_valid_dump_info
neighbour: Use nlmsg_payload in neigh_valid_get_req
rtnetlink: Use nlmsg_payload in valid_fdb_dump_strict
mpls: Use nlmsg_payload in mpls_valid_fib_dump_req
ipv6: Use nlmsg_payload in inet6_valid_dump_ifaddr_req
ipv6: Use nlmsg_payload in inet6_rtm_valid_getaddr_req
mpls: Use nlmsg_payload in mpls_valid_getroute_req
net: fib_rules: Use nlmsg_payload in fib_valid_dumprule_req
net: fib_rules: Use nlmsg_payload in fib_{new,del}rule()
include/net/netlink.h | 16 ++++++++++++++++
net/core/fib_rules.c | 14 ++++++++------
net/core/neighbour.c | 8 ++++----
net/core/rtnetlink.c | 4 ++--
net/ipv6/addrconf.c | 8 ++++----
net/mpls/af_mpls.c | 8 ++++----
6 files changed, 38 insertions(+), 20 deletions(-)
---
base-commit: 6a325aed130bb68790e765f923e76ec5669d2da7
change-id: 20250411-nlmsg-2dd8c30ba35c
Best regards,
--
Breno Leitao <leitao@xxxxxxxxxx>