drivers: avoid format strings in names passed to alloc_workqueue()
For the workqueue creation interfaces that do not expect format strings, make sure they cannot accidently be parsed that way. Additionally, clean up calls made with a single parameter that would 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>
This commit is contained in:

committed by
Linus Torvalds

parent
02aa2a3763
commit
d8537548c9
@@ -435,7 +435,7 @@ static int fc_host_setup(struct transport_container *tc, struct device *dev,
|
||||
|
||||
snprintf(fc_host->work_q_name, sizeof(fc_host->work_q_name),
|
||||
"fc_wq_%d", shost->host_no);
|
||||
fc_host->work_q = alloc_workqueue(fc_host->work_q_name, 0, 0);
|
||||
fc_host->work_q = alloc_workqueue("%s", 0, 0, fc_host->work_q_name);
|
||||
if (!fc_host->work_q)
|
||||
return -ENOMEM;
|
||||
|
||||
@@ -443,8 +443,8 @@ static int fc_host_setup(struct transport_container *tc, struct device *dev,
|
||||
snprintf(fc_host->devloss_work_q_name,
|
||||
sizeof(fc_host->devloss_work_q_name),
|
||||
"fc_dl_%d", shost->host_no);
|
||||
fc_host->devloss_work_q =
|
||||
alloc_workqueue(fc_host->devloss_work_q_name, 0, 0);
|
||||
fc_host->devloss_work_q = alloc_workqueue("%s", 0, 0,
|
||||
fc_host->devloss_work_q_name);
|
||||
if (!fc_host->devloss_work_q) {
|
||||
destroy_workqueue(fc_host->work_q);
|
||||
fc_host->work_q = NULL;
|
||||
|
Reference in New Issue
Block a user