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 <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Live-CD User
parent
78f28b7c55
commit
e454cea20b
@ -266,7 +266,7 @@ static const struct file_operations aoe_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
};
|
||||
|
||||
static char *aoe_nodename(struct device *dev)
|
||||
static char *aoe_devnode(struct device *dev, mode_t *mode)
|
||||
{
|
||||
return kasprintf(GFP_KERNEL, "etherd/%s", dev_name(dev));
|
||||
}
|
||||
@ -288,7 +288,7 @@ aoechr_init(void)
|
||||
unregister_chrdev(AOE_MAJOR, "aoechr");
|
||||
return PTR_ERR(aoe_class);
|
||||
}
|
||||
aoe_class->nodename = aoe_nodename;
|
||||
aoe_class->devnode = aoe_devnode;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(chardevs); ++i)
|
||||
device_create(aoe_class, NULL,
|
||||
|
@ -2857,7 +2857,7 @@ static struct block_device_operations pktcdvd_ops = {
|
||||
.media_changed = pkt_media_changed,
|
||||
};
|
||||
|
||||
static char *pktcdvd_nodename(struct gendisk *gd)
|
||||
static char *pktcdvd_devnode(struct gendisk *gd, mode_t *mode)
|
||||
{
|
||||
return kasprintf(GFP_KERNEL, "pktcdvd/%s", gd->disk_name);
|
||||
}
|
||||
@ -2914,7 +2914,7 @@ static int pkt_setup_dev(dev_t dev, dev_t* pkt_dev)
|
||||
disk->fops = &pktcdvd_ops;
|
||||
disk->flags = GENHD_FL_REMOVABLE;
|
||||
strcpy(disk->disk_name, pd->name);
|
||||
disk->nodename = pktcdvd_nodename;
|
||||
disk->devnode = pktcdvd_devnode;
|
||||
disk->private_data = pd;
|
||||
disk->queue = blk_alloc_queue(GFP_KERNEL);
|
||||
if (!disk->queue)
|
||||
@ -3070,7 +3070,7 @@ static const struct file_operations pkt_ctl_fops = {
|
||||
static struct miscdevice pkt_misc = {
|
||||
.minor = MISC_DYNAMIC_MINOR,
|
||||
.name = DRIVER_NAME,
|
||||
.name = "pktcdvd/control",
|
||||
.nodename = "pktcdvd/control",
|
||||
.fops = &pkt_ctl_fops
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user