]> 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)
commit9fad979a6685562e0e430112c75286adc4950b25
tree7f7c7d943e679c97d7bf28f89b499a22109c07ff
parentf1cf75d8c5c4ff2d437f90d4976d1e346bad647c
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