[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230729123202.72406-1-jhs@mojatatu.com>
Date: Sat, 29 Jul 2023 08:31:59 -0400
From: Jamal Hadi Salim <jhs@...atatu.com>
To: davem@...emloft.net,
kuba@...nel.org,
edumazet@...gle.com,
pabeni@...hat.com
Cc: jiri@...nulli.us,
xiyou.wangcong@...il.com,
netdev@...r.kernel.org,
sec@...is.email,
ramdhan@...rlabs.sg,
billy@...rlabs.sg
Subject: [PATCH net v2 0/3] net/sched Bind logic fixes for cls_fw, cls_u32 and cls_route
From: valis <sec@...is.email>
Three classifiers (cls_fw, cls_u32 and cls_route) always copy
tcf_result struct into the new instance of the filter on update.
This causes a problem when updating a filter bound to a class,
as tcf_unbind_filter() is always called on the old instance in the
success path, decreasing filter_cnt of the still referenced class
and allowing it to be deleted, leading to a use-after-free.
This patch set fixes this issue in all affected classifiers by no longer
copying the tcf_result struct from the old filter.
v1 -> v2:
- Resubmission and SOB by Jamal
valis (3):
net/sched: cls_u32: No longer copy tcf_result on update to avoid
use-after-free
net/sched: cls_fw: No longer copy tcf_result on update to avoid
use-after-free
net/sched: cls_route: No longer copy tcf_result on update to avoid
use-after-free
net/sched/cls_fw.c | 1 -
net/sched/cls_route.c | 1 -
net/sched/cls_u32.c | 1 -
3 files changed, 3 deletions(-)
--
2.34.1
Powered by blists - more mailing lists