Merge branch 'cls_drop-fix'
authorDavid S. Miller <davem@davemloft.net>
Mon, 2 Jan 2023 13:32:43 +0000 (13:32 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 2 Jan 2023 13:32:43 +0000 (13:32 +0000)
commit819fcf4adfbd55e81c4325e11eccae16ccad4106
tree4357a3c35a5bb065f830b72ad31fdae1389e7c05
parent91e2286160edd29d3fea8efff2dcda7df321878d
parentcaa4b35b4317d5147b3ab0fbdc9c075c7d2e9c12
Merge branch 'cls_drop-fix'

Jamal Hadi Salim says:

====================
net: dont intepret cls results when asked to drop

It is possible that an error in processing may occur in tcf_classify() which
will result in res.classid being some garbage value. Example of such a code path
is when the classifier goes into a loop due to bad policy. See patch 1/2
for a sample splat.
While the core code reacts correctly and asks the caller to drop the packet
(by returning TC_ACT_SHOT) some callers first intepret the res.class as
a pointer to memory and end up dropping the packet only after some activity with
the pointer. There is likelihood of this resulting in an exploit. So lets fix
all the known qdiscs that behave this way.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>