On Fri, Mar 12, 2010 at 11:01:27PM +0800, Eric Paris wrote: > On Fri, 2010-03-12 at 21:41 +0800, Wu Fengguang wrote: > > Follow the comment by Eric: > > > > Until the FMODE_ and O_ bits do not overload I think we need to check > > FMODE_EXEC and FMODE_NONOTIFY (if you have that one) inside fcntl_init() > > as well. I guess I'll send a patch to someone ?Al? to add FMODE_EXEC to > > the list.... > > > > CC: Eric Paris <eparis@xxxxxxxxxx> > > Signed-off-by: Wu Fengguang <fengguang.wu@xxxxxxxxx> > > --- > > fs/fcntl.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > --- linux-mm.orig/fs/fcntl.c 2010-03-12 21:27:12.000000000 +0800 > > +++ linux-mm/fs/fcntl.c 2010-03-12 21:38:51.000000000 +0800 > > @@ -748,7 +748,8 @@ static int __init fcntl_init(void) > > O_TRUNC | O_APPEND | O_NONBLOCK | > > __O_SYNC | O_DSYNC | FASYNC | > > O_DIRECT | O_LARGEFILE | O_DIRECTORY | > > - O_NOFOLLOW | O_NOATIME | O_CLOEXEC > > + O_NOFOLLOW | O_NOATIME | O_CLOEXEC | > > + FMODE_EXEC > > )); > > I think we need to update the hweight as well, otherwise I sure hope > this would panic.... Ah faint.. Here is the fixed one. Thanks, Fengguang --- Subject: vfs: O_* bit numbers uniqueness check fix From: Wu Fengguang <fengguang.wu@xxxxxxxxx> Date: Fri Mar 12 21:38:54 CST 2010 Follow the comment by Eric: Until the FMODE_ and O_ bits do not overload I think we need to check FMODE_EXEC and FMODE_NONOTIFY (if you have that one) inside fcntl_init() as well. I guess I'll send a patch to someone ?Al? to add FMODE_EXEC to the list.... CC: Eric Paris <eparis@xxxxxxxxxx> Signed-off-by: Wu Fengguang <fengguang.wu@xxxxxxxxx> --- fs/fcntl.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) --- linux-mm.orig/fs/fcntl.c 2010-03-12 21:27:12.000000000 +0800 +++ linux-mm/fs/fcntl.c 2010-03-12 23:11:46.000000000 +0800 @@ -742,13 +742,14 @@ EXPORT_SYMBOL(kill_fasync); static int __init fcntl_init(void) { /* please add new bits here to ensure allocation uniqueness */ - BUILD_BUG_ON(17 != HWEIGHT32( + BUILD_BUG_ON(18 != HWEIGHT32( O_RDONLY | O_WRONLY | O_RDWR | O_CREAT | O_EXCL | O_NOCTTY | O_TRUNC | O_APPEND | O_NONBLOCK | __O_SYNC | O_DSYNC | FASYNC | O_DIRECT | O_LARGEFILE | O_DIRECTORY | - O_NOFOLLOW | O_NOATIME | O_CLOEXEC + O_NOFOLLOW | O_NOATIME | O_CLOEXEC | + FMODE_EXEC )); fasync_cache = kmem_cache_create("fasync_cache", -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html