xfrm: remove VLA usage in __xfrm6_sort()
Subsystems (3)
PATCH v4 1/1 xfrm: remove VLA usage in __xfrm6_sort()
In the quest to remove all stack VLA usage removed from the kernel[1], just use XFRM_MAX_DEPTH as already done for the "class" array. In one case, it'll do this loop up to 5, the other caller up to 6.
[1] https://lkml.org/lkml/2018/3/7/621
---
v4:
- actually remove memset(). :)
v3:
- adjust Subject and commit log (Steffen)
- use "= { }" instead of memset() (Stefano)
v2:
- use XFRM_MAX_DEPTH for "count" array (Steffen and Mathias).
--- net/ipv6/xfrm6_state.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
net/ipv6/xfrm6_state.c +2 -4
@@ -60,11 +60,9 @@ xfrm6_init_temprop(struct xfrm_state *x, const struct xfrm_tmpl *tmpl,static int __xfrm6_sort (void **dst,void **src,int n,int (*cmp)(void *p),int maxclass) { -int i; +int count[XFRM_MAX_DEPTH ] = { };int class[XFRM_MAX_DEPTH ]; -int count[maxclass]; - -memset (count,0 ,sizeof (count)); +int i;for (i =0 ; i < n; i++) {int c;
Signature · 6 lines
2.7.4 -- Kees Cook Pixel Security
Quoted 8 lines · On Wed, 25 Apr 2018 07:46:39 -0700 Kees Cook <[email protected]> wrote:
In the quest to remove all stack VLA usage removed from the kernel[1], just use
XFRM_MAX_DEPTHas already done for the "class" array. In one case, it'll do this loop up to 5, the other caller up to 6.[1] https://lkml.org/lkml/2018/3/7/621
Co-developed-by Andreas Christoforou <[email protected]>Signed-off-by Kees Cook <[email protected]>
Quoted 9 lines
---
v4:
- actually removememset(). :)
v3:
- adjust Subject and commit log (Steffen)
- use "= { }" instead ofmemset()(Stefano)
v2:
- useXFRM_MAX_DEPTHfor "count" array (Steffen and Mathias).
---
Quoted 21 lines · Stefano Brivio
Quoted 8 lines · On Wed, 25 Apr 2018 07:46:39 -0700 Kees Cook <[email protected]> wrote:
In the quest to remove all stack VLA usage removed from the kernel[1], just use
XFRM_MAX_DEPTHas already done for the "class" array. In one case, it'll do this loop up to 5, the other caller up to 6.[1] https://lkml.org/lkml/2018/3/7/621
Co-developed-by Andreas Christoforou <[email protected]>Signed-off-by Kees Cook <[email protected]>Quoted 9 lines
---
v4:
- actually removememset(). :)
v3:
- adjust Subject and commit log (Steffen)
- use "= { }" instead ofmemset()(Stefano)
v2:
- useXFRM_MAX_DEPTHfor "count" array (Steffen and Mathias).
---
Quoted 1 line
Acked-by Stefano Brivio <[email protected]>
Applied to ipsec-next, thanks everyone!