* [PATCH] drivers: mfd: fix off by one error
@ 2010-10-10 17:28 Vasiliy Kulikov
2010-10-10 19:39 ` [PATCH] mfd/mc13xxx: don't open code kasprintf
0 siblings, 1 reply; 4+ messages in thread
From: Vasiliy Kulikov @ 2010-10-10 17:28 UTC (permalink / raw)
To: kernel-janitors; +Cc: Samuel Ortiz, Uwe Kleine-König, linux-kernel
snprintf() is overflowed iff result is greater or equal than
argument "size".
Signed-off-by: Vasiliy Kulikov <segooon@gmail.com>
---
Compile tested.
drivers/mfd/mc13xxx-core.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/mfd/mc13xxx-core.c b/drivers/mfd/mc13xxx-core.c
index 93258ad..cd4d670 100644
--- a/drivers/mfd/mc13xxx-core.c
+++ b/drivers/mfd/mc13xxx-core.c
@@ -696,7 +696,7 @@ static int mc13xxx_add_subdevice_pdata(struct mc13xxx *mc13xxx,
};
/* there is no asnprintf in the kernel :-( */
- if (snprintf(buf, sizeof(buf), format, name) > sizeof(buf))
+ if (snprintf(buf, sizeof(buf), format, name) >= sizeof(buf))
return -E2BIG;
cell.name = kmemdup(buf, strlen(buf) + 1, GFP_KERNEL);
--
1.7.0.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH] mfd/mc13xxx: don't open code kasprintf
2010-10-10 17:28 [PATCH] drivers: mfd: fix off by one error Vasiliy Kulikov
@ 2010-10-10 19:39 `
2010-10-15 13:18 `
2010-10-19 10:50 ` Samuel Ortiz
0 siblings, 2 replies; 4+ messages in thread
From: @ 2010-10-10 19:39 UTC (permalink / raw)
To: Vasiliy Kulikov; +Cc: kernel-janitors, Samuel Ortiz, linux-kernel
This fixes an off by one error noticed by Vasiliy Kulikov en passant.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
drivers/mfd/mc13xxx-core.c | 7 +------
1 files changed, 1 insertions(+), 6 deletions(-)
diff --git a/drivers/mfd/mc13xxx-core.c b/drivers/mfd/mc13xxx-core.c
index 93258ad..b763b8c 100644
--- a/drivers/mfd/mc13xxx-core.c
+++ b/drivers/mfd/mc13xxx-core.c
@@ -687,7 +687,6 @@ EXPORT_SYMBOL_GPL(mc13783_adc_do_conversion);
static int mc13xxx_add_subdevice_pdata(struct mc13xxx *mc13xxx,
const char *format, void *pdata, size_t pdata_size)
{
- char buf[30];
const char *name = mc13xxx_get_chipname(mc13xxx);
struct mfd_cell cell = {
@@ -695,11 +694,7 @@ static int mc13xxx_add_subdevice_pdata(struct mc13xxx *mc13xxx,
.data_size = pdata_size,
};
- /* there is no asnprintf in the kernel :-( */
- if (snprintf(buf, sizeof(buf), format, name) > sizeof(buf))
- return -E2BIG;
-
- cell.name = kmemdup(buf, strlen(buf) + 1, GFP_KERNEL);
+ cell.name = kasprintf(GFP_KERNEL, format, name);
if (!cell.name)
return -ENOMEM;
--
1.7.2.3
--
To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] mfd/mc13xxx: don't open code kasprintf
2010-10-10 19:39 ` [PATCH] mfd/mc13xxx: don't open code kasprintf
@ 2010-10-15 13:18 `
2010-10-19 10:50 ` Samuel Ortiz
1 sibling, 0 replies; 4+ messages in thread
From: @ 2010-10-15 13:18 UTC (permalink / raw)
To: Samuel Ortiz; +Cc: kernel-janitors, Vasiliy Kulikov, linux-kernel
Hi Samuel,
would you mind to take this patch (or squash it into
0c9b33e5a23e2053165c9e30ffff3b3a3cf1b2b8)?
Thanks
Uwe
On Sun, Oct 10, 2010 at 09:39:46PM +0200, Uwe Kleine-König wrote:
> This fixes an off by one error noticed by Vasiliy Kulikov en passant.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> ---
> drivers/mfd/mc13xxx-core.c | 7 +------
> 1 files changed, 1 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/mfd/mc13xxx-core.c b/drivers/mfd/mc13xxx-core.c
> index 93258ad..b763b8c 100644
> --- a/drivers/mfd/mc13xxx-core.c
> +++ b/drivers/mfd/mc13xxx-core.c
> @@ -687,7 +687,6 @@ EXPORT_SYMBOL_GPL(mc13783_adc_do_conversion);
> static int mc13xxx_add_subdevice_pdata(struct mc13xxx *mc13xxx,
> const char *format, void *pdata, size_t pdata_size)
> {
> - char buf[30];
> const char *name = mc13xxx_get_chipname(mc13xxx);
>
> struct mfd_cell cell = {
> @@ -695,11 +694,7 @@ static int mc13xxx_add_subdevice_pdata(struct mc13xxx *mc13xxx,
> .data_size = pdata_size,
> };
>
> - /* there is no asnprintf in the kernel :-( */
> - if (snprintf(buf, sizeof(buf), format, name) > sizeof(buf))
> - return -E2BIG;
> -
> - cell.name = kmemdup(buf, strlen(buf) + 1, GFP_KERNEL);
> + cell.name = kasprintf(GFP_KERNEL, format, name);
> if (!cell.name)
> return -ENOMEM;
>
> --
> 1.7.2.3
>
>
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
--
To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] mfd/mc13xxx: don't open code kasprintf
2010-10-10 19:39 ` [PATCH] mfd/mc13xxx: don't open code kasprintf
2010-10-15 13:18 `
@ 2010-10-19 10:50 ` Samuel Ortiz
1 sibling, 0 replies; 4+ messages in thread
From: Samuel Ortiz @ 2010-10-19 10:50 UTC (permalink / raw)
To: Uwe Kleine-König; +Cc: Vasiliy Kulikov, kernel-janitors, linux-kernel
Hi Uwe,
On Sun, Oct 10, 2010 at 09:39:46PM +0200, Uwe Kleine-König wrote:
> This fixes an off by one error noticed by Vasiliy Kulikov en passant.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> ---
> drivers/mfd/mc13xxx-core.c | 7 +------
> 1 files changed, 1 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/mfd/mc13xxx-core.c b/drivers/mfd/mc13xxx-core.c
> index 93258ad..b763b8c 100644
> --- a/drivers/mfd/mc13xxx-core.c
> +++ b/drivers/mfd/mc13xxx-core.c
> @@ -687,7 +687,6 @@ EXPORT_SYMBOL_GPL(mc13783_adc_do_conversion);
> static int mc13xxx_add_subdevice_pdata(struct mc13xxx *mc13xxx,
> const char *format, void *pdata, size_t pdata_size)
> {
> - char buf[30];
> const char *name = mc13xxx_get_chipname(mc13xxx);
>
> struct mfd_cell cell = {
> @@ -695,11 +694,7 @@ static int mc13xxx_add_subdevice_pdata(struct mc13xxx *mc13xxx,
> .data_size = pdata_size,
> };
>
> - /* there is no asnprintf in the kernel :-( */
> - if (snprintf(buf, sizeof(buf), format, name) > sizeof(buf))
> - return -E2BIG;
> -
> - cell.name = kmemdup(buf, strlen(buf) + 1, GFP_KERNEL);
> + cell.name = kasprintf(GFP_KERNEL, format, name);
I don't think you need to allocate a name pointer here.
cell.name = mc13xxx_get_chipname(mc13xxx); should be enough as
platform_device_alloc() will memcpy it into an allocated buffer.
Cheers,
Samuel.
> if (!cell.name)
> return -ENOMEM;
>
> --
> 1.7.2.3
>
--
Intel Open Source Technology Centre
http://oss.intel.com/
--
To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-10-19 10:50 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-10 17:28 [PATCH] drivers: mfd: fix off by one error Vasiliy Kulikov
2010-10-10 19:39 ` [PATCH] mfd/mc13xxx: don't open code kasprintf
2010-10-15 13:18 `
2010-10-19 10:50 ` Samuel Ortiz
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox