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; |