Re: [PATCH v2 ] devcoredump : Serialize devcd_del work

From: Mukesh Ojha
Date: Tue Apr 26 2022 - 10:04:43 EST




On 4/26/2022 1:07 AM, Thomas Gleixner wrote:
Cc+: Kees

On Mon, Apr 25 2022 at 19:19, Johannes Berg wrote:
On Mon, 2022-04-25 at 19:00 +0200, Thomas Gleixner wrote:

Johannes, can you please explain whether this immediate flush in
disabled_store() is really required and if so, why?

I don't really know, as I remember that requirement (or maybe even code,
not sure) came from Kees, who needed the lockdown.

Given the use case (ChromeOS?) I'm not sure I see a need to flush all of
them, since I guess a typical system would set the lockdown early in
boot and hopefully not have a crash-dump around already.

That said, I don't think the diagram you made works - fn() during the
iteration is guaranteed to be invoked with a reference of its own, so
the put_device() there can't be the last reference, only as fn() returns
you'd put the last reference *there*, freeing it.

Bah, you are right, it's magically protected by the klist ref, which
prevents devcd from going away. Damned obvious.

This really needs comments why this all can magically "work".

Thanks,

tglx


Thanks you all for your time in reviewing this.
I tried to address few comments in v3 here.

https://lore.kernel.org/lkml/1650981343-11739-1-git-send-email-quic_mojha@xxxxxxxxxxx/

While, we would like to hear from Kees about reason of immediate flush from disabled_store().

Regards,
-Mukesh