Re: [PATCH] kdbus: create /sys/fs/kdbus with sysfs_create_mount_point()

From: David Herrmann
Date: Mon Aug 17 2015 - 13:23:40 EST


Hi

On Fri, Aug 14, 2015 at 3:21 PM, Lubomir Rintel <lkundrak@xxxxx> wrote:
> Since 0cbee99269 user-namespace pull, if a kdbusfs is mounted on a
> location that's not created with sysfs_create_mount_point the user
> namespaces are not allowed to mount their sysfs instances.
>
> Signed-off-by: Lubomir Rintel <lkundrak@xxxxx>
> ---
> Applies on top of char-misc/kdbus a36324913.

This does not apply on top of char-misc/kdbus. The tree lacks the
necessary commits. But yeah, it's required for 4.2. I'll keep it
starred until Greg back-merges 4.2.

Anyway, this is still: Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx>

Thanks!
David

> ipc/kdbus/main.c | 13 +++++--------
> 1 file changed, 5 insertions(+), 8 deletions(-)
>
> diff --git a/ipc/kdbus/main.c b/ipc/kdbus/main.c
> index 1ad4dc8..c2117ea 100644
> --- a/ipc/kdbus/main.c
> +++ b/ipc/kdbus/main.c
> @@ -75,16 +75,13 @@
> * 'Â struct kdbus_ep *ep (owned)
> */
>
> -/* kdbus mount-point /sys/fs/kdbus */
> -static struct kobject *kdbus_dir;
> -
> static int __init kdbus_init(void)
> {
> int ret;
>
> - kdbus_dir = kobject_create_and_add(KBUILD_MODNAME, fs_kobj);
> - if (!kdbus_dir)
> - return -ENOMEM;
> + ret = sysfs_create_mount_point(fs_kobj, KBUILD_MODNAME);
> + if (ret)
> + return ret;
>
> ret = kdbus_fs_init();
> if (ret < 0) {
> @@ -96,14 +93,14 @@ static int __init kdbus_init(void)
> return 0;
>
> exit_dir:
> - kobject_put(kdbus_dir);
> + sysfs_remove_mount_point(fs_kobj, KBUILD_MODNAME);
> return ret;
> }
>
> static void __exit kdbus_exit(void)
> {
> kdbus_fs_exit();
> - kobject_put(kdbus_dir);
> + sysfs_remove_mount_point(fs_kobj, KBUILD_MODNAME);
> ida_destroy(&kdbus_node_ida);
> }
>
> --
> 2.4.3
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/