aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/base/core.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/base/core.c')
-rw-r--r--drivers/base/core.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/base/core.c b/drivers/base/core.c
index 8a428b51089d..f88d9e259a32 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -283,8 +283,8 @@ static int dev_uevent(struct kset *kset, struct kobject *kobj,
283 const char *tmp; 283 const char *tmp;
284 const char *name; 284 const char *name;
285 umode_t mode = 0; 285 umode_t mode = 0;
286 uid_t uid = 0; 286 kuid_t uid = GLOBAL_ROOT_UID;
287 gid_t gid = 0; 287 kgid_t gid = GLOBAL_ROOT_GID;
288 288
289 add_uevent_var(env, "MAJOR=%u", MAJOR(dev->devt)); 289 add_uevent_var(env, "MAJOR=%u", MAJOR(dev->devt));
290 add_uevent_var(env, "MINOR=%u", MINOR(dev->devt)); 290 add_uevent_var(env, "MINOR=%u", MINOR(dev->devt));
@@ -293,10 +293,10 @@ static int dev_uevent(struct kset *kset, struct kobject *kobj,
293 add_uevent_var(env, "DEVNAME=%s", name); 293 add_uevent_var(env, "DEVNAME=%s", name);
294 if (mode) 294 if (mode)
295 add_uevent_var(env, "DEVMODE=%#o", mode & 0777); 295 add_uevent_var(env, "DEVMODE=%#o", mode & 0777);
296 if (uid) 296 if (!uid_eq(uid, GLOBAL_ROOT_UID))
297 add_uevent_var(env, "DEVUID=%u", uid); 297 add_uevent_var(env, "DEVUID=%u", from_kuid(&init_user_ns, uid));
298 if (gid) 298 if (!gid_eq(gid, GLOBAL_ROOT_GID))
299 add_uevent_var(env, "DEVGID=%u", gid); 299 add_uevent_var(env, "DEVGID=%u", from_kgid(&init_user_ns, gid));
300 kfree(tmp); 300 kfree(tmp);
301 } 301 }
302 } 302 }
@@ -1297,7 +1297,7 @@ static struct device *next_device(struct klist_iter *i)
1297 * freed by the caller. 1297 * freed by the caller.
1298 */ 1298 */
1299const char *device_get_devnode(struct device *dev, 1299const char *device_get_devnode(struct device *dev,
1300 umode_t *mode, uid_t *uid, gid_t *gid, 1300 umode_t *mode, kuid_t *uid, kgid_t *gid,
1301 const char **tmp) 1301 const char **tmp)
1302{ 1302{
1303 char *s; 1303 char *s;