Messages in this thread | | | Date | Tue, 28 Jan 2014 19:26:08 -0800 | Subject | Re: [git pull] vfs pile 1 | From | Linus Torvalds <> |
| |
On Mon, Jan 27, 2014 at 6:25 AM, Al Viro <viro@zeniv.linux.org.uk> wrote: > Assorted stuff; the biggest pile here is Christoph's ACL series. > Plus assorted cleanups and fixes all over the place... There will be > another pile later this week.
The posix_acl_chmod() code looks wrong.
Not that it looked right before either, but whatever. The code basically looks like some variation of this in most setattr() implementations:
if (ia_valid & ATTR_MODE) rc = posix_acl_chmod(inode, inode->i_mode);
but the mode we're changing to (and what ATTR_MODE guards) is actually attr->ia_mode, not inode->i_mode. And quite frankly, passing in inode->i_mode looks stupid, since we're already passing in the inode pointer, so that's just redundant and pointless information.
Anyway, I noticed this after doing the (untested, and still un-acked - hint, hint) ceph conversion. In that, I made ceph use attr->ia_mode. Maybe that was wrong, but at least it's not insane and stupid like the other filesystem implementations are.
Comments?
Linus
| |