]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: page_pool: silence static analysis warnings in page_pool_nl_stats_fill()
authorZhao Dongdong <zhaodongdong@kylinos.cn>
Tue, 26 May 2026 06:51:56 +0000 (14:51 +0800)
committerJakub Kicinski <kuba@kernel.org>
Thu, 28 May 2026 00:37:50 +0000 (17:37 -0700)
nla_nest_start() can return NULL if the skb runs out of space.

Jakub:
There is no bug here, if nla_nest_start() failed there's not space
left in the message. Next nla_put_uint() will also fail and we will
exit via nla_nest_cancel() which handles NULL just fine.
Various people keep sending us this patch so let's commit this.

Signed-off-by: Zhao Dongdong <zhaodongdong@kylinos.cn>
Reviewed-by: Alexander Lobakin <aleksander.lobakin@intel.com>
Link: https://patch.msgid.link/tencent_A82EBAB365A8B888B66FDCF115A3DCB8880A@qq.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/core/page_pool_user.c

index 01509d1b3cbaac88bd216a2d5b3e0eb067870406..1cdef13e6cead19df87de5bb3e4098c42c3fbf46 100644 (file)
@@ -135,6 +135,8 @@ page_pool_nl_stats_fill(struct sk_buff *rsp, const struct page_pool *pool,
                return -EMSGSIZE;
 
        nest = nla_nest_start(rsp, NETDEV_A_PAGE_POOL_STATS_INFO);
+       if (!nest)
+               goto err_cancel_msg;
 
        if (nla_put_uint(rsp, NETDEV_A_PAGE_POOL_ID, pool->user.id) ||
            (pool->slow.netdev->ifindex != LOOPBACK_IFINDEX &&