userns: Convert loop to use kuid_t instead of uid_t
authorEric W. Biederman <ebiederm@xmission.com>
Sat, 11 Feb 2012 19:23:51 +0000 (11:23 -0800)
committerEric W. Biederman <ebiederm@xmission.com>
Fri, 21 Sep 2012 10:13:20 +0000 (03:13 -0700)
Cc: Jens Axboe <jaxboe@fusionio.com>
Acked-by: Serge Hallyn <serge.hallyn@canonical.com>
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
drivers/block/loop.c
include/linux/loop.h
init/Kconfig

index 3bba655..e9d594f 100644 (file)
@@ -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)
index 11a41a8..9635116 100644 (file)
@@ -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); 
 
index f0371a6..f315997 100644 (file)
@@ -960,7 +960,6 @@ config UIDGID_CONVERTED
        depends on !UML || HOSTFS = n
 
        # The rare drivers that won't build
-       depends on BLK_DEV_LOOP = n
        depends on ANDROID_BINDER_IPC = n
 
        # Security modules