The kernel would like to have all stack VLA usage removed[1].

Signed-off-by: Andreas Christoforou <andreaschrist...@gmail.com>
---
 net/ipv6/xfrm6_state.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/net/ipv6/xfrm6_state.c b/net/ipv6/xfrm6_state.c
index b15075a..45c0d98 100644
--- a/net/ipv6/xfrm6_state.c
+++ b/net/ipv6/xfrm6_state.c
@@ -62,7 +62,12 @@ __xfrm6_sort(void **dst, void **src, int n, int (*cmp)(void 
*p), int maxclass)
 {
        int i;
        int class[XFRM_MAX_DEPTH];
-       int count[maxclass];
+       int *count;
+
+       count = kcalloc(maxclass + 1, sizeof(*count), GFP_KERNEL);
+
+       if (!count)
+               return -ENOMEM;
 
        memset(count, 0, sizeof(count));
 
@@ -80,6 +85,7 @@ __xfrm6_sort(void **dst, void **src, int n, int (*cmp)(void 
*p), int maxclass)
                src[i] = NULL;
        }
 
+       kfree(count);
        return 0;
 }
 
-- 
2.7.4

Reply via email to