Re: [PATCH 3/6] block: open code __generic_file_write_iter for blkdev writes

From: Christoph Hellwig
Date: Tue Aug 29 2023 - 09:04:27 EST


On Tue, Aug 29, 2023 at 03:06:14AM +0100, Al Viro wrote:
> On Tue, Aug 01, 2023 at 07:21:58PM +0200, Christoph Hellwig wrote:
> > @@ -569,7 +594,23 @@ static ssize_t blkdev_write_iter(struct kiocb *iocb, struct iov_iter *from)
> > iov_iter_truncate(from, size);
> > }
> >
> > - ret = __generic_file_write_iter(iocb, from);
> > + ret = file_remove_privs(file);
> > + if (ret)
> > + return ret;
>
> That chunk is a bit of a WTF generator... Thankfully,
>
> static int __file_remove_privs(struct file *file, unsigned int flags)
> {
> struct dentry *dentry = file_dentry(file);
> struct inode *inode = file_inode(file);
> int error = 0;
> int kill;
>
> if (IS_NOSEC(inode) || !S_ISREG(inode->i_mode))
> return 0;
>
> means that it's really a no-op. But I'd still suggest
> removing it, just to reduce the amount of head-scratching
> for people who'll be reading that code later...

I'll send an incremental patch to remove it once the changes hit
Linus' tree.