Messages in this thread | | | Date | Sat, 19 Nov 2011 10:06:55 +0200 | Subject | Re: [PATCH v2] pipe: Fail cleanly when root tries F_SETPIPE_SZ with big size | From | Pekka Enberg <> |
| |
On Sat, Nov 19, 2011 at 9:34 AM, Sasha Levin <levinsasha928@gmail.com> wrote: > When a user with the CAP_SYS_RESOURCE cap tries to F_SETPIPE_SZ a pipe with > size bigger than what kmalloc() can alloc it spits out an ugly warning:
[snip]
> Instead, make kcalloc() handle the overflow case and fail quietly. > > Cc: Alexander Viro <viro@zeniv.linux.org.uk> > Cc: Pekka Enberg <penberg@kernel.org> > Cc: linux-fsdevel@vger.kernel.org > Signed-off-by: Sasha Levin <levinsasha928@gmail.com>
Acked-by: Pekka Enberg <penberg@kernel.org>
> --- > fs/pipe.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/fs/pipe.c b/fs/pipe.c > index 4065f07..3e38dc6 100644 > --- a/fs/pipe.c > +++ b/fs/pipe.c > @@ -1137,7 +1137,7 @@ static long pipe_set_size(struct pipe_inode_info *pipe, unsigned long nr_pages) > if (nr_pages < pipe->nrbufs) > return -EBUSY; > > - bufs = kcalloc(nr_pages, sizeof(struct pipe_buffer), GFP_KERNEL); > + bufs = kcalloc(nr_pages, sizeof(struct pipe_buffer), GFP_KERNEL | __GFP_NOWARN); > if (unlikely(!bufs)) > return -ENOMEM; > > -- > 1.7.8.rc1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |