Input: make name, phys and uniq be 'const char *' because once
set noone should attempt to change them. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
This commit is contained in:
Родитель
f96b434d3b
Коммит
5b6271bda4
|
@ -1228,14 +1228,7 @@ static int __devinit sonypi_probe(void)
|
||||||
sonypi_device.input_jog_dev.keybit[LONG(BTN_MOUSE)] =
|
sonypi_device.input_jog_dev.keybit[LONG(BTN_MOUSE)] =
|
||||||
BIT(BTN_MIDDLE);
|
BIT(BTN_MIDDLE);
|
||||||
sonypi_device.input_jog_dev.relbit[0] = BIT(REL_WHEEL);
|
sonypi_device.input_jog_dev.relbit[0] = BIT(REL_WHEEL);
|
||||||
sonypi_device.input_jog_dev.name =
|
sonypi_device.input_jog_dev.name = SONYPI_JOG_INPUTNAME;
|
||||||
kmalloc(sizeof(SONYPI_JOG_INPUTNAME), GFP_KERNEL);
|
|
||||||
if (!sonypi_device.input_jog_dev.name) {
|
|
||||||
printk(KERN_ERR "sonypi: kmalloc failed\n");
|
|
||||||
ret = -ENOMEM;
|
|
||||||
goto out_inkmallocinput1;
|
|
||||||
}
|
|
||||||
sprintf(sonypi_device.input_jog_dev.name, SONYPI_JOG_INPUTNAME);
|
|
||||||
sonypi_device.input_jog_dev.id.bustype = BUS_ISA;
|
sonypi_device.input_jog_dev.id.bustype = BUS_ISA;
|
||||||
sonypi_device.input_jog_dev.id.vendor = PCI_VENDOR_ID_SONY;
|
sonypi_device.input_jog_dev.id.vendor = PCI_VENDOR_ID_SONY;
|
||||||
|
|
||||||
|
@ -1249,14 +1242,7 @@ static int __devinit sonypi_probe(void)
|
||||||
if (sonypi_inputkeys[i].inputev)
|
if (sonypi_inputkeys[i].inputev)
|
||||||
set_bit(sonypi_inputkeys[i].inputev,
|
set_bit(sonypi_inputkeys[i].inputev,
|
||||||
sonypi_device.input_key_dev.keybit);
|
sonypi_device.input_key_dev.keybit);
|
||||||
sonypi_device.input_key_dev.name =
|
sonypi_device.input_key_dev.name = SONYPI_KEY_INPUTNAME;
|
||||||
kmalloc(sizeof(SONYPI_KEY_INPUTNAME), GFP_KERNEL);
|
|
||||||
if (!sonypi_device.input_key_dev.name) {
|
|
||||||
printk(KERN_ERR "sonypi: kmalloc failed\n");
|
|
||||||
ret = -ENOMEM;
|
|
||||||
goto out_inkmallocinput2;
|
|
||||||
}
|
|
||||||
sprintf(sonypi_device.input_key_dev.name, SONYPI_KEY_INPUTNAME);
|
|
||||||
sonypi_device.input_key_dev.id.bustype = BUS_ISA;
|
sonypi_device.input_key_dev.id.bustype = BUS_ISA;
|
||||||
sonypi_device.input_key_dev.id.vendor = PCI_VENDOR_ID_SONY;
|
sonypi_device.input_key_dev.id.vendor = PCI_VENDOR_ID_SONY;
|
||||||
|
|
||||||
|
@ -1314,11 +1300,7 @@ out_platformdev:
|
||||||
kfifo_free(sonypi_device.input_fifo);
|
kfifo_free(sonypi_device.input_fifo);
|
||||||
out_infifo:
|
out_infifo:
|
||||||
input_unregister_device(&sonypi_device.input_key_dev);
|
input_unregister_device(&sonypi_device.input_key_dev);
|
||||||
kfree(sonypi_device.input_key_dev.name);
|
|
||||||
out_inkmallocinput2:
|
|
||||||
input_unregister_device(&sonypi_device.input_jog_dev);
|
input_unregister_device(&sonypi_device.input_jog_dev);
|
||||||
kfree(sonypi_device.input_jog_dev.name);
|
|
||||||
out_inkmallocinput1:
|
|
||||||
free_irq(sonypi_device.irq, sonypi_irq);
|
free_irq(sonypi_device.irq, sonypi_irq);
|
||||||
out_reqirq:
|
out_reqirq:
|
||||||
release_region(sonypi_device.ioport1, sonypi_device.region_size);
|
release_region(sonypi_device.ioport1, sonypi_device.region_size);
|
||||||
|
@ -1345,9 +1327,7 @@ static void __devexit sonypi_remove(void)
|
||||||
|
|
||||||
if (useinput) {
|
if (useinput) {
|
||||||
input_unregister_device(&sonypi_device.input_key_dev);
|
input_unregister_device(&sonypi_device.input_key_dev);
|
||||||
kfree(sonypi_device.input_key_dev.name);
|
|
||||||
input_unregister_device(&sonypi_device.input_jog_dev);
|
input_unregister_device(&sonypi_device.input_jog_dev);
|
||||||
kfree(sonypi_device.input_jog_dev.name);
|
|
||||||
kfifo_free(sonypi_device.input_fifo);
|
kfifo_free(sonypi_device.input_fifo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -251,6 +251,7 @@ static int uinput_alloc_device(struct file *file, const char __user *buffer, siz
|
||||||
struct uinput_user_dev *user_dev;
|
struct uinput_user_dev *user_dev;
|
||||||
struct input_dev *dev;
|
struct input_dev *dev;
|
||||||
struct uinput_device *udev;
|
struct uinput_device *udev;
|
||||||
|
char *name;
|
||||||
int size;
|
int size;
|
||||||
int retval;
|
int retval;
|
||||||
|
|
||||||
|
@ -274,13 +275,13 @@ static int uinput_alloc_device(struct file *file, const char __user *buffer, siz
|
||||||
kfree(dev->name);
|
kfree(dev->name);
|
||||||
|
|
||||||
size = strnlen(user_dev->name, UINPUT_MAX_NAME_SIZE) + 1;
|
size = strnlen(user_dev->name, UINPUT_MAX_NAME_SIZE) + 1;
|
||||||
dev->name = kmalloc(size, GFP_KERNEL);
|
dev->name = name = kmalloc(size, GFP_KERNEL);
|
||||||
if (!dev->name) {
|
if (!name) {
|
||||||
retval = -ENOMEM;
|
retval = -ENOMEM;
|
||||||
goto exit;
|
goto exit;
|
||||||
}
|
}
|
||||||
|
strlcpy(name, user_dev->name, size);
|
||||||
|
|
||||||
strlcpy(dev->name, user_dev->name, size);
|
|
||||||
dev->id.bustype = user_dev->id.bustype;
|
dev->id.bustype = user_dev->id.bustype;
|
||||||
dev->id.vendor = user_dev->id.vendor;
|
dev->id.vendor = user_dev->id.vendor;
|
||||||
dev->id.product = user_dev->id.product;
|
dev->id.product = user_dev->id.product;
|
||||||
|
@ -397,6 +398,7 @@ static int uinput_ioctl(struct inode *inode, struct file *file, unsigned int cmd
|
||||||
struct uinput_ff_erase ff_erase;
|
struct uinput_ff_erase ff_erase;
|
||||||
struct uinput_request *req;
|
struct uinput_request *req;
|
||||||
int length;
|
int length;
|
||||||
|
char *phys;
|
||||||
|
|
||||||
udev = file->private_data;
|
udev = file->private_data;
|
||||||
|
|
||||||
|
@ -494,20 +496,19 @@ static int uinput_ioctl(struct inode *inode, struct file *file, unsigned int cmd
|
||||||
retval = -EFAULT;
|
retval = -EFAULT;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (NULL != udev->dev->phys)
|
kfree(udev->dev->phys);
|
||||||
kfree(udev->dev->phys);
|
udev->dev->phys = phys = kmalloc(length, GFP_KERNEL);
|
||||||
udev->dev->phys = kmalloc(length, GFP_KERNEL);
|
if (!phys) {
|
||||||
if (!udev->dev->phys) {
|
|
||||||
retval = -ENOMEM;
|
retval = -ENOMEM;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (copy_from_user(udev->dev->phys, p, length)) {
|
if (copy_from_user(phys, p, length)) {
|
||||||
retval = -EFAULT;
|
|
||||||
kfree(udev->dev->phys);
|
|
||||||
udev->dev->phys = NULL;
|
udev->dev->phys = NULL;
|
||||||
|
kfree(phys);
|
||||||
|
retval = -EFAULT;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
udev->dev->phys[length - 1] = '\0';
|
phys[length - 1] = '\0';
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case UI_BEGIN_FF_UPLOAD:
|
case UI_BEGIN_FF_UPLOAD:
|
||||||
|
|
|
@ -811,9 +811,9 @@ struct input_dev {
|
||||||
|
|
||||||
void *private;
|
void *private;
|
||||||
|
|
||||||
char *name;
|
const char *name;
|
||||||
char *phys;
|
const char *phys;
|
||||||
char *uniq;
|
const char *uniq;
|
||||||
struct input_id id;
|
struct input_id id;
|
||||||
|
|
||||||
unsigned long evbit[NBITS(EV_MAX)];
|
unsigned long evbit[NBITS(EV_MAX)];
|
||||||
|
|
Загрузка…
Ссылка в новой задаче