[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20221107195526.5ef1262e@kernel.org>
Date: Mon, 7 Nov 2022 19:55:26 -0800
From: Jakub Kicinski <kuba@...nel.org>
To: Jacob Keller <jacob.e.keller@...el.com>
Cc: Leon Romanovsky <leon@...nel.org>,
"Ruhl, Michael J" <michael.j.ruhl@...el.com>,
"Nguyen, Anthony L" <anthony.l.nguyen@...el.com>,
"davem@...emloft.net" <davem@...emloft.net>,
"pabeni@...hat.com" <pabeni@...hat.com>,
"edumazet@...gle.com" <edumazet@...gle.com>,
Kees Cook <keescook@...omium.org>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"Brandeburg, Jesse" <jesse.brandeburg@...el.com>,
"intel-wired-lan@...ts.osuosl.org" <intel-wired-lan@...ts.osuosl.org>,
"G, GurucharanX" <gurucharanx.g@...el.com>
Subject: Re: [PATCH net-next 5/6] igb: Do not free q_vector unless new one
was allocated
On Mon, 7 Nov 2022 10:35:14 -0800 Jacob Keller wrote:
> > I understand the issue what you are trying to solve, I just don't
> > understand your RCU code. I would expect calls to rcu_dereference()
> > in order to get q_vector and rcu_assign_pointer() to clear
> > adapter->q_vector[v_idx], but igb has none.
>
> the uses of kfree_rcu were introduced by 5536d2102a2d ("igb: Combine
> q_vector and ring allocation into a single function")
>
> The commit doesn't mention switching from kfree to kfree_rcu and I
> suspect that the igb driver is not actually really using RCU semantics
> properly.
>
> The closest explanation is that the get_stats64 function might be
> accessing the ring and thus needs the RCU grace period.. but I think
> you're right in that we're missing the necessary RCU access macros.
Alright, expecting a follow up for this.
Powered by blists - more mailing lists