From: Len Baker <hidden> Date: 2021-09-11 10:28:59
As noted in the "Deprecated Interfaces, Language Features, Attributes,
and Conventions" documentation [1], size calculations (especially
multiplication) should not be performed in memory allocator (or similar)
function arguments due to the risk of them overflowing. This could lead
to values wrapping around and a smaller allocation being made than the
caller was expecting. Using those allocations could lead to linear
overflows of heap memory and other misbehaviors.
So, use the struct_size() helper to do the arithmetic instead of the
argument "size + count * size" in the kzalloc() function.
[1] https://www.kernel.org/doc/html/v5.14/process/deprecated.html#open-coded-arithmetic-in-allocator-arguments
Signed-off-by: Len Baker <redacted>
---
drivers/net/ethernet/microsoft/mana/hw_channel.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
-----Original Message-----
From: Len Baker <redacted>
Sent: Saturday, September 11, 2021 6:28 AM
To: KY Srinivasan <kys@microsoft.com>; Haiyang Zhang
[off-list ref]; Stephen Hemminger [off-list ref];
Wei Liu [off-list ref]; Dexuan Cui [off-list ref]; David S.
Miller [off-list ref]; Jakub Kicinski [off-list ref]; Sumit
Semwal [off-list ref]; Christian König
[off-list ref]; Kees Cook [off-list ref]
Cc: Len Baker <redacted>; Colin Ian King
[off-list ref]; linux-hardening@vger.kernel.org; linux-
hyperv@vger.kernel.org; netdev@vger.kernel.org; linux-
kernel@vger.kernel.org; linux-media@vger.kernel.org; dri-
devel@lists.freedesktop.org; linaro-mm-sig@lists.linaro.org
Subject: [PATCH] net: mana: Prefer struct_size over open coded
arithmetic
[Some people who received this message don't often get email from
len.baker@gmx.com. Learn why this is important at
http://aka.ms/LearnAboutSenderIdentification.]
As noted in the "Deprecated Interfaces, Language Features, Attributes,
and Conventions" documentation [1], size calculations (especially
multiplication) should not be performed in memory allocator (or similar)
function arguments due to the risk of them overflowing. This could lead
to values wrapping around and a smaller allocation being made than the
caller was expecting. Using those allocations could lead to linear
overflows of heap memory and other misbehaviors.
So, use the struct_size() helper to do the arithmetic instead of the
argument "size + count * size" in the kzalloc() function.
[1]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ke
rnel.org%2Fdoc%2Fhtml%2Fv5.14%2Fprocess%2Fdeprecated.html%23open-coded-
arithmetic-in-allocator-
arguments&data=04%7C01%7Chaiyangz%40microsoft.com%7C1bf83c1204a34dae
a6d308d9750eef16%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C6376695297
12931146%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJ
BTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=PbYpBtyYfVfwwlxWSQx%2FiARc9
mhb0J7bfD46%2F9q5oTw%3D&reserved=0
Signed-off-by: Len Baker <redacted>
---
drivers/net/ethernet/microsoft/mana/hw_channel.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
From: Len Baker <hidden> Date: 2021-09-18 13:20:56
Hi,
On Sat, Sep 11, 2021 at 12:28:18PM +0200, Len Baker wrote:
quoted hunk
As noted in the "Deprecated Interfaces, Language Features, Attributes,
and Conventions" documentation [1], size calculations (especially
multiplication) should not be performed in memory allocator (or similar)
function arguments due to the risk of them overflowing. This could lead
to values wrapping around and a smaller allocation being made than the
caller was expecting. Using those allocations could lead to linear
overflows of heap memory and other misbehaviors.
So, use the struct_size() helper to do the arithmetic instead of the
argument "size + count * size" in the kzalloc() function.
[1] https://www.kernel.org/doc/html/v5.14/process/deprecated.html#open-coded-arithmetic-in-allocator-arguments
Signed-off-by: Len Baker <redacted>
---
drivers/net/ethernet/microsoft/mana/hw_channel.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
I have received a email from the linux-media subsystem telling that this
patch is not applicable. The email is the following:
Hello,
The following patch (submitted by you) has been updated in Patchwork:
* linux-media: net: mana: Prefer struct_size over open coded arithmetic
- http://patchwork.linuxtv.org/project/linux-media/patch/20210911102818.3804-1-len.baker@gmx.com/
- for: Linux Media kernel patches
was: New
now: Not Applicable
This email is a notification only - you do not need to respond.
The question is: Why it is not applicable?. I have no received any bad comment
and a "Reviewed-by:" tag from Haiyang Zhang. So, what is the reason for the
"Not Applicable" state?.
Regards,
Len
On September 18, 2021 6:20:10 AM PDT, Len Baker [off-list ref] wrote:
Hi,
On Sat, Sep 11, 2021 at 12:28:18PM +0200, Len Baker wrote:
quoted
As noted in the "Deprecated Interfaces, Language Features, Attributes,
and Conventions" documentation [1], size calculations (especially
multiplication) should not be performed in memory allocator (or similar)
function arguments due to the risk of them overflowing. This could lead
to values wrapping around and a smaller allocation being made than the
caller was expecting. Using those allocations could lead to linear
overflows of heap memory and other misbehaviors.
So, use the struct_size() helper to do the arithmetic instead of the
argument "size + count * size" in the kzalloc() function.
[1] https://www.kernel.org/doc/html/v5.14/process/deprecated.html#open-coded-arithmetic-in-allocator-arguments
Signed-off-by: Len Baker <redacted>
---
drivers/net/ethernet/microsoft/mana/hw_channel.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
I have received a email from the linux-media subsystem telling that this
patch is not applicable. The email is the following:
Hello,
The following patch (submitted by you) has been updated in Patchwork:
* linux-media: net: mana: Prefer struct_size over open coded arithmetic
- http://patchwork.linuxtv.org/project/linux-media/patch/20210911102818.3804-1-len.baker@gmx.com/
- for: Linux Media kernel patches
was: New
now: Not Applicable
This email is a notification only - you do not need to respond.
The question is: Why it is not applicable?. I have no received any bad comment
and a "Reviewed-by:" tag from Haiyang Zhang. So, what is the reason for the
"Not Applicable" state?.
That is the "Media" subsystem patch tracker. The patch appears to be for networking, so the Media tracker has marked it as "not applicable [to the media subsystem]".
The CC list for this patch seems rather wide (media, dri). I would have expected only netdev. Were you using scripts/get_maintainer.pl for getting addresses?
-Kees
From: Dexuan Cui <decui@microsoft.com> Date: 2021-09-18 17:06:26
From: Len Baker <redacted>
Sent: Saturday, September 18, 2021 6:20 AM
...
I have received a email from the linux-media subsystem telling that this
patch is not applicable. The email is the following:
Regards,
Len
From: Len Baker <hidden> Date: 2021-09-18 17:12:24
Hi Kees,
On Sat, Sep 18, 2021 at 06:51:51AM -0700, Kees Cook wrote:
On September 18, 2021 6:20:10 AM PDT, Len Baker [off-list ref] wrote:
quoted
Hi,
On Sat, Sep 11, 2021 at 12:28:18PM +0200, Len Baker wrote:
quoted
As noted in the "Deprecated Interfaces, Language Features, Attributes,
and Conventions" documentation [1], size calculations (especially
multiplication) should not be performed in memory allocator (or similar)
function arguments due to the risk of them overflowing. This could lead
to values wrapping around and a smaller allocation being made than the
caller was expecting. Using those allocations could lead to linear
overflows of heap memory and other misbehaviors.
So, use the struct_size() helper to do the arithmetic instead of the
argument "size + count * size" in the kzalloc() function.
[1] https://www.kernel.org/doc/html/v5.14/process/deprecated.html#open-coded-arithmetic-in-allocator-arguments
Signed-off-by: Len Baker <redacted>
---
drivers/net/ethernet/microsoft/mana/hw_channel.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
I have received a email from the linux-media subsystem telling that this
patch is not applicable. The email is the following:
Hello,
The following patch (submitted by you) has been updated in Patchwork:
* linux-media: net: mana: Prefer struct_size over open coded arithmetic
- http://patchwork.linuxtv.org/project/linux-media/patch/20210911102818.3804-1-len.baker@gmx.com/
- for: Linux Media kernel patches
was: New
now: Not Applicable
This email is a notification only - you do not need to respond.
The question is: Why it is not applicable?. I have no received any bad comment
and a "Reviewed-by:" tag from Haiyang Zhang. So, what is the reason for the
"Not Applicable" state?.
That is the "Media" subsystem patch tracker. The patch appears to be for networking, so the Media tracker has marked it as "not applicable [to the media subsystem]".
The CC list for this patch seems rather wide (media, dri). I would have expected only netdev. Were you using scripts/get_maintainer.pl for getting addresses?
Yes, my workflow is scripts/checkpatch.pl and then scripts/get_maintainer.pl
before sending any patch :)
Regards,
Len
From: Len Baker <hidden> Date: 2021-09-19 08:27:37
Hi Dexuan,
On Sat, Sep 18, 2021 at 05:06:16PM +0000, Dexuan Cui wrote:
quoted
From: Len Baker <redacted>
Sent: Saturday, September 18, 2021 6:20 AM
...
I have received a email from the linux-media subsystem telling that this
patch is not applicable. The email is the following:
Regards,
Len