+2
−0
Loading
build_expire() clears the trailing padding bytes of struct xfrm_user_expire after setting the hard field via memset_after(), but the analogous function build_polexpire() does not do this for struct xfrm_user_polexpire. The padding bytes after the __u8 hard field are left uninitialized from the heap allocation, and are then sent to userspace via netlink multicast to XFRMNLGRP_EXPIRE listeners, leaking kernel heap memory contents. Add the missing memset_after() call, matching build_expire(). Fixes: 1da177e4 ("Linux-2.6.12-rc2") Cc: stable@vger.kernel.org Signed-off-by:Yasuaki Torimaru <yasuakitorimaru@gmail.com> Reviewed-by:
Simon Horman <horms@kernel.org> Reviewed-by:
Breno Leitao <leitao@debian.org> Signed-off-by:
Steffen Klassert <steffen.klassert@secunet.com>