mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 03:01:39 -04:00
base: soc: Check for NULL SoC device attributes
If soc_device_match() is used to check the value of a specific attribute that is not present for the current SoC, the kernel crashes with a NULL pointer dereference. Fix this by explicitly checking for the absence of a needed property, and considering this a non-match. Signed-off-by: Geert Uytterhoeven <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Acked-by: Greg Kroah-Hartman <[email protected]>
This commit is contained in:
parent
c97db7cc77
commit
ab6a713e7d
1 changed files with 8 additions and 4 deletions
|
|
@ -176,19 +176,23 @@ static int soc_device_match_one(struct device *dev, void *arg)
|
|||
const struct soc_device_attribute *match = arg;
|
||||
|
||||
if (match->machine &&
|
||||
!glob_match(match->machine, soc_dev->attr->machine))
|
||||
(!soc_dev->attr->machine ||
|
||||
!glob_match(match->machine, soc_dev->attr->machine)))
|
||||
return 0;
|
||||
|
||||
if (match->family &&
|
||||
!glob_match(match->family, soc_dev->attr->family))
|
||||
(!soc_dev->attr->family ||
|
||||
!glob_match(match->family, soc_dev->attr->family)))
|
||||
return 0;
|
||||
|
||||
if (match->revision &&
|
||||
!glob_match(match->revision, soc_dev->attr->revision))
|
||||
(!soc_dev->attr->revision ||
|
||||
!glob_match(match->revision, soc_dev->attr->revision)))
|
||||
return 0;
|
||||
|
||||
if (match->soc_id &&
|
||||
!glob_match(match->soc_id, soc_dev->attr->soc_id))
|
||||
(!soc_dev->attr->soc_id ||
|
||||
!glob_match(match->soc_id, soc_dev->attr->soc_id)))
|
||||
return 0;
|
||||
|
||||
return 1;
|
||||
|
|
|
|||
Loading…
Reference in a new issue