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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/04/2018 09:12 PM, frowand.list@xxxxxxxxx wrote:
From: Frank Rowand <frank.rowand@xxxxxxxx>

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@xxxxxxxxxxxx>
Signed-off-by: Frank Rowand <frank.rowand@xxxxxxxx>

Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>

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

Guenter

---
  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 */





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux