[PATCH 00/14] ns: rework reference counting

Christian Brauner posted 14 patches 1 week, 6 days ago
fs/mount.h                       |  2 +-
fs/namespace.c                   |  4 ++--
fs/nsfs.c                        |  2 +-
include/linux/cgroup_namespace.h |  4 ++--
include/linux/ipc_namespace.h    |  4 ++--
include/linux/ns_common.h        | 47 ++++++++++++++++++++++++++++++----------
include/linux/pid_namespace.h    |  2 +-
include/linux/time_namespace.h   |  4 ++--
include/linux/user_namespace.h   |  4 ++--
include/linux/uts_namespace.h    |  4 ++--
include/net/net_namespace.h      |  8 +++----
init/version-timestamp.c         |  2 +-
ipc/msgutil.c                    |  2 +-
ipc/namespace.c                  |  2 +-
kernel/cgroup/cgroup.c           |  2 +-
kernel/nscommon.c                |  2 +-
kernel/pid.c                     |  2 +-
kernel/pid_namespace.c           |  4 ++--
kernel/time/namespace.c          |  2 +-
kernel/user.c                    |  2 +-
kernel/user_namespace.c          |  2 +-
net/core/net-sysfs.c             |  6 ++---
net/core/net_namespace.c         |  2 +-
net/ipv4/inet_timewait_sock.c    |  4 ++--
net/ipv4/tcp_metrics.c           |  2 +-
25 files changed, 73 insertions(+), 48 deletions(-)
[PATCH 00/14] ns: rework reference counting
Posted by Christian Brauner 1 week, 6 days ago
Stop open accesses to the reference counts and cargo-culting the same
code in all namespace. Use a set of dedicated helpers and make the
actual count private.

Signed-off-by: Christian Brauner <brauner@kernel.org>
---
Christian Brauner (14):
      ns: add reference count helpers
      mnt: port to ns_ref_*() helpers
      cgroup: port to ns_ref_*() helpers
      ipc: port to ns_ref_*() helpers
      pid: port to ns_ref_*() helpers
      time: port to ns_ref_*() helpers
      user: port to ns_ref_*() helpers
      net-sysfs: use check_net()
      net: use check_net()
      ipv4: use check_net()
      uts: port to ns_ref_*() helpers
      net: port to ns_ref_*() helpers
      nsfs: port to ns_ref_*() helpers
      ns: rename to __ns_ref

 fs/mount.h                       |  2 +-
 fs/namespace.c                   |  4 ++--
 fs/nsfs.c                        |  2 +-
 include/linux/cgroup_namespace.h |  4 ++--
 include/linux/ipc_namespace.h    |  4 ++--
 include/linux/ns_common.h        | 47 ++++++++++++++++++++++++++++++----------
 include/linux/pid_namespace.h    |  2 +-
 include/linux/time_namespace.h   |  4 ++--
 include/linux/user_namespace.h   |  4 ++--
 include/linux/uts_namespace.h    |  4 ++--
 include/net/net_namespace.h      |  8 +++----
 init/version-timestamp.c         |  2 +-
 ipc/msgutil.c                    |  2 +-
 ipc/namespace.c                  |  2 +-
 kernel/cgroup/cgroup.c           |  2 +-
 kernel/nscommon.c                |  2 +-
 kernel/pid.c                     |  2 +-
 kernel/pid_namespace.c           |  4 ++--
 kernel/time/namespace.c          |  2 +-
 kernel/user.c                    |  2 +-
 kernel/user_namespace.c          |  2 +-
 net/core/net-sysfs.c             |  6 ++---
 net/core/net_namespace.c         |  2 +-
 net/ipv4/inet_timewait_sock.c    |  4 ++--
 net/ipv4/tcp_metrics.c           |  2 +-
 25 files changed, 73 insertions(+), 48 deletions(-)
---
base-commit: 3f9cc273c16f63b5d584ec4e767918765c44316b
change-id: 20250917-work-namespace-ns_ref-357162ca7aa8
Re: [PATCH 00/14] ns: rework reference counting
Posted by Jan Kara 1 week, 6 days ago
On Thu 18-09-25 12:11:45, Christian Brauner wrote:
> Stop open accesses to the reference counts and cargo-culting the same
> code in all namespace. Use a set of dedicated helpers and make the
> actual count private.
> 
> Signed-off-by: Christian Brauner <brauner@kernel.org>

Looks good. Feel free to add:

Reviewed-by: Jan Kara <jack@suse.cz>

								Honza

> ---
> Christian Brauner (14):
>       ns: add reference count helpers
>       mnt: port to ns_ref_*() helpers
>       cgroup: port to ns_ref_*() helpers
>       ipc: port to ns_ref_*() helpers
>       pid: port to ns_ref_*() helpers
>       time: port to ns_ref_*() helpers
>       user: port to ns_ref_*() helpers
>       net-sysfs: use check_net()
>       net: use check_net()
>       ipv4: use check_net()
>       uts: port to ns_ref_*() helpers
>       net: port to ns_ref_*() helpers
>       nsfs: port to ns_ref_*() helpers
>       ns: rename to __ns_ref
> 
>  fs/mount.h                       |  2 +-
>  fs/namespace.c                   |  4 ++--
>  fs/nsfs.c                        |  2 +-
>  include/linux/cgroup_namespace.h |  4 ++--
>  include/linux/ipc_namespace.h    |  4 ++--
>  include/linux/ns_common.h        | 47 ++++++++++++++++++++++++++++++----------
>  include/linux/pid_namespace.h    |  2 +-
>  include/linux/time_namespace.h   |  4 ++--
>  include/linux/user_namespace.h   |  4 ++--
>  include/linux/uts_namespace.h    |  4 ++--
>  include/net/net_namespace.h      |  8 +++----
>  init/version-timestamp.c         |  2 +-
>  ipc/msgutil.c                    |  2 +-
>  ipc/namespace.c                  |  2 +-
>  kernel/cgroup/cgroup.c           |  2 +-
>  kernel/nscommon.c                |  2 +-
>  kernel/pid.c                     |  2 +-
>  kernel/pid_namespace.c           |  4 ++--
>  kernel/time/namespace.c          |  2 +-
>  kernel/user.c                    |  2 +-
>  kernel/user_namespace.c          |  2 +-
>  net/core/net-sysfs.c             |  6 ++---
>  net/core/net_namespace.c         |  2 +-
>  net/ipv4/inet_timewait_sock.c    |  4 ++--
>  net/ipv4/tcp_metrics.c           |  2 +-
>  25 files changed, 73 insertions(+), 48 deletions(-)
> ---
> base-commit: 3f9cc273c16f63b5d584ec4e767918765c44316b
> change-id: 20250917-work-namespace-ns_ref-357162ca7aa8
> 
-- 
Jan Kara <jack@suse.com>
SUSE Labs, CR