2021-03-04 12:46:22

by Siddharth Gupta

[permalink] [raw]
Subject: [PATCH] remoteproc: sysfs: Use scnprintf instead of sprintf

From: Raghavendra Rao Ananta <[email protected]>

For security reasons scnprintf() is preferred over sprintf().
Hence, convert the remoteproc's sysfs show functions accordingly.

Signed-off-by: Raghavendra Rao Ananta <[email protected]>
Signed-off-by: Siddharth Gupta <[email protected]>
---
drivers/remoteproc/remoteproc_sysfs.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/remoteproc/remoteproc_sysfs.c b/drivers/remoteproc/remoteproc_sysfs.c
index 1dbef89..853f569 100644
--- a/drivers/remoteproc/remoteproc_sysfs.c
+++ b/drivers/remoteproc/remoteproc_sysfs.c
@@ -15,7 +15,8 @@ static ssize_t recovery_show(struct device *dev,
{
struct rproc *rproc = to_rproc(dev);

- return sprintf(buf, "%s", rproc->recovery_disabled ? "disabled\n" : "enabled\n");
+ return scnprintf(buf, PAGE_SIZE, "%s",
+ rproc->recovery_disabled ? "disabled\n" : "enabled\n");
}

/*
@@ -82,7 +83,7 @@ static ssize_t coredump_show(struct device *dev,
{
struct rproc *rproc = to_rproc(dev);

- return sprintf(buf, "%s\n", rproc_coredump_str[rproc->dump_conf]);
+ return scnprintf(buf, PAGE_SIZE, "%s\n", rproc_coredump_str[rproc->dump_conf]);
}

/*
--
Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project


2021-03-04 13:08:54

by Siddharth Gupta

[permalink] [raw]
Subject: Re: [PATCH] remoteproc: sysfs: Use scnprintf instead of sprintf


On 3/3/2021 12:56 PM, Bjorn Andersson wrote:
> On Wed 03 Mar 14:01 CST 2021, Siddharth Gupta wrote:
>
>> From: Raghavendra Rao Ananta <[email protected]>
>>
>> For security reasons scnprintf() is preferred over sprintf().
>> Hence, convert the remoteproc's sysfs show functions accordingly.
>>
> Thanks for the patch Siddharth.
>
> There's no possibility for these calls to generate more than PAGE_SIZE
> amount of data, so this isn't really necessary. But if you insist,
> please let's use sysfs_emit() instead.
>
> Regards,
> Bjorn
Sure Bjorn, I'll push the new patch immediately.

Thanks,
Siddharth
>
>> Signed-off-by: Raghavendra Rao Ananta <[email protected]>
>> Signed-off-by: Siddharth Gupta <[email protected]>
>> ---
>> drivers/remoteproc/remoteproc_sysfs.c | 5 +++--
>> 1 file changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/remoteproc/remoteproc_sysfs.c b/drivers/remoteproc/remoteproc_sysfs.c
>> index 1dbef89..853f569 100644
>> --- a/drivers/remoteproc/remoteproc_sysfs.c
>> +++ b/drivers/remoteproc/remoteproc_sysfs.c
>> @@ -15,7 +15,8 @@ static ssize_t recovery_show(struct device *dev,
>> {
>> struct rproc *rproc = to_rproc(dev);
>>
>> - return sprintf(buf, "%s", rproc->recovery_disabled ? "disabled\n" : "enabled\n");
>> + return scnprintf(buf, PAGE_SIZE, "%s",
>> + rproc->recovery_disabled ? "disabled\n" : "enabled\n");
>> }
>>
>> /*
>> @@ -82,7 +83,7 @@ static ssize_t coredump_show(struct device *dev,
>> {
>> struct rproc *rproc = to_rproc(dev);
>>
>> - return sprintf(buf, "%s\n", rproc_coredump_str[rproc->dump_conf]);
>> + return scnprintf(buf, PAGE_SIZE, "%s\n", rproc_coredump_str[rproc->dump_conf]);
>> }
>>
>> /*
>> --
>> Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
>> a Linux Foundation Collaborative Project
>>

2021-03-04 23:30:22

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [PATCH] remoteproc: sysfs: Use scnprintf instead of sprintf

On Wed 03 Mar 14:01 CST 2021, Siddharth Gupta wrote:

> From: Raghavendra Rao Ananta <[email protected]>
>
> For security reasons scnprintf() is preferred over sprintf().
> Hence, convert the remoteproc's sysfs show functions accordingly.
>

Thanks for the patch Siddharth.

There's no possibility for these calls to generate more than PAGE_SIZE
amount of data, so this isn't really necessary. But if you insist,
please let's use sysfs_emit() instead.

Regards,
Bjorn

> Signed-off-by: Raghavendra Rao Ananta <[email protected]>
> Signed-off-by: Siddharth Gupta <[email protected]>
> ---
> drivers/remoteproc/remoteproc_sysfs.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/remoteproc/remoteproc_sysfs.c b/drivers/remoteproc/remoteproc_sysfs.c
> index 1dbef89..853f569 100644
> --- a/drivers/remoteproc/remoteproc_sysfs.c
> +++ b/drivers/remoteproc/remoteproc_sysfs.c
> @@ -15,7 +15,8 @@ static ssize_t recovery_show(struct device *dev,
> {
> struct rproc *rproc = to_rproc(dev);
>
> - return sprintf(buf, "%s", rproc->recovery_disabled ? "disabled\n" : "enabled\n");
> + return scnprintf(buf, PAGE_SIZE, "%s",
> + rproc->recovery_disabled ? "disabled\n" : "enabled\n");
> }
>
> /*
> @@ -82,7 +83,7 @@ static ssize_t coredump_show(struct device *dev,
> {
> struct rproc *rproc = to_rproc(dev);
>
> - return sprintf(buf, "%s\n", rproc_coredump_str[rproc->dump_conf]);
> + return scnprintf(buf, PAGE_SIZE, "%s\n", rproc_coredump_str[rproc->dump_conf]);
> }
>
> /*
> --
> Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
> a Linux Foundation Collaborative Project
>