mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
Driver-Core: extend devnode callbacks to provide permissions
This allows subsytems to provide devtmpfs with non-default permissions for the device node. Instead of the default mode of 0600, null, zero, random, urandom, full, tty, ptmx now have a mode of 0666, which allows non-privileged processes to access standard device nodes in case no other userspace process applies the expected permissions. This also fixes a wrong assignment in pktcdvd and a checkpatch.pl complain. Signed-off-by: Kay Sievers <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
This commit is contained in:
parent
78f28b7c55
commit
e454cea20b
30 changed files with 116 additions and 79 deletions
|
|
@ -182,7 +182,7 @@ static struct notifier_block __refdata cpuid_class_cpu_notifier =
|
|||
.notifier_call = cpuid_class_cpu_callback,
|
||||
};
|
||||
|
||||
static char *cpuid_nodename(struct device *dev)
|
||||
static char *cpuid_devnode(struct device *dev, mode_t *mode)
|
||||
{
|
||||
return kasprintf(GFP_KERNEL, "cpu/%u/cpuid", MINOR(dev->devt));
|
||||
}
|
||||
|
|
@ -203,7 +203,7 @@ static int __init cpuid_init(void)
|
|||
err = PTR_ERR(cpuid_class);
|
||||
goto out_chrdev;
|
||||
}
|
||||
cpuid_class->nodename = cpuid_nodename;
|
||||
cpuid_class->devnode = cpuid_devnode;
|
||||
for_each_online_cpu(i) {
|
||||
err = cpuid_device_create(i);
|
||||
if (err != 0)
|
||||
|
|
|
|||
|
|
@ -236,7 +236,7 @@ static const struct file_operations microcode_fops = {
|
|||
static struct miscdevice microcode_dev = {
|
||||
.minor = MICROCODE_MINOR,
|
||||
.name = "microcode",
|
||||
.devnode = "cpu/microcode",
|
||||
.nodename = "cpu/microcode",
|
||||
.fops = µcode_fops,
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -241,7 +241,7 @@ static struct notifier_block __refdata msr_class_cpu_notifier = {
|
|||
.notifier_call = msr_class_cpu_callback,
|
||||
};
|
||||
|
||||
static char *msr_nodename(struct device *dev)
|
||||
static char *msr_devnode(struct device *dev, mode_t *mode)
|
||||
{
|
||||
return kasprintf(GFP_KERNEL, "cpu/%u/msr", MINOR(dev->devt));
|
||||
}
|
||||
|
|
@ -262,7 +262,7 @@ static int __init msr_init(void)
|
|||
err = PTR_ERR(msr_class);
|
||||
goto out_chrdev;
|
||||
}
|
||||
msr_class->nodename = msr_nodename;
|
||||
msr_class->devnode = msr_devnode;
|
||||
for_each_online_cpu(i) {
|
||||
err = msr_device_create(i);
|
||||
if (err != 0)
|
||||
|
|
|
|||
Loading…
Reference in a new issue