From: Stephen Rothwell on 1 Jun 2010 00:20 Hi all, Today's linux-next merge of the drbd tree got a conflict in fs/pipe.c between commit cc967be54710d97c05229b2e5ba2d00df84ddd64 ("fs: Add missing mutex_unlock") from Linus' tree and commits 0191f8697bbdfefcd36e7b8dc3eeddfe82893e4b ("pipe: F_SETPIPE_SZ should return -EPERM for non-root") and b9598db3401282bb27b4aef77e3eee12015f7f29 ("pipe: make F_{GET,SET}PIPE_SZ deal with byte sizes") from the drbd tree. I fixed it up (see below) and can carry the fix for a while. -- Cheers, Stephen Rothwell sfr(a)canb.auug.org.au diff --cc fs/pipe.c index db6eaab,bdd3f96..0000000 --- a/fs/pipe.c +++ b/fs/pipe.c @@@ -1174,23 -1162,30 +1168,34 @@@ long pipe_fcntl(struct file *file, unsi mutex_lock(&pipe->inode->i_mutex); switch (cmd) { - case F_SETPIPE_SZ: - if (!capable(CAP_SYS_ADMIN) && arg > pipe_max_pages) { - ret = -EINVAL; + case F_SETPIPE_SZ: { + unsigned long nr_pages; + + /* + * Currently the array must be a power-of-2 size, so adjust + * upwards if needed. + */ + nr_pages = (arg + PAGE_SIZE - 1) >> PAGE_SHIFT; + nr_pages = roundup_pow_of_two(nr_pages); + - if (!capable(CAP_SYS_ADMIN) && nr_pages > pipe_max_pages) - return -EPERM; ++ if (!capable(CAP_SYS_ADMIN) && nr_pages > pipe_max_pages) { ++ ret = -EPERM; + goto out; + } + /* * The pipe needs to be at least 2 pages large to * guarantee POSIX behaviour. */ - if (arg < 2) { - if (nr_pages < 2) - return -EINVAL; ++ if (nr_pages < 2) { + ret = -EINVAL; + goto out; + } - ret = pipe_set_size(pipe, arg); + ret = pipe_set_size(pipe, nr_pages); break; + } case F_GETPIPE_SZ: - ret = pipe->buffers; + ret = pipe->buffers * PAGE_SIZE; break; default: ret = -EINVAL; -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Christoph Hellwig on 1 Jun 2010 04:20 On Tue, Jun 01, 2010 at 02:13:24PM +1000, Stephen Rothwell wrote: > Hi all, > > Today's linux-next merge of the drbd tree got a conflict in fs/pipe.c > between commit cc967be54710d97c05229b2e5ba2d00df84ddd64 ("fs: Add missing > mutex_unlock") from Linus' tree and commits > 0191f8697bbdfefcd36e7b8dc3eeddfe82893e4b ("pipe: F_SETPIPE_SZ should > return -EPERM for non-root") and b9598db3401282bb27b4aef77e3eee12015f7f29 > ("pipe: make F_{GET,SET}PIPE_SZ deal with byte sizes") from the drbd tree. > > I fixed it up (see below) and can carry the fix for a while. Why is the drbd tree touching fs/pipe.c anyway? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Jens Axboe on 1 Jun 2010 04:30 On Tue, Jun 01 2010, Christoph Hellwig wrote: > On Tue, Jun 01, 2010 at 02:13:24PM +1000, Stephen Rothwell wrote: > > Hi all, > > > > Today's linux-next merge of the drbd tree got a conflict in fs/pipe.c > > between commit cc967be54710d97c05229b2e5ba2d00df84ddd64 ("fs: Add missing > > mutex_unlock") from Linus' tree and commits > > 0191f8697bbdfefcd36e7b8dc3eeddfe82893e4b ("pipe: F_SETPIPE_SZ should > > return -EPERM for non-root") and b9598db3401282bb27b4aef77e3eee12015f7f29 > > ("pipe: make F_{GET,SET}PIPE_SZ deal with byte sizes") from the drbd tree. > > > > I fixed it up (see below) and can carry the fix for a while. > > Why is the drbd tree touching fs/pipe.c anyway? A quick guess would be that it's based off for-linus in the block tree, which has a patch or two in that area. Why it would conflict and simply not note that it's the same change, perhaps a rebase or something? Not sure. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Stephen Rothwell on 1 Jun 2010 04:30 [Replacing Jens' Oracle address ...] Hi Christoph, On Tue, 1 Jun 2010 04:18:23 -0400 Christoph Hellwig <hch(a)infradead.org> wrote: > > On Tue, Jun 01, 2010 at 02:13:24PM +1000, Stephen Rothwell wrote: > > Hi all, > > > > Today's linux-next merge of the drbd tree got a conflict in fs/pipe.c > > between commit cc967be54710d97c05229b2e5ba2d00df84ddd64 ("fs: Add missing > > mutex_unlock") from Linus' tree and commits > > 0191f8697bbdfefcd36e7b8dc3eeddfe82893e4b ("pipe: F_SETPIPE_SZ should > > return -EPERM for non-root") and b9598db3401282bb27b4aef77e3eee12015f7f29 > > ("pipe: make F_{GET,SET}PIPE_SZ deal with byte sizes") from the drbd tree. > > > > I fixed it up (see below) and can carry the fix for a while. > > Why is the drbd tree touching fs/pipe.c anyway? It is based on the block tree. I assume that it is currently based on a version of the block tree that Jens has not yet pushed into linux-next. :-( -- Cheers, Stephen Rothwell sfr(a)canb.auug.org.au http://www.canb.auug.org.au/~sfr/
From: Jens Axboe on 1 Jun 2010 04:40 On Tue, Jun 01 2010, Stephen Rothwell wrote: > [Replacing Jens' Oracle address ...] > > Hi Christoph, > > On Tue, 1 Jun 2010 04:18:23 -0400 Christoph Hellwig <hch(a)infradead.org> wrote: > > > > On Tue, Jun 01, 2010 at 02:13:24PM +1000, Stephen Rothwell wrote: > > > Hi all, > > > > > > Today's linux-next merge of the drbd tree got a conflict in fs/pipe.c > > > between commit cc967be54710d97c05229b2e5ba2d00df84ddd64 ("fs: Add missing > > > mutex_unlock") from Linus' tree and commits > > > 0191f8697bbdfefcd36e7b8dc3eeddfe82893e4b ("pipe: F_SETPIPE_SZ should > > > return -EPERM for non-root") and b9598db3401282bb27b4aef77e3eee12015f7f29 > > > ("pipe: make F_{GET,SET}PIPE_SZ deal with byte sizes") from the drbd tree. > > > > > > I fixed it up (see below) and can carry the fix for a while. > > > > Why is the drbd tree touching fs/pipe.c anyway? > > It is based on the block tree. I assume that it is currently based on a > version of the block tree that Jens has not yet pushed into > linux-next. :-( Just checked, and it is indeed for-next that is behind... Will update it. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|
Next
|
Last
Pages: 1 2 3 Prev: Get back to me if you are interested Next: Add a helper function in PCI IOV to get VF device |