Thread (9 messages) flat view 9 messages, 3 authors, 2021-07-27

Re: [PATCH 1/2] net: cipso: fix warnings in netlbl_cipsov4_add_std

From: Pavel Skripkin <hidden>
Date: 2021-07-26 11:11:49
Also in: lkml, netdev

On Sat, 10 Jul 2021 10:03:13 +0300
Pavel Skripkin [off-list ref] wrote:
quoted hunk ↗ jump to hunk
Syzbot reported warning in netlbl_cipsov4_add(). The
problem was in too big doi_def->map.std->lvl.local_size
passed to kcalloc(). Since this value comes from userpace there is
no need to warn if value is not correct.

The same problem may occur with other kcalloc() calls in
this function, so, I've added __GFP_NOWARN flag to all
kcalloc() calls there.

Reported-and-tested-by:
syzbot+cdd51ee2e6b0b2e18c0d@syzkaller.appspotmail.com Fixes:
96cb8e3313c7 ("[NetLabel]: CIPSOv4 and Unlabeled packet integration")
Signed-off-by: Pavel Skripkin <redacted> ---
 net/netlabel/netlabel_cipso_v4.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/net/netlabel/netlabel_cipso_v4.c
b/net/netlabel/netlabel_cipso_v4.c index 4f50a64315cf..50f40943c815
100644 --- a/net/netlabel/netlabel_cipso_v4.c
+++ b/net/netlabel/netlabel_cipso_v4.c
@@ -187,14 +187,14 @@ static int netlbl_cipsov4_add_std(struct
genl_info *info, }
 	doi_def->map.std->lvl.local =
kcalloc(doi_def->map.std->lvl.local_size, sizeof(u32),
-					      GFP_KERNEL);
+					      GFP_KERNEL |
__GFP_NOWARN); if (doi_def->map.std->lvl.local == NULL) {
 		ret_val = -ENOMEM;
 		goto add_std_failure;
 	}
 	doi_def->map.std->lvl.cipso =
kcalloc(doi_def->map.std->lvl.cipso_size, sizeof(u32),
-					      GFP_KERNEL);
+					      GFP_KERNEL |
__GFP_NOWARN); if (doi_def->map.std->lvl.cipso == NULL) {
 		ret_val = -ENOMEM;
 		goto add_std_failure;
@@ -263,7 +263,7 @@ static int netlbl_cipsov4_add_std(struct
genl_info *info, doi_def->map.std->cat.local = kcalloc(
 					      doi_def->map.std->cat.local_size,
 					      sizeof(u32),
-					      GFP_KERNEL);
+					      GFP_KERNEL |
__GFP_NOWARN); if (doi_def->map.std->cat.local == NULL) {
 			ret_val = -ENOMEM;
 			goto add_std_failure;
@@ -271,7 +271,7 @@ static int netlbl_cipsov4_add_std(struct
genl_info *info, doi_def->map.std->cat.cipso = kcalloc(
 					      doi_def->map.std->cat.cipso_size,
 					      sizeof(u32),
-					      GFP_KERNEL);
+					      GFP_KERNEL |
__GFP_NOWARN); if (doi_def->map.std->cat.cipso == NULL) {
 			ret_val = -ENOMEM;
 			goto add_std_failure;

Hi, net developers!

Is this patch merged somewhere? I've checked net tree and Paul Moore
tree on https://git.kernel.org/, but didn't find it. Did I miss it
somewhere? If not, it's just a gentle ping :)

Btw: maybe I should send it as separete patch, since 2/2 in this
series is invalid as already in-tree?


 
With regards,
Pavel Skripkin
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help