Re: [PATCH v2 ] devcoredump : Serialize devcd_del work

From: Kees Cook
Date: Tue Apr 26 2022 - 17:26:04 EST


On Tue, Apr 26, 2022 at 07:34:07PM +0530, Mukesh Ojha wrote:
>
>
> 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().

This is lost to ancient history in my brain right now. Do you have any
references to past threads on this? The only thing I remember about
device memory dumping was just to make sure that lockdown's
CONFIDENTIALITY mode would block it.

--
Kees Cook