diff mbox series

[2/5] remoteproc: Check for NULL firmwares in sysfs interface

Message ID 20180915003725.17549-3-s-anna@ti.com
State Accepted
Commit faeadbb64094757150a8c2a3175ca418dbdd472c
Headers show
Series remoteproc sysfs fixes/improvements | expand

Commit Message

Suman Anna Sept. 15, 2018, 12:37 a.m. UTC
The remoteproc framework provides a sysfs file 'firmware'
for modifying the firmware image name from userspace. Add
an additional check to ensure NULL firmwares are errored
out right away, rather than getting a delayed error while
requesting a firmware during the start of a remoteproc
later on.

Signed-off-by: Suman Anna <s-anna@ti.com>

---
 drivers/remoteproc/remoteproc_sysfs.c | 5 +++++
 1 file changed, 5 insertions(+)

-- 
2.18.0

Comments

Arnaud POULIQUEN Oct. 2, 2018, 9:43 a.m. UTC | #1
Hi Suman,

On 09/15/2018 02:37 AM, Suman Anna wrote:
> The remoteproc framework provides a sysfs file 'firmware'

> for modifying the firmware image name from userspace. Add

> an additional check to ensure NULL firmwares are errored

> out right away, rather than getting a delayed error while

> requesting a firmware during the start of a remoteproc

> later on.

> 

> Signed-off-by: Suman Anna <s-anna@ti.com>

> ---

>  drivers/remoteproc/remoteproc_sysfs.c | 5 +++++

>  1 file changed, 5 insertions(+)

> 

> diff --git a/drivers/remoteproc/remoteproc_sysfs.c b/drivers/remoteproc/remoteproc_sysfs.c

> index 2142b3ea726e..ce93f4d710f3 100644

> --- a/drivers/remoteproc/remoteproc_sysfs.c

> +++ b/drivers/remoteproc/remoteproc_sysfs.c

> @@ -49,6 +49,11 @@ static ssize_t firmware_store(struct device *dev,

>  	}

>  

>  	len = strcspn(buf, "\n");

> +	if (!len) {

> +		dev_err(dev, "can't provide a NULL firmware\n");

> +		err = -EINVAL;

> +		goto out;

> +	}

This patch fixes only the case of a null name but not a bad name. So I'm
not one hundred percent sure that it is relevant, as it treats only a
part of the problem. But it's fine with me if it is accepted.

Tested-by: Arnaud Pouliquen <arnaud.pouliquen@st.com>


Regards
Arnaud

>  

>  	p = kstrndup(buf, len, GFP_KERNEL);

>  	if (!p) {

>
Suman Anna Oct. 2, 2018, 3:05 p.m. UTC | #2
Hi Arnaud,

On 10/02/2018 04:43 AM, Arnaud Pouliquen wrote:
> Hi Suman,

> 

> On 09/15/2018 02:37 AM, Suman Anna wrote:

>> The remoteproc framework provides a sysfs file 'firmware'

>> for modifying the firmware image name from userspace. Add

>> an additional check to ensure NULL firmwares are errored

>> out right away, rather than getting a delayed error while

>> requesting a firmware during the start of a remoteproc

>> later on.

>>

>> Signed-off-by: Suman Anna <s-anna@ti.com>

>> ---

>>  drivers/remoteproc/remoteproc_sysfs.c | 5 +++++

>>  1 file changed, 5 insertions(+)

>>

>> diff --git a/drivers/remoteproc/remoteproc_sysfs.c b/drivers/remoteproc/remoteproc_sysfs.c

>> index 2142b3ea726e..ce93f4d710f3 100644

>> --- a/drivers/remoteproc/remoteproc_sysfs.c

>> +++ b/drivers/remoteproc/remoteproc_sysfs.c

>> @@ -49,6 +49,11 @@ static ssize_t firmware_store(struct device *dev,

>>  	}

>>  

>>  	len = strcspn(buf, "\n");

>> +	if (!len) {

>> +		dev_err(dev, "can't provide a NULL firmware\n");

>> +		err = -EINVAL;

>> +		goto out;

>> +	}


> This patch fixes only the case of a null name but not a bad name. So I'm

> not one hundred percent sure that it is relevant, as it treats only a

> part of the problem. But it's fine with me if it is accepted.


Yeah, it is a minor fix catching only NULL names. There is no way for
the interface to know a bad name until the corresponding firmware is
requested.

regards
Suman

> 

> Tested-by: Arnaud Pouliquen <arnaud.pouliquen@st.com>

> 

> Regards

> Arnaud

> 

>>  

>>  	p = kstrndup(buf, len, GFP_KERNEL);

>>  	if (!p) {

>>
Bjorn Andersson Oct. 6, 2018, 6:14 a.m. UTC | #3
On Fri 14 Sep 17:37 PDT 2018, Suman Anna wrote:

> The remoteproc framework provides a sysfs file 'firmware'

> for modifying the firmware image name from userspace. Add

> an additional check to ensure NULL firmwares are errored

> out right away, rather than getting a delayed error while

> requesting a firmware during the start of a remoteproc

> later on.

> 

> Signed-off-by: Suman Anna <s-anna@ti.com>


Applied.

Regards,
Bjorn

> ---

>  drivers/remoteproc/remoteproc_sysfs.c | 5 +++++

>  1 file changed, 5 insertions(+)

> 

> diff --git a/drivers/remoteproc/remoteproc_sysfs.c b/drivers/remoteproc/remoteproc_sysfs.c

> index 2142b3ea726e..ce93f4d710f3 100644

> --- a/drivers/remoteproc/remoteproc_sysfs.c

> +++ b/drivers/remoteproc/remoteproc_sysfs.c

> @@ -49,6 +49,11 @@ static ssize_t firmware_store(struct device *dev,

>  	}

>  

>  	len = strcspn(buf, "\n");

> +	if (!len) {

> +		dev_err(dev, "can't provide a NULL firmware\n");

> +		err = -EINVAL;

> +		goto out;

> +	}

>  

>  	p = kstrndup(buf, len, GFP_KERNEL);

>  	if (!p) {

> -- 

> 2.18.0

>
diff mbox series

Patch

diff --git a/drivers/remoteproc/remoteproc_sysfs.c b/drivers/remoteproc/remoteproc_sysfs.c
index 2142b3ea726e..ce93f4d710f3 100644
--- a/drivers/remoteproc/remoteproc_sysfs.c
+++ b/drivers/remoteproc/remoteproc_sysfs.c
@@ -49,6 +49,11 @@  static ssize_t firmware_store(struct device *dev,
 	}
 
 	len = strcspn(buf, "\n");
+	if (!len) {
+		dev_err(dev, "can't provide a NULL firmware\n");
+		err = -EINVAL;
+		goto out;
+	}
 
 	p = kstrndup(buf, len, GFP_KERNEL);
 	if (!p) {