diff options
author | Kees Cook <keescook@chromium.org> | 2013-07-03 18:04:57 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-03 19:07:41 -0400 |
commit | d8537548c924db3c44afde7646b6e220c7beb79d (patch) | |
tree | 619ef33bab975df1946eb118f7d03e6aaed77515 /drivers/scsi/scsi_transport_fc.c | |
parent | 02aa2a37636c8fa4fb9322d91be46ff8225b7de0 (diff) |
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>
Diffstat (limited to 'drivers/scsi/scsi_transport_fc.c')
-rw-r--r-- | drivers/scsi/scsi_transport_fc.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/scsi/scsi_transport_fc.c b/drivers/scsi/scsi_transport_fc.c index e106c276aa00..4628fd5e0688 100644 --- a/drivers/scsi/scsi_transport_fc.c +++ b/drivers/scsi/scsi_transport_fc.c | |||
@@ -435,7 +435,7 @@ static int fc_host_setup(struct transport_container *tc, struct device *dev, | |||
435 | 435 | ||
436 | snprintf(fc_host->work_q_name, sizeof(fc_host->work_q_name), | 436 | snprintf(fc_host->work_q_name, sizeof(fc_host->work_q_name), |
437 | "fc_wq_%d", shost->host_no); | 437 | "fc_wq_%d", shost->host_no); |
438 | fc_host->work_q = alloc_workqueue(fc_host->work_q_name, 0, 0); | 438 | fc_host->work_q = alloc_workqueue("%s", 0, 0, fc_host->work_q_name); |
439 | if (!fc_host->work_q) | 439 | if (!fc_host->work_q) |
440 | return -ENOMEM; | 440 | return -ENOMEM; |
441 | 441 | ||
@@ -443,8 +443,8 @@ static int fc_host_setup(struct transport_container *tc, struct device *dev, | |||
443 | snprintf(fc_host->devloss_work_q_name, | 443 | snprintf(fc_host->devloss_work_q_name, |
444 | sizeof(fc_host->devloss_work_q_name), | 444 | sizeof(fc_host->devloss_work_q_name), |
445 | "fc_dl_%d", shost->host_no); | 445 | "fc_dl_%d", shost->host_no); |
446 | fc_host->devloss_work_q = | 446 | fc_host->devloss_work_q = alloc_workqueue("%s", 0, 0, |
447 | alloc_workqueue(fc_host->devloss_work_q_name, 0, 0); | 447 | fc_host->devloss_work_q_name); |
448 | if (!fc_host->devloss_work_q) { | 448 | if (!fc_host->devloss_work_q) { |
449 | destroy_workqueue(fc_host->work_q); | 449 | destroy_workqueue(fc_host->work_q); |
450 | fc_host->work_q = NULL; | 450 | fc_host->work_q = NULL; |