+2
−1
Loading
stable inclusion from stable-v5.10.229 commit 8a283a19026aaae8a773fd8061263cfa315b127f category: bugfix bugzilla: https://gitee.com/src-openeuler/kernel/issues/IB2BWJ CVE: CVE-2024-50127 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=8a283a19026aaae8a773fd8061263cfa315b127f -------------------------------- [ Upstream commit f504465970aebb2467da548f7c1efbbf36d0f44b ] In 'taprio_change()', 'admin' pointer may become dangling due to sched switch / removal caused by 'advance_sched()', and critical section protected by 'q->current_entry_lock' is too small to prevent from such a scenario (which causes use-after-free detected by KASAN). Fix this by prefer 'rcu_replace_pointer()' over 'rcu_assign_pointer()' to update 'admin' immediately before an attempt to schedule freeing. Fixes: a3d43c0d ("taprio: Add support adding an admin schedule") Reported-by:<syzbot+b65e0af58423fc8a73aa@syzkaller.appspotmail.com> Closes: https://syzkaller.appspot.com/bug?extid=b65e0af58423fc8a73aa Acked-by:
Vinicius Costa Gomes <vinicius.gomes@intel.com> Signed-off-by:
Dmitry Antipov <dmantipov@yandex.ru> Link: https://patch.msgid.link/20241018051339.418890-1-dmantipov@yandex.ru Signed-off-by:
Paolo Abeni <pabeni@redhat.com> Signed-off-by:
Sasha Levin <sashal@kernel.org> Signed-off-by:
Wang Liang <wangliang74@huawei.com>