Commit 5b6271bd authored by Dmitry Torokhov's avatar Dmitry Torokhov
Browse files

Input: make name, phys and uniq be 'const char *' because once


       set noone should attempt to change them.

Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
parent f96b434d
Loading
Loading
Loading
Loading
+2 −22
Original line number Diff line number Diff line
@@ -1228,14 +1228,7 @@ static int __devinit sonypi_probe(void)
		sonypi_device.input_jog_dev.keybit[LONG(BTN_MOUSE)] =
			BIT(BTN_MIDDLE);
		sonypi_device.input_jog_dev.relbit[0] = BIT(REL_WHEEL);
		sonypi_device.input_jog_dev.name =
			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.name = SONYPI_JOG_INPUTNAME;
		sonypi_device.input_jog_dev.id.bustype = BUS_ISA;
		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)
				set_bit(sonypi_inputkeys[i].inputev,
					sonypi_device.input_key_dev.keybit);
		sonypi_device.input_key_dev.name =
			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.name = SONYPI_KEY_INPUTNAME;
		sonypi_device.input_key_dev.id.bustype = BUS_ISA;
		sonypi_device.input_key_dev.id.vendor = PCI_VENDOR_ID_SONY;

@@ -1314,11 +1300,7 @@ out_platformdev:
	kfifo_free(sonypi_device.input_fifo);
out_infifo:
	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);
	kfree(sonypi_device.input_jog_dev.name);
out_inkmallocinput1:
	free_irq(sonypi_device.irq, sonypi_irq);
out_reqirq:
	release_region(sonypi_device.ioport1, sonypi_device.region_size);
@@ -1345,9 +1327,7 @@ static void __devexit sonypi_remove(void)

	if (useinput) {
		input_unregister_device(&sonypi_device.input_key_dev);
		kfree(sonypi_device.input_key_dev.name);
		input_unregister_device(&sonypi_device.input_jog_dev);
		kfree(sonypi_device.input_jog_dev.name);
		kfifo_free(sonypi_device.input_fifo);
	}

+12 −11
Original line number Diff line number Diff line
@@ -251,6 +251,7 @@ static int uinput_alloc_device(struct file *file, const char __user *buffer, siz
	struct uinput_user_dev	*user_dev;
	struct input_dev	*dev;
	struct uinput_device	*udev;
	char			*name;
	int			size;
	int			retval;

@@ -274,13 +275,13 @@ static int uinput_alloc_device(struct file *file, const char __user *buffer, siz
		kfree(dev->name);

	size = strnlen(user_dev->name, UINPUT_MAX_NAME_SIZE) + 1;
	dev->name = kmalloc(size, GFP_KERNEL);
	if (!dev->name) {
	dev->name = name = kmalloc(size, GFP_KERNEL);
	if (!name) {
		retval = -ENOMEM;
		goto exit;
	}
	strlcpy(name, user_dev->name, size);

	strlcpy(dev->name, user_dev->name, size);
	dev->id.bustype	= user_dev->id.bustype;
	dev->id.vendor	= user_dev->id.vendor;
	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_request   *req;
	int                     length;
	char			*phys;

	udev = file->private_data;

@@ -494,20 +496,19 @@ static int uinput_ioctl(struct inode *inode, struct file *file, unsigned int cmd
				retval = -EFAULT;
				break;
			}
			if (NULL != udev->dev->phys)
			kfree(udev->dev->phys);
			udev->dev->phys = kmalloc(length, GFP_KERNEL);
			if (!udev->dev->phys) {
			udev->dev->phys = phys = kmalloc(length, GFP_KERNEL);
			if (!phys) {
				retval = -ENOMEM;
				break;
			}
			if (copy_from_user(udev->dev->phys, p, length)) {
				retval = -EFAULT;
				kfree(udev->dev->phys);
			if (copy_from_user(phys, p, length)) {
				udev->dev->phys = NULL;
				kfree(phys);
				retval = -EFAULT;
				break;
			}
			udev->dev->phys[length - 1] = '\0';
			phys[length - 1] = '\0';
			break;

		case UI_BEGIN_FF_UPLOAD:
+3 −3
Original line number Diff line number Diff line
@@ -811,9 +811,9 @@ struct input_dev {

	void *private;

	char *name;
	char *phys;
	char *uniq;
	const char *name;
	const char *phys;
	const char *uniq;
	struct input_id id;

	unsigned long evbit[NBITS(EV_MAX)];