Messages in this thread | | | Subject | Re: [Patch v3] vfs: allow file truncations when both suid and write permissions set | From | Eric Paris <> | Date | Fri, 07 Aug 2009 15:57:05 -0400 |
| |
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@redhat.com> > Cc: Eric Sandeen <esandeen@redhat.com> > Cc: Eric Paris <eparis@redhat.com> > Cc: Eugene Teo <eteo@redhat.com> > Cc: Al Viro <viro@zeniv.linux.org.uk> > Cc: hirofumi@mail.parknet.co.jp
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@redhat.com>
| |