]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: memzero mp params when closing a queue
authorPavel Begunkov <asml.silence@gmail.com>
Mon, 13 Oct 2025 21:03:45 +0000 (22:03 +0100)
committerPavel Begunkov <asml.silence@gmail.com>
Wed, 14 Jan 2026 02:13:36 +0000 (02:13 +0000)
Instead of resetting memory provider parameters one by one in
__net_mp_{open,close}_rxq, memzero the entire structure. It'll be used
to extend the structure.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
net/core/netdev_rx_queue.c

index c7d9341b76307bddbdf0c7e10ef3ff5fe074b346..a0083f176a9cc5cec7964766a05878bfff77dff9 100644 (file)
@@ -139,10 +139,9 @@ int __net_mp_open_rxq(struct net_device *dev, unsigned int rxq_idx,
 
        rxq->mp_params = *p;
        ret = netdev_rx_queue_restart(dev, rxq_idx);
-       if (ret) {
-               rxq->mp_params.mp_ops = NULL;
-               rxq->mp_params.mp_priv = NULL;
-       }
+       if (ret)
+               memset(&rxq->mp_params, 0, sizeof(rxq->mp_params));
+
        return ret;
 }
 
@@ -179,8 +178,7 @@ void __net_mp_close_rxq(struct net_device *dev, unsigned int ifq_idx,
                         rxq->mp_params.mp_priv != old_p->mp_priv))
                return;
 
-       rxq->mp_params.mp_ops = NULL;
-       rxq->mp_params.mp_priv = NULL;
+       memset(&rxq->mp_params, 0, sizeof(rxq->mp_params));
        err = netdev_rx_queue_restart(dev, ifq_idx);
        WARN_ON(err && err != -ENETDOWN);
 }