#syz-test:
https://github.com/torvalds/linux.git b90cb1053190
Reported-by:
syzbot+5ec9bb...@syzkaller.appspotmail.com
link:
https://lore.kernel.org/lkml/00000000000092...@google.com/
---
net/xfrm/xfrm_ipcomp.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/net/xfrm/xfrm_ipcomp.c b/net/xfrm/xfrm_ipcomp.c
index cb40ff0ff28d..0c60ccecb55f 100644
--- a/net/xfrm/xfrm_ipcomp.c
+++ b/net/xfrm/xfrm_ipcomp.c
@@ -210,12 +210,16 @@ static void * __percpu *ipcomp_alloc_scratches(void)
void * __percpu *scratches;
int i;
- if (ipcomp_scratch_users++)
+ if (ipcomp_scratch_users) {
+ ipcomp_scratch_users++;
return ipcomp_scratches;
-
+ }
scratches = alloc_percpu(void *);
- if (!scratches)
+ if (!scratches){
+ ipcomp_scratches = NULL;
return NULL;
+ }
+ ipcomp_scratch_users++;
ipcomp_scratches = scratches;
--
2.37.1