]> git.baikalelectronics.ru Git - kernel.git/commit
sysfs, kobject: allow creating kobject belonging to arbitrary users
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 20 Jul 2018 21:56:48 +0000 (21:56 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 21 Jul 2018 06:44:35 +0000 (23:44 -0700)
commit2e149e2ec0b8136018c9d88a6f91ca8028fa6280
tree7f7c7d943e679c97d7bf28f89b499a22109c07ff
parent3d240703605866c160df2faf19f08fbe195d5016
sysfs, kobject: allow creating kobject belonging to arbitrary users

Normally kobjects and their sysfs representation belong to global root,
however it is not necessarily the case for objects in separate namespaces.
For example, objects in separate network namespace logically belong to the
container's root and not global root.

This change lays groundwork for allowing network namespace objects
ownership to be transferred to container's root user by defining
get_ownership() callback in ktype structure and using it in sysfs code to
retrieve desired uid/gid when creating sysfs objects for given kobject.

Co-Developed-by: Tyler Hicks <tyhicks@canonical.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
fs/sysfs/dir.c
fs/sysfs/file.c
fs/sysfs/group.c
fs/sysfs/sysfs.h
include/linux/kobject.h
lib/kobject.c