]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
net/sched: mqprio: Add length check for TCA_MQPRIO_{MAX/MIN}_RATE64
authorLin Ma <linma@zju.edu.cn>
Tue, 25 Jul 2023 02:42:27 +0000 (10:42 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 3 Aug 2023 08:22:36 +0000 (10:22 +0200)
commit95cf4fa31b0cebeef9cb98654386037077d06dcd
tree73b959fee680cc52dc6a73ac039ecb404fefee01
parent98f6bbdfc0cecdc2a38cc4781df1363bb0576791
net/sched: mqprio: Add length check for TCA_MQPRIO_{MAX/MIN}_RATE64

[ Upstream commit 6c58c8816abb7b93b21fa3b1d0c1726402e5e568 ]

The nla_for_each_nested parsing in function mqprio_parse_nlattr() does
not check the length of the nested attribute. This can lead to an
out-of-attribute read and allow a malformed nlattr (e.g., length 0) to
be viewed as 8 byte integer and passed to priv->max_rate/min_rate.

This patch adds the check based on nla_len() when check the nla_type(),
which ensures that the length of these two attribute must equals
sizeof(u64).

Fixes: 4e8b86c06269 ("mqprio: Introduce new hardware offload mode and shaper in mqprio")
Reviewed-by: Victor Nogueira <victor@mojatatu.com>
Signed-off-by: Lin Ma <linma@zju.edu.cn>
Link: https://lore.kernel.org/r/20230725024227.426561-1-linma@zju.edu.cn
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/sched/sch_mqprio.c