From 391b82bee7a4a3b003ff3ac473ffdbb804657d7a Mon Sep 17 00:00:00 2001 From: "Eric W. Biederman" Date: Fri, 21 Sep 2012 08:11:03 +0200 Subject: [PATCH] userns: Convert loop to use kuid_t instead of uid_t Acked-by: Serge Hallyn Signed-off-by: Eric W. Biederman Signed-off-by: Jens Axboe --- drivers/block/loop.c | 4 ++-- include/linux/loop.h | 2 +- init/Kconfig | 1 - 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/block/loop.c b/drivers/block/loop.c index 3bba65510d23..e9d594fd12cb 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -1038,10 +1038,10 @@ loop_set_status(struct loop_device *lo, const struct loop_info64 *info) { int err; struct loop_func_table *xfer; - uid_t uid = current_uid(); + kuid_t uid = current_uid(); if (lo->lo_encrypt_key_size && - lo->lo_key_owner != uid && + !uid_eq(lo->lo_key_owner, uid) && !capable(CAP_SYS_ADMIN)) return -EPERM; if (lo->lo_state != Lo_bound) diff --git a/include/linux/loop.h b/include/linux/loop.h index 11a41a8f08eb..9635116dd830 100644 --- a/include/linux/loop.h +++ b/include/linux/loop.h @@ -44,7 +44,7 @@ struct loop_device { int lo_encrypt_key_size; struct loop_func_table *lo_encryption; __u32 lo_init[2]; - uid_t lo_key_owner; /* Who set the key */ + kuid_t lo_key_owner; /* Who set the key */ int (*ioctl)(struct loop_device *, int cmd, unsigned long arg); diff --git a/init/Kconfig b/init/Kconfig index af6c7f8ba019..75633d3db5c9 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -1023,7 +1023,6 @@ config UIDGID_CONVERTED depends on AIRO_CS = n depends on TUN = n depends on INFINIBAND_QIB = n - depends on BLK_DEV_LOOP = n depends on ANDROID_BINDER_IPC = n # Security modules -- 2.39.5