Thread (39 messages) 39 messages, 4 authors, 2018-10-11

Re: [PATCH 15/16] of: unittest: initialize args before calling of_irq_parse_one()

From: Guenter Roeck <linux@roeck-us.net>
Date: 2018-10-05 13:26:29
Also in: linux-fpga, linuxppc-dev, lkml

On 10/04/2018 09:12 PM, frowand.list@gmail.com wrote:
From: Frank Rowand <redacted>

Callers of of_irq_parse_one() blindly use the pointer args.np
without checking whether of_irq_parse_one() had an error and
thus did not set the value of args.np.  Initialize args to
zero so that using the format "%pOF" to show the value of
args.np will show "(null)" when of_irq_parse_one() has an
error and does not set args.np instead of trying to
dereference a random value.

Reported-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Frank Rowand <redacted>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>

The same problem exists when of_parse_phandle_with_args() reports an error.

Guenter
quoted hunk ↗ jump to hunk
---
  drivers/of/unittest.c | 5 +++--
  1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/of/unittest.c b/drivers/of/unittest.c
index 6d80f474c8f2..b61a33f30a56 100644
--- a/drivers/of/unittest.c
+++ b/drivers/of/unittest.c
@@ -780,7 +780,7 @@ static void __init of_unittest_parse_interrupts(void)
  	for (i = 0; i < 4; i++) {
  		bool passed = true;
  
-		args.args_count = 0;
+		memset(&args, 0, sizeof(args));
  		rc = of_irq_parse_one(np, i, &args);
  
  		passed &= !rc;
@@ -801,7 +801,7 @@ static void __init of_unittest_parse_interrupts(void)
  	for (i = 0; i < 4; i++) {
  		bool passed = true;
  
-		args.args_count = 0;
+		memset(&args, 0, sizeof(args));
  		rc = of_irq_parse_one(np, i, &args);
  
  		/* Test the values from tests-phandle.dtsi */
@@ -854,6 +854,7 @@ static void __init of_unittest_parse_interrupts_extended(void)
  	for (i = 0; i < 7; i++) {
  		bool passed = true;
  
+		memset(&args, 0, sizeof(args));
  		rc = of_irq_parse_one(np, i, &args);
  
  		/* Test the values from tests-phandle.dtsi */
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help