netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net 0/3] net/sched Bind logic fixes for cls_fw, cls_u32 and cls_route
@ 2023-07-21 17:48 valis
  2023-07-21 17:48 ` [PATCH net 1/3] net/sched: cls_u32: No longer copy tcf_result on update to avoid use-after-free valis
                   ` (4 more replies)
  0 siblings, 5 replies; 19+ messages in thread
From: valis @ 2023-07-21 17:48 UTC (permalink / raw)
  To: netdev
  Cc: jhs, xiyou.wangcong, jiri, davem, edumazet, kuba, pabeni,
	pctammela, victor, ramdhan, billy

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.

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.30.2


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2023-07-26 15:25 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-21 17:48 [PATCH net 0/3] net/sched Bind logic fixes for cls_fw, cls_u32 and cls_route valis
2023-07-21 17:48 ` [PATCH net 1/3] net/sched: cls_u32: No longer copy tcf_result on update to avoid use-after-free valis
2023-07-21 18:04   ` M A Ramdhan
2023-07-21 18:58     ` Pedro Tammela
2023-07-21 20:38       ` M A Ramdhan
2023-07-21 19:55     ` Jamal Hadi Salim
2023-07-21 17:48 ` [PATCH net 2/3] net/sched: cls_fw: " valis
2023-07-21 17:48 ` [PATCH net 3/3] net/sched: cls_route: " valis
2023-07-21 19:00 ` [PATCH net 0/3] net/sched Bind logic fixes for cls_fw, cls_u32 and cls_route Pedro Tammela
2023-07-21 19:56   ` Jamal Hadi Salim
2023-07-23  7:25     ` M A Ramdhan
2023-07-25 12:57 ` Paolo Abeni
2023-07-25 19:05   ` valis
2023-07-25 20:09     ` Jakub Kicinski
2023-07-25 21:36       ` valis
2023-07-25 22:03         ` Jakub Kicinski
2023-07-26  4:07           ` Greg Kroah-Hartman
2023-07-26 13:59           ` Jamal Hadi Salim
2023-07-26 15:25             ` Jakub Kicinski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).