Tho Vu cfef46d692 ravb: Fix use-after-free ravb_tstamp_skb
When a Tx timestamp is requested, a pointer to the skb is stored in the
ravb_tstamp_skb struct. This was done without an skb_get. There exists
the possibility that the skb could be freed by ravb_tx_free (when
ravb_tx_free is called from ravb_start_xmit) before the timestamp was
processed, leading to a use-after-free bug.

Use skb_get when filling a ravb_tstamp_skb struct, and add appropriate
frees/consumes when a ravb_tstamp_skb struct is freed.

Fixes: c156633f1353 ("Renesas Ethernet AVB driver proper")
Signed-off-by: Tho Vu <tho.vu.wh@rvc.renesas.com>
Signed-off-by: Kazuya Mizuguchi <kazuya.mizuguchi.ks@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-08-18 14:19:14 -07:00
..
2019-07-28 10:26:10 -07:00
2019-07-19 17:13:56 -07:00
2019-07-18 09:49:30 +02:00
2019-07-17 09:55:43 -07:00
2019-08-02 18:53:51 -07:00
2019-07-29 11:34:12 -07:00
2019-08-01 20:21:00 +02:00
2019-07-09 08:59:39 -07:00
2019-07-22 09:01:47 -07:00
2019-07-20 09:34:55 -07:00
2019-07-11 18:11:21 -07:00
2019-07-11 15:14:01 -07:00
2019-07-15 20:18:40 -07:00
2019-08-01 14:05:17 +02:00
2019-07-22 15:31:00 +02:00
2019-08-04 16:37:08 -07:00
2019-07-27 08:25:51 -07:00
2019-07-15 20:44:49 -07:00
2019-07-01 15:04:59 +02:00
2019-07-09 08:57:45 -07:00
2019-07-17 11:44:41 -07:00
2019-07-19 17:13:56 -07:00
2019-07-17 10:03:50 -07:00
2019-08-02 14:46:33 -07:00
2019-07-05 08:15:08 +02:00
2019-08-05 11:49:02 -07:00
2019-07-16 12:21:41 -07:00
2019-07-28 10:18:33 -07:00
2019-07-17 11:23:13 -07:00
2019-07-16 09:25:04 -07:00
2019-08-02 15:26:48 -07:00