Re: [PATCH v3 12/24] erofs: introduce tagged pointer

From: Steven Rostedt
Date: Mon Jul 22 2019 - 10:40:53 EST


On Mon, 22 Jul 2019 09:16:22 +0300
Amir Goldstein <amir73il@xxxxxxxxx> wrote:

> CC kernel/trace maintainers for RB_PAGE_HEAD/RB_PAGE_UPDATE
> and kernel/locking maintainers for RT_MUTEX_HAS_WAITERS

Interesting.

>
> > (Is there some use scenerios in overlayfs and fanotify?...)
>
> We had one in overlayfs once. It is gone now.
>
> >
> > and I'm not sure Al could accept __fdget conversion (I just wanted to give a example then...)
> >
> > Therefore, I tend to keep silence and just promote EROFS... some better ideas?...
> >
>
> Writing example conversion patches to demonstrate cleaner code
> and perhaps reduce LOC seems the best way.

Yes, I would be more interested in seeing patches that clean up the
code than just talking about it.

>
> Also pointing out that fixing potential bugs in one implementation is preferred
> to having to patch all copied implementations.
>
> I wonder if tagptr_unfold_tags() doesn't need READ_ONCE() as per:
> 1be5d4fa0af3 locking/rtmutex: Use READ_ONCE() in rt_mutex_owner()
>
> rb_list_head() doesn't have READ_ONCE()

Hmm, even if the compiler decided to reread the data, it would still
need to clear the extra bits wouldn't it? Or am I missing something?

-- Steve

> Nor does hlist_bl_first() and BPF_MAP_PTR().
>
> Are those all safe due to safe call sites? or potentially broken?