Skip to contentSkip to conversation

namespace related fixes for 4.10-rc3

GIT PULL Eric W. Biederman 3 participants 6 messages Jan 7, 2017 – Jan 10, 2017 1 message not in the archive VFS

lore
Share & tools
lore
#0 lore raw

Linus,

Please pull the for-linus branch from the git tree:

git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace.git for-linus

HEAD: cd293bfacd57928627ef7da6194e0cbe24db3291 sysctl: Drop reference added by grab_header in proc_sys_readdir

This tree contains 5 fixes.

The first is a fix for a race that can causes oopses under the right circumstances, and that someone just recently encountered.

The second is a fix that removes the possibility of creating unbounded chains in the mount hash table. After a lot of back and forth this fix has finally matured into something mergeable.

Past that are several small trivial correct fixes. A real issue that was blocking development of an out of tree driver, but does not appear to have caused any actual problems for in-tree code. A potential deadlock that was reported by lockdep. And a deadlock people have experienced and took the time to track down caused by a cleanup that removed the code to drop a reference count.

Andrei Vagin (1):
pid: fix lockdep deadlock warning due to ucount_lock

Eric W. Biederman (3):
mnt: Protect the mountpoint hashtable with mount_lock
mnt: Tuck mounts under others instead of creating shadow/side mounts.
libfs: Modify mount_pseudo_xattr to be clear it is not a userspace mount

Zhou Chengming (1):
sysctl: Drop reference added by grab_header in proc_sys_readdir

 fs/dcache.c            |   7 +-
 fs/libfs.c             |   3 +-
 fs/mount.h             |   1 -
 fs/namespace.c         | 174 +++++++++++++++++++++++++++++--------------------
 fs/pnode.c             |  27 ++++++--
 fs/pnode.h             |   2 +
 fs/proc/proc_sysctl.c  |   3 +-
 kernel/pid_namespace.c |  10 +--
 8 files changed, 142 insertions(+), 85 deletions(-)

Eric

A message that is not in the archive (sent off-list or not yet received): 87d1fzzbc2.fsf-aS9lmoZGLiVWk0Htik3J/[email protected]

#2 lore raw
Quoted 2 lines · Eric W. Biederman

Eric W. Biederman (3):
mnt: Protect the mountpoint hashtable with mount_lock

ACK

Quoted 1 line

mnt: Tuck mounts under others instead of creating shadow/side mounts.

NAK; you have reintroduced put_mountpoint() outside of mount lock in there and you've got seriously confused umount side of the things.

Quoted 1 line

libfs: Modify mount_pseudo_xattr to be clear it is not a userspace mount

ACK

Quoted 2 lines

Zhou Chengming (1):
sysctl: Drop reference added by grab_header in proc_sys_readdir

ACK

The rest of the queue is fine.

maintainer
#3 lore raw
In reply to Eric W. Biederman
Quoted 2 lines · Eric W. Biederman

Eric W. Biederman (3):
mnt: Protect the mountpoint hashtable with mount_lock

ACK

Quoted 1 line

mnt: Tuck mounts under others instead of creating shadow/side mounts.

NAK; you have reintroduced put_mountpoint() outside of mount lock in there and you've got seriously confused umount side of the things.

Quoted 1 line

libfs: Modify mount_pseudo_xattr to be clear it is not a userspace mount

ACK

Quoted 2 lines

Zhou Chengming (1):
sysctl: Drop reference added by grab_header in proc_sys_readdir

ACK

The rest of the queue is fine.

maintainer
#4 lore raw
Quoted 10 lines · Al Viro
Quoted 2 lines · Eric W. Biederman

Eric W. Biederman (3):
mnt: Protect the mountpoint hashtable with mount_lock

ACK

Quoted 1 line

mnt: Tuck mounts under others instead of creating shadow/side mounts.

NAK; you have reintroduced put_mountpoint() outside of mount lock in there and you've got seriously confused umount side of the things.

PS: details are in my reply (admittedly, sent only ~20 minutes before your pull request) to your patch. Check Message-ID <20170107050644.GA12074-3bDd1+5oDREiFSDQTTA3OLVCufUGDwFn@public.gmane.org>

My apologies for not getting to it yesterday (the patch was posted a couple of days ago, AFAICS) - I'd been off-net since Wednesday, just got back ;-/

#5 lore raw
Quoted 7 lines · Al Viro
Quoted 6 lines · Al Viro
Quoted 2 lines · Eric W. Biederman

Eric W. Biederman (3):
mnt: Protect the mountpoint hashtable with mount_lock

ACK

Quoted 8 lines
Quoted 4 lines
Quoted 1 line

mnt: Tuck mounts under others instead of creating shadow/side mounts.

NAK; you have reintroduced put_mountpoint() outside of mount lock in there and you've got seriously confused umount side of the things.

PS: details are in my reply (admittedly, sent only ~20 minutes before your pull request) to your patch. Check Message-ID <20170107050644.GA12074-3bDd1+5oDREiFSDQTTA3OLVCufUGDwFn@public.gmane.org>

I suspect that was sent while I was composing my pull request, and the locking around put_mountpoint I did fail to catch during my rebase. I will finish our conversation about that before I resend that patch.

Quoted 3 lines

My apologies for not getting to it yesterday (the patch was posted a couple of days ago, AFAICS) - I'd been off-net since Wednesday, just got back ;-/

You and Ram Pai had said reasonably pleasant things about a previous version of that patch.

Eric

#6 lore raw

[GIT PULL] namespace related fixes for 4.10-rc4

In reply to Eric W. Biederman

Linus,

Please pull the for-linus branch from the git tree:

git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace.git for-linus

HEAD: 93362fa47fe98b62e4a34ab408c4a418432e7939 sysctl: Drop reference added by grab_header in proc_sys_readdir

This tree contains 4 fixes.

The first is a fix for a race that can causes oopses under the right circumstances, and that someone just recently encountered.

Past that are several small trivial correct fixes. A real issue that was blocking development of an out of tree driver, but does not appear to have caused any actual problems for in-tree code. A potential deadlock that was reported by lockdep. And a deadlock people have experienced and took the time to track down caused by a cleanup that removed the code to drop a reference count.

I have dropped the mount hash table fix that Al objected to and will come back to that when the discussion around that patch is complete.

Andrei Vagin (1):
pid: fix lockdep deadlock warning due to ucount_lock

Eric W. Biederman (2):
mnt: Protect the mountpoint hashtable with mount_lock
libfs: Modify mount_pseudo_xattr to be clear it is not a userspace mount

Zhou Chengming (1):
sysctl: Drop reference added by grab_header in proc_sys_readdir

 fs/dcache.c            |  7 ++++--
 fs/libfs.c             |  3 ++-
 fs/namespace.c         | 64 +++++++++++++++++++++++++++++++++++---------------
 fs/proc/proc_sysctl.c  |  3 ++-
 kernel/pid_namespace.c | 10 ++++----
 5 files changed, 60 insertions(+), 27 deletions(-)

Eric