diff mbox series

[1/2] dm: dump.c: Fix segfault when entry->of_match is NULL

Message ID 20200405164741.11243-1-ovpanait@gmail.com
State Accepted
Commit 02197fa749e21107e3330b2a244f7d5c455e456e
Headers show
Series [1/2] dm: dump.c: Fix segfault when entry->of_match is NULL | expand

Commit Message

Ovidiu Panait April 5, 2020, 4:47 p.m. UTC
Currently, dm drivers command produces a segfault:
=> dm drivers
Driver                Compatible
--------------------------------
Segmentation fault (core dumped)

This is caused by a NULL pointer dereference of entry->of_match.
Add a check to prevent this.

Signed-off-by: Ovidiu Panait <ovpanait at gmail.com>
Cc: Sean Anderson <seanga2 at gmail.com>
Cc: Simon Glass <sjg at chromium.org>
---
 drivers/core/dump.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Sean Anderson April 5, 2020, 4:53 p.m. UTC | #1
On 4/5/20 12:47 PM, Ovidiu Panait wrote:
> Currently, dm drivers command produces a segfault:
> => dm drivers
> Driver                Compatible
> --------------------------------
> Segmentation fault (core dumped)
> 
> This is caused by a NULL pointer dereference of entry->of_match.
> Add a check to prevent this.

This should have been fixed in version 3 of the original patch [1]. Did
it not get merged properly? This is the second time I've been CC'd by
someone who wants to fix this.

[1] https://patchwork.ozlabs.org/patch/1234460/

--Sean
Ovidiu Panait April 5, 2020, 5:08 p.m. UTC | #2
On 05.04.2020 19:53, Sean Anderson wrote:

> On 4/5/20 12:47 PM, Ovidiu Panait wrote:
>> Currently, dm drivers command produces a segfault:
>> => dm drivers
>> Driver                Compatible
>> --------------------------------
>> Segmentation fault (core dumped)
>>
>> This is caused by a NULL pointer dereference of entry->of_match.
>> Add a check to prevent this.
> This should have been fixed in version 3 of the original patch [1]. Did
> it not get merged properly? This is the second time I've been CC'd by
> someone who wants to fix this.
>
> [1] https://patchwork.ozlabs.org/patch/1234460/

Yes, it seems that an older version of the patch was merged:

https://github.com/u-boot/u-boot/commit/7b9d60fc1ff67b3959a7db394084b27268a7686d


Ovidiu

> --Sean
Simon Glass April 6, 2020, 3:42 a.m. UTC | #3
Hi,

On Sun, 5 Apr 2020 at 11:08, Ovidiu Panait <ovpanait at gmail.com> wrote:
>
> On 05.04.2020 19:53, Sean Anderson wrote:
>
> > On 4/5/20 12:47 PM, Ovidiu Panait wrote:
> >> Currently, dm drivers command produces a segfault:
> >> => dm drivers
> >> Driver                Compatible
> >> --------------------------------
> >> Segmentation fault (core dumped)
> >>
> >> This is caused by a NULL pointer dereference of entry->of_match.
> >> Add a check to prevent this.
> > This should have been fixed in version 3 of the original patch [1]. Did
> > it not get merged properly? This is the second time I've been CC'd by
> > someone who wants to fix this.
> >
> > [1] https://patchwork.ozlabs.org/patch/1234460/
>
> Yes, it seems that an older version of the patch was merged:
>
> https://github.com/u-boot/u-boot/commit/7b9d60fc1ff67b3959a7db394084b27268a7686d

OK, so can someone do a fixup patch for this?

Regards,
Simon
Simon Glass April 9, 2020, 9:23 p.m. UTC | #4
Hi,

On Sun, 5 Apr 2020 at 11:08, Ovidiu Panait <ovpanait at gmail.com> wrote:
>
> On 05.04.2020 19:53, Sean Anderson wrote:
>
> > On 4/5/20 12:47 PM, Ovidiu Panait wrote:
> >> Currently, dm drivers command produces a segfault:
> >> => dm drivers
> >> Driver                Compatible
> >> --------------------------------
> >> Segmentation fault (core dumped)
> >>
> >> This is caused by a NULL pointer dereference of entry->of_match.
> >> Add a check to prevent this.
> > This should have been fixed in version 3 of the original patch [1]. Did
> > it not get merged properly? This is the second time I've been CC'd by
> > someone who wants to fix this.
> >
> > [1] https://patchwork.ozlabs.org/patch/1234460/
>
> Yes, it seems that an older version of the patch was merged:
>
> https://github.com/u-boot/u-boot/commit/7b9d60fc1ff67b3959a7db394084b27268a7686d

OK, so can someone do a fixup patch for this?

Regards,
Simon

Applied to u-boot-dm, thanks!
diff mbox series

Patch

diff --git a/drivers/core/dump.c b/drivers/core/dump.c
index e73ebeabcc..b5046398d4 100644
--- a/drivers/core/dump.c
+++ b/drivers/core/dump.c
@@ -107,7 +107,8 @@  void dm_dump_drivers(void)
 	puts("Driver                Compatible\n");
 	puts("--------------------------------\n");
 	for (entry = d; entry < d + n_ents; entry++) {
-		for (match = entry->of_match; match->compatible; match++)
+		for (match = entry->of_match;
+		     match && match->compatible; match++)
 			printf("%-20.20s  %s\n",
 			       match == entry->of_match ? entry->name : "",
 			       match->compatible);