diff mbox series

bdi: fix -Wformat-security

Message ID 20201023065754.83084-1-nick.desaulniers@gmail.com (mailing list archive)
State New, archived
Headers show
Series bdi: fix -Wformat-security | expand

Commit Message

Nick Desaulniers Oct. 23, 2020, 6:57 a.m. UTC
mm/backing-dev.c:810:57: warning: format string is not a string literal
(potentially insecure) [-Wformat-security]
dev = device_create(bdi_class, NULL, MKDEV(0, 0), bdi, bdi->dev_name);
                                                       ^~~~~~~~~~~~~

Signed-off-by: Nick Desaulniers <nick.desaulniers@gmail.com>
---
Example patch showing off kernel development from a newly created twitch
stream! Check it out at: https://twitch.tv/ndesaulniers.

 mm/backing-dev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Christoph Hellwig Oct. 23, 2020, 7:15 a.m. UTC | #1
On Thu, Oct 22, 2020 at 11:57:54PM -0700, Nick Desaulniers wrote:
> mm/backing-dev.c:810:57: warning: format string is not a string literal
> (potentially insecure) [-Wformat-security]
> dev = device_create(bdi_class, NULL, MKDEV(0, 0), bdi, bdi->dev_name);

The callers never pass format strings here.  That being said the fix is
probably ok anyway, modulo the obvious style issue.

> diff --git a/mm/backing-dev.c b/mm/backing-dev.c
> index 408d5051d05b..5755578d671d 100644
> --- a/mm/backing-dev.c
> +++ b/mm/backing-dev.c
> @@ -807,7 +807,7 @@ int bdi_register_va(struct backing_dev_info *bdi, const char *fmt, va_list args)
>  		return 0;
>  
>  	vsnprintf(bdi->dev_name, sizeof(bdi->dev_name), fmt, args);
> -	dev = device_create(bdi_class, NULL, MKDEV(0, 0), bdi, bdi->dev_name);
> +	dev = device_create(bdi_class, NULL, MKDEV(0, 0), bdi, "%s", bdi->dev_name);

Please don't introduce any over 80 char lines.
diff mbox series

Patch

diff --git a/mm/backing-dev.c b/mm/backing-dev.c
index 408d5051d05b..5755578d671d 100644
--- a/mm/backing-dev.c
+++ b/mm/backing-dev.c
@@ -807,7 +807,7 @@  int bdi_register_va(struct backing_dev_info *bdi, const char *fmt, va_list args)
 		return 0;
 
 	vsnprintf(bdi->dev_name, sizeof(bdi->dev_name), fmt, args);
-	dev = device_create(bdi_class, NULL, MKDEV(0, 0), bdi, bdi->dev_name);
+	dev = device_create(bdi_class, NULL, MKDEV(0, 0), bdi, "%s", bdi->dev_name);
 	if (IS_ERR(dev))
 		return PTR_ERR(dev);