--- ./fs/namei.c.orig Wed Aug 18 22:42:11 2004 +++ ./fs/namei.c Wed Aug 18 22:43:14 2004 @@ -1080,8 +1080,9 @@ up(&dir->d_inode->i_sem); goto exit; } - error = vfs_create(dir->d_inode, dentry, - mode & ~current->fs->umask); + if (!IS_POSIXACL(dir->d_inode)) + mode &= ~current->fs->umask; + error = vfs_create(dir->d_inode, dentry, mode); up(&dir->d_inode->i_sem); dput(nd->dentry); nd->dentry = dentry;