[PATCH 5/7] mtd: nand-mxs: fix out-of-bounds write on 64-bit SoCs

Ahmad Fatoum a.fatoum at pengutronix.de
Mon Sep 28 12:03:04 EDT 2020



On 9/28/20 6:01 PM, Marco Felsch wrote:
> On 20-09-28 17:42, Ahmad Fatoum wrote:
>> Probing the nand_mxs device driver on 64 bit systems invokes
>> undefined behavior, because of an errant cast. Fix this.
>>
>> No change of behavior for 32-bit SoCs intended.
>>
>> Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
>> ---
>>  drivers/mtd/nand/nand_mxs.c | 4 +---
>>  1 file changed, 1 insertion(+), 3 deletions(-)
>>
>> diff --git a/drivers/mtd/nand/nand_mxs.c b/drivers/mtd/nand/nand_mxs.c
>> index 36b6e7ac224e..e2b6e2162076 100644
>> --- a/drivers/mtd/nand/nand_mxs.c
>> +++ b/drivers/mtd/nand/nand_mxs.c
>> @@ -2145,9 +2145,7 @@ static int mxs_nand_probe(struct device_d *dev)
>>  	if (mxs_nand_mtd)
>>  		return -EBUSY;
>>  
>> -	err = dev_get_drvdata(dev, (const void **)&type);
>> -	if (err)
>> -		type = GPMI_MXS;
>> +	type = (enum gpmi_type)device_get_match_data(dev);
> 
> Should we add:
> 
> 	if (!type)
> 		type = GPMI_MXS;
> 
> here?

(enum gpmi_type)0 is already GPMI_MXS. So that's a no-op.

> 	
>>  	nand_info = kzalloc(sizeof(struct mxs_nand_info), GFP_KERNEL);
>>  	if (!nand_info) {
>> -- 
>> 2.28.0
>>
>>
>> _______________________________________________
>> barebox mailing list
>> barebox at lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/barebox
>>
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list