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

From: Al Viro
Date: Mon Aug 28 2023 - 22:12:22 EST


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...