xfrm: xfrm_alloc_spi shouldn't use 0 as SPI
[ Upstream commit cd8ae32e ] x->id.spi == 0 means "no SPI assigned", but since commit 94f39804 ("xfrm: Duplicate SPI Handling"), we now create states and add them to the byspi list with this value. __xfrm_state_delete doesn't remove those states from the byspi list, since they shouldn't be there, and this shows up as a UAF the next time we go through the byspi list. Reported-by:<syzbot+a25ee9d20d31e483ba7b@syzkaller.appspotmail.com> Closes: https://syzkaller.appspot.com/bug?extid=a25ee9d20d31e483ba7b Fixes: 94f39804 ("xfrm: Duplicate SPI Handling") Signed-off-by:
Sabrina Dubroca <sd@queasysnail.net> Reviewed-by:
Simon Horman <horms@kernel.org> Signed-off-by:
Steffen Klassert <steffen.klassert@secunet.com> Signed-off-by:
Sasha Levin <sashal@kernel.org>
Loading