Thread (20 messages) 20 messages, 6 authors, 2019-10-02

Re: [PATCH v2] tomoyo: Don't check open/getattr permission on sockets.

From: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
Date: 2019-08-22 07:42:55
Also in: linux-fsdevel, lkml

Eric Biggers wrote:
On Thu, Aug 22, 2019 at 03:55:31PM +0900, Tetsuo Handa wrote:
quoted
quoted
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?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help