tfcpad is a u32, but that full range is excessive for padding.
Limit it to max IP length (64k).
Signed-off-by: David Ahern <dahern@nvidia.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
attrs[XFRMA_ALG_COMP], extack)))
goto error;
- if (attrs[XFRMA_TFCPAD])
+ if (attrs[XFRMA_TFCPAD]) {
x->tfcpad = nla_get_u32(attrs[XFRMA_TFCPAD]);
+ if (x->tfcpad > IP_MAX_MTU) {
+ NL_SET_ERR_MSG(extack, "Excessive TFC padding");
+ err = -EINVAL;
+ goto error;
+ }
+ }
xfrm_mark_get(attrs, &x->mark);