lkml.org 
[lkml]   [2019]   [Aug]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v2] tomoyo: Don't check open/getattr permission on sockets.
From
Date
Eric Biggers wrote:
> On Thu, Aug 22, 2019 at 03:55:31PM +0900, Tetsuo Handa wrote:
> > > Also, isn't the same bug in other places too?:
> > >
> > > - tomoyo_path_chmod()
> > > - tomoyo_path_chown()
> > > - smack_inode_getsecurity()
> > > - smack_inode_setsecurity()
> >
> > What's the bug? The file descriptor returned by open(O_PATH) cannot be
> > passed to read(2), write(2), fchmod(2), fchown(2), fgetxattr(2), mmap(2) etc.
> >
>
> chmod(2), chown(2), getxattr(2), and setxattr(2) take a path, not a fd.
>

OK. Then, is the correct fix

inode_lock(inode);
if (SOCKET_I(inode)->sk) {
// Can access SOCKET_I(sock)->sk->*
} else {
// Already close()d. Don't touch.
}
inode_unlock(inode);

thanks to

commit 6d8c50dcb029872b ("socket: close race condition between sock_close() and sockfs_setattr()")
commit ff7b11aa481f682e ("net: socket: set sock->sk to NULL after calling proto_ops::release()")

changes?

\
 
 \ /
  Last update: 2019-08-22 09:44    [W:0.053 / U:0.224 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site