On Tue, May 05, 2020 at 11:59:04AM +0200, Miklos Szeredi wrote: > Whiteouts, unlike real device node should not require privileges to create. > > The general concern with device nodes is that opening them can have side > effects. The kernel already avoids zero major (see > Documentation/admin-guide/devices.txt). To be on the safe side the patch > explicitly forbids registering a char device with 0/0 number (see > cdev_add()). > > This guarantees that a non-O_PATH open on a whiteout will fail with ENODEV; > i.e. it won't have any side effect. Humm... one question: > int vfs_whiteout(struct inode *dir, struct dentry *dentry) > { > - int error = may_create(dir, dentry); > - if (error) > - return error; > - > - if (!dir->i_op->mknod) > - return -EPERM; > - > - return dir->i_op->mknod(dir, dentry, > - S_IFCHR | WHITEOUT_MODE, WHITEOUT_DEV); > + return vfs_mknod(dir, dentry, S_IFCHR | WHITEOUT_MODE, WHITEOUT_DEV); > } why do we still need to export it? I mean, it looks like a static inline fodder.