Jason Baron
50acd32ea7
net: sched: correct flower port blocking
...
[ Upstream commit 8a9093c798 ]
tc flower rules that are based on src or dst port blocking are sometimes
ineffective due to uninitialized stack data. __skb_flow_dissect() extracts
ports from the skb for tc flower to match against. However, the port
dissection is not done when when the FLOW_DIS_IS_FRAGMENT bit is set in
key_control->flags. All callers of __skb_flow_dissect(), zero-out the
key_control field except for fl_classify() as used by the flower
classifier. Thus, the FLOW_DIS_IS_FRAGMENT may be set on entry to
__skb_flow_dissect(), since key_control is allocated on the stack
and may not be initialized.
Since key_basic and key_control are present for all flow keys, let's
make sure they are initialized.
Fixes: 62230715fd ("flow_dissector: do not dissect l4 ports for fragments")
Co-developed-by: Eric Dumazet <edumazet@google.com >
Signed-off-by: Eric Dumazet <edumazet@google.com >
Acked-by: Cong Wang <xiyou.wangcong@gmail.com >
Signed-off-by: Jason Baron <jbaron@akamai.com >
Signed-off-by: David S. Miller <davem@davemloft.net >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-05 16:43:32 +01:00
..
2019-05-30 11:29:21 -07:00
2019-09-05 17:27:21 +02:00
2019-05-30 11:29:22 -07:00
2018-09-26 09:56:07 -07:00
2019-11-04 20:58:32 +01:00
2020-01-29 16:45:33 +01:00
2019-06-19 17:09:07 +02:00
2019-06-05 17:37:07 +02:00
2019-12-04 22:30:57 +01:00
2019-09-16 09:18:03 +02:00
2019-09-16 09:18:03 +02:00
2019-08-19 17:19:46 -07:00
2019-05-30 11:26:41 -07:00
2019-05-30 11:26:32 -07:00
2019-02-28 08:24:23 -07:00
2019-06-05 17:37:05 +02:00
2019-12-31 16:45:03 +01:00
2019-01-23 11:18:00 -08:00
2019-06-19 17:09:55 +02:00
2019-05-24 17:37:53 +02:00
2019-05-21 11:28:40 +02:00
2019-07-04 12:30:48 -07:00
2019-11-05 17:40:16 -08:00
2019-08-17 23:18:54 +02:00
2019-10-30 17:34:35 -07:00
2019-05-21 11:28:45 +02:00
2019-06-19 17:09:55 +02:00
2020-02-05 21:22:46 +00:00
2019-05-30 11:26:41 -07:00
2019-05-30 11:26:32 -07:00
2019-05-21 11:28:45 +02:00
2019-05-30 11:26:32 -07:00
2019-04-19 14:07:40 -07:00
2019-05-30 11:29:52 -07:00
2019-05-30 11:29:52 -07:00
2019-11-09 19:38:36 -08:00
2019-05-21 11:52:39 +02:00
2019-05-21 11:52:39 +02:00
2019-08-17 12:40:08 -07:00
2019-09-16 21:32:57 +02:00
2020-01-04 19:18:58 +01:00
2020-01-04 19:19:05 +01:00
2019-06-19 17:09:55 +02:00
2019-04-22 21:50:53 -07:00
2019-07-11 14:22:53 -07:00
2020-03-05 16:43:32 +01:00
2019-12-18 16:08:47 +01:00
2019-02-27 12:50:17 -08:00
2019-11-08 09:11:49 +01:00
2019-10-23 20:13:22 -07:00
2018-11-17 21:37:29 -08:00
2019-04-27 17:07:22 -04:00
2019-03-22 12:09:31 -07:00
2018-12-10 15:53:04 -08:00
2019-07-01 10:58:23 -07:00
2019-10-25 16:24:32 -07:00
2019-05-30 11:26:32 -07:00
2019-02-22 12:56:24 -08:00
2019-05-30 11:26:41 -07:00
2019-08-28 14:43:03 -07:00
2019-04-22 21:50:53 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-07-03 13:51:54 -07:00
2019-08-31 23:44:28 -07:00
2018-10-17 17:45:07 -07:00
2019-08-08 15:55:10 -07:00
2020-01-04 19:19:13 +01:00
2019-09-13 21:44:19 +02:00
2019-09-27 12:05:02 +02:00
2019-02-08 21:50:15 -08:00
2019-05-30 11:26:32 -07:00
2019-06-24 10:18:49 -07:00
2019-06-27 21:06:39 -07:00
2019-06-18 20:48:45 -04:00
2019-09-05 12:35:58 +02:00
2019-02-27 12:50:17 -08:00
2019-10-24 11:56:02 +02:00
2019-12-18 16:08:17 +01:00
2019-06-19 11:37:47 -04:00
2019-12-18 16:08:42 +01:00
2019-12-18 16:08:40 +01:00
2020-02-11 04:35:48 -08:00
2019-06-19 17:09:55 +02:00
2019-05-30 11:26:32 -07:00
2019-10-08 13:23:05 -07:00
2018-09-13 09:04:58 -07:00
2019-04-23 19:42:29 -07:00
2019-09-11 09:33:29 +02:00
2019-05-30 11:26:41 -07:00
2019-05-21 11:28:45 +02:00
2019-06-05 17:36:38 +02:00
2019-06-05 17:36:38 +02:00
2019-12-31 16:45:03 +01:00
2020-01-09 10:20:06 +01:00
2019-10-25 20:14:42 -07:00
2019-05-21 11:28:45 +02:00
2019-08-13 20:37:16 -07:00
2019-05-30 11:26:32 -07:00
2019-04-11 13:59:49 -07:00
2019-09-05 12:35:58 +02:00
2019-12-18 16:09:07 +01:00
2019-05-30 11:26:32 -07:00
2020-02-01 09:34:38 +00:00
2019-09-17 23:51:10 +02:00
2019-05-30 11:26:32 -07:00
2019-09-16 09:18:03 +02:00
2019-05-30 11:26:32 -07:00
2018-08-28 11:11:47 +02:00
2019-10-09 21:34:31 -07:00
2019-09-20 18:23:33 -07:00
2018-11-06 15:00:45 -08:00
2019-04-22 21:47:25 -07:00
2020-02-01 09:34:38 +00:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-02-21 10:34:37 -08:00
2019-05-30 11:26:32 -07:00
2019-09-16 09:02:18 +02:00
2020-01-09 10:20:07 +01:00
2019-06-19 17:09:55 +02:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2020-01-23 08:22:45 +01:00
2019-05-30 11:26:32 -07:00
2019-12-04 22:31:02 +01:00
2019-03-29 10:53:45 -07:00
2020-02-01 09:34:39 +00:00
2019-06-05 17:37:05 +02:00
2019-10-24 14:53:49 -07:00
2019-06-05 17:30:29 +02:00
2019-12-18 16:09:07 +01:00
2019-08-31 01:08:26 +02:00
2019-06-19 11:23:13 -04:00
2019-07-17 10:03:54 +02:00