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:	Fri, 11 Jul 2014 19:14:23 +0200
From:	Andreas Noever <andreas.noever@...il.com>
To:	Greg Kroah-Hartman <greg@...ah.com>
Cc:	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	julia.lawall@...6.fr, Himangi Saraogi <himangi774@...il.com>
Subject: Re: [PATCH v3] thunderbolt: Use kcalloc and correct the argument to sizeof

Greg, can you add this to your char-misc tree (instead of the kzalloc
patch, or do you need a rebased patch)?

Thanks,
Andreas

On Thu, Jul 10, 2014 at 6:45 PM, Andreas Noever
<andreas.noever@...il.com> wrote:
> On Wed, Jul 9, 2014 at 12:31 AM, Himangi Saraogi <himangi774@...il.com> wrote:
>> nhi->rx_rings does not have type as struct tb_ring *, as it is a double
>> pointer. So, the elements of the array should have pointer type, not
>> structure type. The advantage of kcalloc is, that will prevent integer
>> overflows which could result from the multiplication of number of
>> elements and size and it is also a bit nicer to read.
>>
>> The Coccinelle semantic patch that makes the first change is as follows:
>>
>> // <smpl>
>> @disable sizeof_type_expr@
>> type T;
>> T **x;
>> @@
>>
>>   x =
>>   <+...sizeof(
>> - T
>> + *x
>>   )...+>
>> // </smpl>
>>
>> Signed-off-by: Himangi Saraogi <himangi774@...il.com>
>> Acked-by: Julia Lawall <julia.lawall@...6.fr>
>> ---
>> v2: Use kcalloc
>> v3: Add maintainer in To
>>  drivers/thunderbolt/nhi.c | 10 ++++------
>>  1 file changed, 4 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/thunderbolt/nhi.c b/drivers/thunderbolt/nhi.c
>> index 2054fbf..c68fe12 100644
>> --- a/drivers/thunderbolt/nhi.c
>> +++ b/drivers/thunderbolt/nhi.c
>> @@ -569,12 +569,10 @@ static int nhi_probe(struct pci_dev *pdev, const struct pci_device_id *id)
>>                          nhi->hop_count);
>>         INIT_WORK(&nhi->interrupt_work, nhi_interrupt_work);
>>
>> -       nhi->tx_rings = devm_kzalloc(&pdev->dev,
>> -                                    nhi->hop_count * sizeof(struct tb_ring),
>> -                                    GFP_KERNEL);
>> -       nhi->rx_rings = devm_kzalloc(&pdev->dev,
>> -                                    nhi->hop_count * sizeof(struct tb_ring),
>> -                                    GFP_KERNEL);
>> +       nhi->tx_rings = devm_kcalloc(&pdev->dev, nhi->hop_count,
>> +                                    sizeof(*nhi->tx_rings), GFP_KERNEL);
>> +       nhi->rx_rings = devm_kcalloc(&pdev->dev, nhi->hop_count,
>> +                                    sizeof(*nhi->rx_rings), GFP_KERNEL);
>>         if (!nhi->tx_rings || !nhi->rx_rings)
>>                 return -ENOMEM;
>>
>> --
>> 1.9.1
>>
>
> Thanks for catching this.
> Acked-by: Andreas Noever <andreas.noever@...il.com>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ