* [PATCH] mtip32xx: use formatting capability of kthread_create_on_node
@ 2015-11-20 9:46 Rasmus Villemoes
2015-11-20 15:29 ` Jeff Moyer
2015-11-20 18:35 ` Jens Axboe
0 siblings, 2 replies; 3+ messages in thread
From: Rasmus Villemoes @ 2015-11-20 9:46 UTC (permalink / raw)
To: Jens Axboe, Asai Thambi SP, Jeff Moyer; +Cc: Rasmus Villemoes, linux-kernel
kthread_create_on_node takes format+args, so there's no need to do the
pretty-printing in advance. Moreover, "mtip_svc_thd_99" (including its
'\0') only just fits in 16 bytes, so if index could ever go above 99
we'd have a stack buffer overflow.
Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
---
drivers/block/mtip32xx/mtip32xx.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/block/mtip32xx/mtip32xx.c b/drivers/block/mtip32xx/mtip32xx.c
index a28a562f7b7f..3457ac8c03e2 100644
--- a/drivers/block/mtip32xx/mtip32xx.c
+++ b/drivers/block/mtip32xx/mtip32xx.c
@@ -3810,7 +3810,6 @@ static int mtip_block_initialize(struct driver_data *dd)
sector_t capacity;
unsigned int index = 0;
struct kobject *kobj;
- unsigned char thd_name[16];
if (dd->disk)
goto skip_create_disk; /* hw init done, before rebuild */
@@ -3958,10 +3957,9 @@ skip_create_disk:
}
start_service_thread:
- sprintf(thd_name, "mtip_svc_thd_%02d", index);
dd->mtip_svc_handler = kthread_create_on_node(mtip_service_thread,
- dd, dd->numa_node, "%s",
- thd_name);
+ dd, dd->numa_node,
+ "mtip_svc_thd_%02d", index);
if (IS_ERR(dd->mtip_svc_handler)) {
dev_err(&dd->pdev->dev, "service thread failed to start\n");
--
2.6.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] mtip32xx: use formatting capability of kthread_create_on_node
2015-11-20 9:46 [PATCH] mtip32xx: use formatting capability of kthread_create_on_node Rasmus Villemoes
@ 2015-11-20 15:29 ` Jeff Moyer
2015-11-20 18:35 ` Jens Axboe
1 sibling, 0 replies; 3+ messages in thread
From: Jeff Moyer @ 2015-11-20 15:29 UTC (permalink / raw)
To: Rasmus Villemoes; +Cc: Jens Axboe, Asai Thambi SP, linux-kernel
Rasmus Villemoes <linux@rasmusvillemoes.dk> writes:
> kthread_create_on_node takes format+args, so there's no need to do the
> pretty-printing in advance. Moreover, "mtip_svc_thd_99" (including its
> '\0') only just fits in 16 bytes, so if index could ever go above 99
> we'd have a stack buffer overflow.
I don't know of any systems with enough pci slots to expand index
beyond 99. However, the patch looks like a good cleanup to me.
Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
> Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
> ---
> drivers/block/mtip32xx/mtip32xx.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/block/mtip32xx/mtip32xx.c b/drivers/block/mtip32xx/mtip32xx.c
> index a28a562f7b7f..3457ac8c03e2 100644
> --- a/drivers/block/mtip32xx/mtip32xx.c
> +++ b/drivers/block/mtip32xx/mtip32xx.c
> @@ -3810,7 +3810,6 @@ static int mtip_block_initialize(struct driver_data *dd)
> sector_t capacity;
> unsigned int index = 0;
> struct kobject *kobj;
> - unsigned char thd_name[16];
>
> if (dd->disk)
> goto skip_create_disk; /* hw init done, before rebuild */
> @@ -3958,10 +3957,9 @@ skip_create_disk:
> }
>
> start_service_thread:
> - sprintf(thd_name, "mtip_svc_thd_%02d", index);
> dd->mtip_svc_handler = kthread_create_on_node(mtip_service_thread,
> - dd, dd->numa_node, "%s",
> - thd_name);
> + dd, dd->numa_node,
> + "mtip_svc_thd_%02d", index);
>
> if (IS_ERR(dd->mtip_svc_handler)) {
> dev_err(&dd->pdev->dev, "service thread failed to start\n");
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] mtip32xx: use formatting capability of kthread_create_on_node
2015-11-20 9:46 [PATCH] mtip32xx: use formatting capability of kthread_create_on_node Rasmus Villemoes
2015-11-20 15:29 ` Jeff Moyer
@ 2015-11-20 18:35 ` Jens Axboe
1 sibling, 0 replies; 3+ messages in thread
From: Jens Axboe @ 2015-11-20 18:35 UTC (permalink / raw)
To: Rasmus Villemoes, Asai Thambi SP, Jeff Moyer; +Cc: linux-kernel
On 11/20/2015 02:46 AM, Rasmus Villemoes wrote:
> kthread_create_on_node takes format+args, so there's no need to do the
> pretty-printing in advance. Moreover, "mtip_svc_thd_99" (including its
> '\0') only just fits in 16 bytes, so if index could ever go above 99
> we'd have a stack buffer overflow.
Applied, thanks.
--
Jens Axboe
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-11-20 18:36 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-11-20 9:46 [PATCH] mtip32xx: use formatting capability of kthread_create_on_node Rasmus Villemoes
2015-11-20 15:29 ` Jeff Moyer
2015-11-20 18:35 ` Jens Axboe
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).