public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
From: David Howells <dhowells@redhat.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: dhowells@redhat.com, Jakub Kicinski <kuba@kernel.org>,
	netdev@vger.kernel.org, Marc Dionne <marc.dionne@auristor.com>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Paolo Abeni <pabeni@redhat.com>,
	linux-afs@lists.infradead.org, linux-kernel@vger.kernel.org,
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
	John Johansen <john.johansen@canonical.com>,
	Minas Harutyunyan <hminas@synopsys.com>,
	Simon Horman <horms@kernel.org>,
	apparmor@lists.ubuntu.com, linux-usb@vger.kernel.org,
	stable@kernel.org
Subject: Re: [PATCH net v3 04/11] list: Move on_list_rcu() to list.h and add on_list() also
Date: Tue, 31 Mar 2026 00:50:07 +0100	[thread overview]
Message-ID: <1317861.1774914607@warthog.procyon.org.uk> (raw)
In-Reply-To: <CAHk-=wjDKfhS5TvEfrsOgBgAvFMPfAd3wT=Um2AQb4txHq5sAQ@mail.gmail.com>

Linus Torvalds <torvalds@linux-foundation.org> wrote:

> Dammit, you should *KNOW* that already from core logic. Not with a
> flag, not with a function to ask, but from how things work. The whole
> "am I on a list or not" should not be a list issue, it should be
> obvious.

The circumstance in question is this: There's a list of outstanding calls
attached to the rxrpc network namespace.  Calls may hang around on it beyond
the life of the socket that created them for a little bit to deal with network
protocol cleanup, timer cleanup, work func cleanup.  Under normal operation,
calls are removed as the last ref is put.

However, should the namespace be deleted, rxrpc_destroy_all_calls() trawls the
list to report any calls that haven't been cleaned up and the calls are
deleted from the list as it reports them so that the spinlock doesn't have to
be kept held.  It used to do other work here too, IIRC, but that's no longer
the case, so perhaps this loop is not needed now, and a warning will suffice
if the list is not empty (or I could just report, say, the first 10 calls and
not worry about calling cond_resched()).  The wait at the bottom of the
function should be sufficient to hold up namespace deallocation.

If I don't delete entries in rxrpc_destroy_all_calls(), then rxrpc_put_call()
only needs list_empty() to guard against the call not having being queued yet.
I could have a flag for that, but it would be superfluous.

Note that the reason for the RCU walking is because /proc/net/rxrpc/calls
walks over the same list, so I still need the next patch which switches to
list_del_rcu().

David


  reply	other threads:[~2026-03-30 23:50 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-26 13:18 [PATCH net v3 00/11] rxrpc: Miscellaneous fixes David Howells
2026-03-26 13:18 ` [PATCH net v3 01/11] rxrpc: Fix key quota calculation for multitoken keys David Howells
2026-03-26 13:18 ` [PATCH net v3 02/11] rxrpc: Fix key parsing memleak David Howells
2026-03-26 13:18 ` [PATCH net v3 03/11] rxrpc: Fix anonymous key handling David Howells
2026-03-26 13:18 ` [PATCH net v3 04/11] list: Move on_list_rcu() to list.h and add on_list() also David Howells
2026-03-29 19:12   ` Jakub Kicinski
2026-03-29 20:01     ` Linus Torvalds
2026-03-30 10:49       ` David Howells
2026-03-30 22:14         ` Linus Torvalds
2026-03-30 23:50           ` David Howells [this message]
2026-03-31  0:17             ` Linus Torvalds
2026-03-31  0:12           ` Jakub Kicinski
2026-03-29 19:14   ` Jakub Kicinski
2026-03-26 13:18 ` [PATCH net v3 05/11] rxrpc: Fix call removal to use RCU safe deletion David Howells
2026-03-26 13:18 ` [PATCH net v3 06/11] rxrpc: Fix RxGK token loading to check bounds David Howells
2026-03-26 13:18 ` [PATCH net v3 07/11] rxrpc: Fix use of wrong skb when comparing queued RESP challenge serial David Howells
2026-03-26 13:18 ` [PATCH net v3 08/11] rxrpc: Fix rack timer warning to report unexpected mode David Howells
2026-03-26 13:18 ` [PATCH net v3 09/11] rxrpc: Fix keyring reference count leak in rxrpc_setsockopt() David Howells
2026-03-27  1:06   ` Anderson Nascimento
2026-03-27  7:24     ` David Howells
2026-03-28 14:53       ` Anderson Nascimento
2026-03-26 13:18 ` [PATCH net v3 10/11] rxrpc: Fix key reference count leak from call->key David Howells
2026-03-26 13:18 ` [PATCH net v3 11/11] rxrpc: Fix to request an ack if window is limited David Howells

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1317861.1774914607@warthog.procyon.org.uk \
    --to=dhowells@redhat.com \
    --cc=apparmor@lists.ubuntu.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=hminas@synopsys.com \
    --cc=horms@kernel.org \
    --cc=john.johansen@canonical.com \
    --cc=kuba@kernel.org \
    --cc=linux-afs@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=marc.dionne@auristor.com \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=stable@kernel.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox