Re: [GIT PULL] keys: Miscellaneous fixes/changes

From: Linus Torvalds
Date: Tue Mar 21 2023 - 14:49:17 EST


On Tue, Mar 21, 2023 at 9:43 AM David Howells <dhowells@xxxxxxxxxx> wrote:
>
> (1) Fix request_key() so that it doesn't cache a looked up key on the
> current thread if that thread is a kernel thread. The cache is
> cleared during notify_resume - but that doesn't happen in kernel
> threads. This is causing cifs DNS keys to be un-invalidateable.

I've pulled this, but I'd like people to look a bit more at this.

The issue with TIF_NOTIFY_RESUME is that it is only done on return to
user space.

And these days, PF_KTHREAD isn't the only case that never returns to
user space. PF_IO_WORKER has the exact same behaviour.

Now, to counteract this, as of this merge window (and marked for
stable) IO threads do a fake "return to user mode" handling in
io_run_task_work(), and so I think we're all good, but I'd like people
to at least think about this.

Linus