lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 11 Mar 2019 07:14:58 -0700
From:   Eric Dumazet <eric.dumazet@...il.com>
To:     Alexandre Belloni <alexandre.belloni@...tlin.com>,
        Kangjie Lu <kjlu@....edu>
Cc:     pakki001@....edu,
        Microchip Linux Driver Support <UNGLinuxDriver@...rochip.com>,
        "David S. Miller" <davem@...emloft.net>, netdev@...r.kernel.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH] net: ocelot_board: fix a NULL pointer dereference



On 03/11/2019 03:26 AM, Alexandre Belloni wrote:
> On 11/03/2019 01:36:32-0500, Kangjie Lu wrote:
>> In case devm_kcalloc fails, the fix returns -ENOMEM to avoid
>> NULL pointer dereference.
>>
>> Signed-off-by: Kangjie Lu <kjlu@....edu>
> Reviewed-by: Alexandre Belloni <alexandre.belloni@...tlin.com>
> 

A proper error path is needed to avoid memory leaks.

>> ---
>>  drivers/net/ethernet/mscc/ocelot_board.c | 2 ++
>>  1 file changed, 2 insertions(+)
>>
>> diff --git a/drivers/net/ethernet/mscc/ocelot_board.c b/drivers/net/ethernet/mscc/ocelot_board.c
>> index e7f90101d2e0..af68abf1632a 100644
>> --- a/drivers/net/ethernet/mscc/ocelot_board.c
>> +++ b/drivers/net/ethernet/mscc/ocelot_board.c
>> @@ -256,6 +256,8 @@ static int mscc_ocelot_probe(struct platform_device *pdev)
>>  
>>  	ocelot->ports = devm_kcalloc(&pdev->dev, ocelot->num_phys_ports,
>>  				     sizeof(struct ocelot_port *), GFP_KERNEL);
>> +	if (!ocelot->ports)
>> +		return -ENOMEM;
>>  
>>  	INIT_LIST_HEAD(&ocelot->multicast);
>>  	ocelot_init(ocelot);
>> -- 
>> 2.17.1
>>
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ