On Fri 12-02-21 09:38:35, Sascha Hauer wrote: > On Thu, Feb 11, 2021 at 03:38:13PM +0000, Christoph Hellwig wrote: > > > + if (!mountpoint) > > > + return -ENODEV; > > > + > > > + ret = user_path_at(AT_FDCWD, mountpoint, > > > + LOOKUP_FOLLOW | LOOKUP_AUTOMOUNT, &mountpath); > > > > user_path_at handles an empty path, although you'll get EFAULT instead. > > Do we care about the -ENODEV here? > > The quotactl manpage documents EFAULT as error code for invalid addr or > special argument, so we really should return -EFAULT here. > > Existing quotactl gets this wrong as well: > > if (!special) { > if (cmds == Q_SYNC) > return quota_sync_all(type); > return -ENODEV; > } > > Should we fix this or is there userspace code that is confused by a changed > return value? I'd leave the original quotactl(2) as is. There's no strong reason to risk breaking some userspace. For the new syscall, I agree we can just standardize the return value, there ENODEV makes even less sense since there's no device in that call. Honza -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR