mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-04 12:16:51 -04:00
net: fib_rules: Use nlmsg_payload in fib_{new,del}rule()
Leverage the new nlmsg_payload() helper to avoid checking for message size and then reading the nlmsg data. Suggested-by: Kuniyuki Iwashima <kuniyu@amazon.com> Signed-off-by: Breno Leitao <leitao@debian.org> Reviewed-by: Kuniyuki Iwashima <kuniyu@amazon.com> Link: https://patch.msgid.link/20250414-nlmsg-v2-10-3d90cb42c6af@debian.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
4c113c803f
commit
8ff9530361
@@ -852,13 +852,14 @@ int fib_newrule(struct net *net, struct sk_buff *skb, struct nlmsghdr *nlh,
|
||||
struct netlink_ext_ack *extack, bool rtnl_held)
|
||||
{
|
||||
struct fib_rule *rule = NULL, *r, *last = NULL;
|
||||
struct fib_rule_hdr *frh = nlmsg_data(nlh);
|
||||
int err = -EINVAL, unresolved = 0;
|
||||
struct fib_rules_ops *ops = NULL;
|
||||
struct nlattr *tb[FRA_MAX + 1];
|
||||
bool user_priority = false;
|
||||
struct fib_rule_hdr *frh;
|
||||
|
||||
if (nlh->nlmsg_len < nlmsg_msg_size(sizeof(*frh))) {
|
||||
frh = nlmsg_payload(nlh, sizeof(*frh));
|
||||
if (!frh) {
|
||||
NL_SET_ERR_MSG(extack, "Invalid msg length");
|
||||
goto errout;
|
||||
}
|
||||
@@ -980,13 +981,14 @@ int fib_delrule(struct net *net, struct sk_buff *skb, struct nlmsghdr *nlh,
|
||||
struct netlink_ext_ack *extack, bool rtnl_held)
|
||||
{
|
||||
struct fib_rule *rule = NULL, *nlrule = NULL;
|
||||
struct fib_rule_hdr *frh = nlmsg_data(nlh);
|
||||
struct fib_rules_ops *ops = NULL;
|
||||
struct nlattr *tb[FRA_MAX+1];
|
||||
bool user_priority = false;
|
||||
struct fib_rule_hdr *frh;
|
||||
int err = -EINVAL;
|
||||
|
||||
if (nlh->nlmsg_len < nlmsg_msg_size(sizeof(*frh))) {
|
||||
frh = nlmsg_payload(nlh, sizeof(*frh));
|
||||
if (!frh) {
|
||||
NL_SET_ERR_MSG(extack, "Invalid msg length");
|
||||
goto errout;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user