UPSTREAM: net/sched: flower: fix possible OOB write in fl_set_geneve_opt()
[ Upstream commit 4d56304e5827c8cc8cc18c75343d283af7c4825c ] If we send two TCA_FLOWER_KEY_ENC_OPTS_GENEVE packets and their total size is 252 bytes(key->enc_opts.len = 252) then key->enc_opts.len = opt->length = data_len / 4 = 0 when the third TCA_FLOWER_KEY_ENC_OPTS_GENEVE packet enters fl_set_geneve_opt. This bypasses the next bounds check and results in an out-of-bounds. Bug: 288660424 Fixes: 0a6e7778 ("net/sched: allow flower to match tunnel options") Signed-off-by:Hangyu Hua <hbh25y@gmail.com> Reviewed-by:
Simon Horman <simon.horman@corigine.com> Reviewed-by:
Pieter Jansen van Vuuren <pieter.jansen-van-vuuren@amd.com> Link: https://lore.kernel.org/r/20230531102805.27090-1-hbh25y@gmail.com Signed-off-by:
Paolo Abeni <pabeni@redhat.com> Signed-off-by:
Sasha Levin <sashal@kernel.org> (cherry picked from commit 45f47d2cf1142fbfe5d6fc39ad78f4aac058907c) Signed-off-by:
Lee Jones <joneslee@google.com> Change-Id: I53c534b7d43f4c7da5a9f63556c79d35797aa598
Loading
Please register or sign in to comment