Re: WARNING in notify_change

From: Jan Kara
Date: Thu Apr 18 2019 - 07:04:03 EST


On Tue 16-04-19 00:54:28, Al Viro wrote:
> On Mon, Apr 15, 2019 at 04:20:17PM -0700, Khazhismel Kumykov wrote:
> > I was able to reproduce this by setting security.capability xattr on a
> > blockdev file, then writing to it - when writing to the blockdev we
> > never lock the inode, so when we clear the capability we hit this
> > lockdep warning.
> >
> > Is the issue here that we can set this xattr in the first place so we
> > have to clear it at all? Or should we really be locking the inode for
> > blockdevs after all? I'm not too familiar, but my gut says former
>
> More interesting question is, WTF do we even touch that thing for
> bdev? The thing is, mknod will cheerfully create any number of
> different filesystem objects, all giving access to the same block
> device. Which of them should have that xattr removed? It makes
> no sense whatsoever; moreover, who *cares* about caps for block
> device in the first place?
>
> And if we did, what of another way to modify the block device?
> You know, mount it read-write...

Yes, Alexander Lochman has sent a patch to silence this warning back in
February [1] by just bailing out from file_remove_privs() for non-regular
files. But so far you've ignored that patch... Will you pick it up please?

Honza

[1] https://lore.kernel.org/lkml/cbdc8071-de76-bb0a-6890-15ef21023a70@xxxxxxxxxxxxxx

--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR