Thread (2 messages) 2 messages, 2 authors, 2023-10-29

Re: [PATCH] eventfs: Test for ei->is_freed when accessing ei->dentry

From: Naresh Kamboju <hidden>
Date: 2023-10-29 05:22:59
Also in: lkml

On Sun, 29 Oct 2023 at 02:07, Steven Rostedt [off-list ref] wrote:
From: "Steven Rostedt (Google)" <rostedt@goodmis.org>

The eventfs_inode (ei) is protected by SRCU, but the ei->dentry is not. It
is protected by the eventfs_mutex. Anytime the eventfs_mutex is released,
and access to the ei->dentry needs to be done, it should first check if
ei->is_freed is set under the eventfs_mutex. If it is, then the ei->dentry
is invalid and must not be used. The ei->dentry must only be accessed
under the eventfs_mutex and after checking if ei->is_freed is set.

When the ei is being freed, it will (under the eventfs_mutex) set is_freed
and at the same time move the dentry to a free list to be cleared after
the eventfs_mutex is released. This means that any access to the
ei->dentry must check first if ei->is_freed is set, because if it is, then
the dentry is on its way to be freed.

Also add comments to describe this better.

Link: https://lore.kernel.org/all/CA+G9fYt6pY+tMZEOg=SoEywQOe19fGP3uR15SGowkdK+_X85Cg@mail.gmail.com/ (local)
Link: https://lore.kernel.org/all/CA+G9fYuDP3hVQ3t7FfrBAjd_WFVSurMgCepTxunSJf=MTe=6aA@mail.gmail.com/ (local)

Fixes: 5790b1fb3d672 ("eventfs: Remove eventfs_file and just use eventfs_inode")
Reported-by: Reported-by: Linux Kernel Functional Testing <redacted>
In the above line "Reported-by:" is twice.
Reported-by: Naresh Kamboju <redacted>
Reported-by: Beau Belgrave <redacted>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
I am running tests on this patch and will get back to you shortly.

- Naresh
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help