On Fri, 2009-08-07 at 06:05 -0400, Amerigo Wang wrote: > V2 -> V3: > Call notify_change() before clearing suid/sgid. > Thanks to OGAWA Hirofumi. > > V1 -> V2: > Introduce dentry_remove_suid(), and use it in do_truncate(). > Thanks to Eric Paris. > > > When suid is set and the non-owner user has write permission, > any writing into this file should be allowed and suid should be > removed after that. > > However, current kernel only allows writing without truncations, > when we do truncations on that file, we get EPERM. This is a bug. > > Steps to reproduce this bug: > > % ls -l rootdir/file1 > -rwsrwsrwx 1 root root 3 Jun 25 15:42 rootdir/file1 > % echo h > rootdir/file1 > zsh: operation not permitted: rootdir/file1 > % ls -l rootdir/file1 > -rwsrwsrwx 1 root root 3 Jun 25 15:42 rootdir/file1 > % echo h >> rootdir/file1 > % ls -l rootdir/file1 > -rwxrwxrwx 1 root root 5 Jun 25 16:34 rootdir/file1 > > This patch fixes it. > > Signed-off-by: WANG Cong <amwang@xxxxxxxxxx> > Cc: Eric Sandeen <esandeen@xxxxxxxxxx> > Cc: Eric Paris <eparis@xxxxxxxxxx> > Cc: Eugene Teo <eteo@xxxxxxxxxx> > Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> > Cc: hirofumi@xxxxxxxxxxxxxxxxxx I was thinking about this and kept telling myself I was going to test v2 before I ack/nak. Clearly we shouldn't for the dropping of SUID if the process didn't have permission to change the ATTR_SIZE. Acked-by: Eric Paris <eparis@xxxxxxxxxx> -- 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