Re: bond: take rcu lock in bond_poll_controller
From: Cong Wang <hidden>
Date: 2018-09-29 01:27:52
From: Cong Wang <hidden>
Date: 2018-09-29 01:27:52
On Fri, Sep 28, 2018 at 12:02 PM Cong Wang [off-list ref] wrote:
On Fri, Sep 28, 2018 at 11:26 AM Dave Jones [off-list ref] wrote:quoted
diff --git a/net/core/netpoll.c b/net/core/netpoll.c index 3219a2932463..4f9494381635 100644 --- a/net/core/netpoll.c +++ b/net/core/netpoll.c@@ -330,6 +330,7 @@ void netpoll_send_skb_on_dev(struct netpoll *np, struct sk_buff *skb, /* It is up to the caller to keep npinfo alive. */ struct netpoll_info *npinfo; + rcu_read_lock(); lockdep_assert_irqs_disabled(); npinfo = rcu_dereference_bh(np->dev->npinfo);I think you probably need rcu_read_lock_bh() to satisfy rcu_deference_bh()...
But irq is disabled here, so not sure if rcu_read_lock_bh() could cause trouble... Interesting...