Commit 0191f869 authored by Jens Axboe's avatar Jens Axboe

pipe: F_SETPIPE_SZ should return -EPERM for non-root

If the passed in size is larger than what has been set as the
system wide limit and the user is not root, we want to return
permission denied (not invalid value).
Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
parent e36f724b
...@@ -1170,7 +1170,7 @@ long pipe_fcntl(struct file *file, unsigned int cmd, unsigned long arg) ...@@ -1170,7 +1170,7 @@ long pipe_fcntl(struct file *file, unsigned int cmd, unsigned long arg)
switch (cmd) { switch (cmd) {
case F_SETPIPE_SZ: case F_SETPIPE_SZ:
if (!capable(CAP_SYS_ADMIN) && arg > pipe_max_pages) if (!capable(CAP_SYS_ADMIN) && arg > pipe_max_pages)
return -EINVAL; return -EPERM;
/* /*
* The pipe needs to be at least 2 pages large to * The pipe needs to be at least 2 pages large to
* guarantee POSIX behaviour. * guarantee POSIX behaviour.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment