diff options
| author | Kees Cook <keescook@chromium.org> | 2013-07-03 18:04:58 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-03 19:07:41 -0400 |
| commit | f170168b9a0b61ea1e647b082b38f605f1d3de3e (patch) | |
| tree | 4381c129ee9af108e368e6c8255df53cbe233257 /drivers/usb/atm | |
| parent | d8537548c924db3c44afde7646b6e220c7beb79d (diff) | |
drivers: avoid parsing names as kthread_run() format strings
Calling kthread_run with a single name parameter causes it to be handled
as a format string. Many callers are passing potentially dynamic string
content, so use "%s" in those cases to avoid any potential accidents.
Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/usb/atm')
| -rw-r--r-- | drivers/usb/atm/usbatm.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/usb/atm/usbatm.c b/drivers/usb/atm/usbatm.c index d3527dd8b90c..5e0d33a7da58 100644 --- a/drivers/usb/atm/usbatm.c +++ b/drivers/usb/atm/usbatm.c | |||
| @@ -1020,7 +1020,7 @@ static int usbatm_heavy_init(struct usbatm_data *instance) | |||
| 1020 | { | 1020 | { |
| 1021 | struct task_struct *t; | 1021 | struct task_struct *t; |
| 1022 | 1022 | ||
| 1023 | t = kthread_create(usbatm_do_heavy_init, instance, | 1023 | t = kthread_create(usbatm_do_heavy_init, instance, "%s", |
| 1024 | instance->driver->driver_name); | 1024 | instance->driver->driver_name); |
| 1025 | if (IS_ERR(t)) { | 1025 | if (IS_ERR(t)) { |
| 1026 | usb_err(instance, "%s: failed to create kernel_thread (%ld)!\n", | 1026 | usb_err(instance, "%s: failed to create kernel_thread (%ld)!\n", |
| @@ -1076,7 +1076,8 @@ int usbatm_usb_probe(struct usb_interface *intf, const struct usb_device_id *id, | |||
| 1076 | /* public fields */ | 1076 | /* public fields */ |
| 1077 | 1077 | ||
| 1078 | instance->driver = driver; | 1078 | instance->driver = driver; |
| 1079 | snprintf(instance->driver_name, sizeof(instance->driver_name), driver->driver_name); | 1079 | strlcpy(instance->driver_name, driver->driver_name, |
| 1080 | sizeof(instance->driver_name)); | ||
| 1080 | 1081 | ||
| 1081 | instance->usb_dev = usb_dev; | 1082 | instance->usb_dev = usb_dev; |
| 1082 | instance->usb_intf = intf; | 1083 | instance->usb_intf = intf; |
