Re: d_lookup: Unable to handle kernel paging request
From: Al Viro
Date: Wed Jun 19 2019 - 13:14:51 EST
On Wed, Jun 19, 2019 at 06:51:51PM +0200, Vicente Bergas wrote:
> > What's your config, BTW? SMP and DEBUG_SPINLOCK, specifically...
>
> Hi Al,
> here it is:
> https://paste.debian.net/1088517
Aha... So LIST_BL_LOCKMASK is 1 there (same as on distro builds)...
Hell knows - how about
static inline void hlist_bl_lock(struct hlist_bl_head *b)
{
BUG_ON(((u32)READ_ONCE(*b)&~LIST_BL_LOCKMASK) == 0x01000000);
bit_spin_lock(0, (unsigned long *)b);
}
and
static inline void hlist_bl_unlock(struct hlist_bl_head *b)
{
__bit_spin_unlock(0, (unsigned long *)b);
BUG_ON(((u32)READ_ONCE(*b)&~LIST_BL_LOCKMASK) == 0x01000000);
}
to see if we can narrow down where that happens?