Johannes Berg
35f432a03e
mac80211: initialize fast-xmit 'info' later
...
In ieee80211_xmit_fast(), 'info' is initialized to point to the skb
that's passed in, but that skb may later be replaced by a clone (if
it was shared), leading to an invalid pointer.
This can lead to use-after-free and also later crashes since the
real SKB's info->hw_queue doesn't get initialized properly.
Fix this by assigning info only later, when it's needed, after the
skb replacement (may have) happened.
Cc: stable@vger.kernel.org
Reported-by: Ben Greear <greearb@candelatech.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-01-02 11:28:25 +01:00
..
2016-10-17 16:14:04 +02:00
2016-10-17 16:14:04 +02:00
2016-10-27 16:03:25 +02:00
2016-10-27 16:03:25 +02:00
2016-10-17 16:14:04 +02:00
2016-10-17 16:14:04 +02:00
2016-10-17 16:14:04 +02:00
2016-10-17 16:14:04 +02:00
2016-10-19 12:11:49 +02:00
2016-09-15 10:08:52 +02:00
2016-10-27 09:18:07 +02:00
2016-09-30 13:21:19 +02:00
2014-11-04 13:18:21 +01:00
2016-02-24 09:04:38 +01:00
2016-10-12 11:33:29 +02:00
2014-04-09 14:49:43 +02:00
2016-10-19 12:12:11 +02:00
2016-10-19 12:12:44 +02:00
2014-04-09 14:49:43 +02:00
2016-09-30 13:45:44 +02:00
2016-09-30 13:45:44 +02:00
2015-10-21 10:08:22 +02:00
2016-10-28 12:59:12 +02:00
2016-10-27 16:03:25 +02:00
2016-02-24 09:04:20 +01:00
2016-04-12 15:56:15 +02:00
2016-12-16 00:13:41 +02:00
2016-10-29 17:28:45 -04:00
2015-08-14 17:49:53 +02:00
2016-12-13 15:57:59 +01:00
2016-02-24 09:04:38 +01:00
2015-05-11 19:16:04 +02:00
2015-05-05 14:21:56 +02:00
2016-10-27 16:03:26 +02:00
2016-12-16 00:13:43 +02:00
2016-09-23 06:46:57 -04:00
2016-09-12 12:27:14 +02:00
2016-06-30 12:06:41 +02:00
2015-07-17 15:47:11 +02:00
2016-09-30 13:47:00 +02:00
2016-08-03 08:45:15 +02:00
2016-04-05 21:34:53 +02:00
2014-04-09 14:49:43 +02:00
2016-12-09 12:57:49 +01:00
2016-04-06 13:18:15 +02:00
2016-10-12 09:19:12 +02:00
2016-09-13 15:39:29 +02:00
2016-04-12 15:56:15 +02:00
2016-04-05 11:59:05 +02:00
2015-09-29 15:56:47 +02:00
2015-09-29 15:56:47 +02:00
2016-04-12 15:56:15 +02:00
2015-04-01 20:44:32 +02:00
2016-04-12 15:56:15 +02:00
2015-04-01 20:44:33 +02:00
2016-12-13 16:08:37 +01:00
2016-09-15 16:46:16 +02:00
2016-07-06 14:55:04 +02:00
2016-12-15 10:54:48 +01:00
2016-10-19 12:11:49 +02:00
2016-09-20 04:43:36 -04:00
2016-08-30 08:03:41 +02:00
2016-02-24 09:04:38 +01:00
2016-02-24 09:04:38 +01:00
2015-04-07 12:32:09 -04:00
2015-04-07 12:32:09 -04:00
2016-09-30 13:45:44 +02:00
2017-01-02 11:28:25 +01:00
2016-10-27 09:18:07 +02:00
2016-11-15 14:18:43 +01:00
2015-05-11 14:51:29 +02:00
2016-10-12 14:17:13 +02:00
2014-10-22 10:42:09 +02:00
2016-10-30 12:42:58 -04:00
2015-01-27 11:10:13 +01:00