Files
android_kernel_samsung_sm86…/core
Sean Tranchetti c583c04062 core: rmnet: validate ipv6 extension header lengths
When calculating the length of the IPv6 header chain, lengths of the IPv6
extension headers are not checked against the overall packet lengths and
thus it's possible to parse past the end of the packet when the packet is
malformed.

This adds the necessary bounds checking to ensure that parsing stops if the
end of the packet is reached to avoid the following:
Unable to handle kernel paging request at virtual address
pc : rmnet_frag_ipv6_skip_exthdr+0xc0/0x108 [rmnet_core]
lr : rmnet_frag_ipv6_skip_exthdr+0x68/0x108 [rmnet_core]
Call trace:
  rmnet_frag_ipv6_skip_exthdr+0xc0/0x108 [rmnet_core]
  DATARMNET29e8d137c4+0x1a0/0x3e0 [rmnet_offload]
  rmnet_frag_ingress_handler+0x294/0x404 [rmnet_core]
  rmnet_rx_handler+0x1b4/0x284 [rmnet_core]
  __netif_receive_skb_core+0x740/0xd2c
  __netif_receive_skb+0x44/0x158

Change-Id: Ib2e2ebce733bd4d14a3dfc175133638b15015277
Signed-off-by: Sean Tranchetti <stranche@codeaurora.org>
2020-07-28 15:04:31 -06:00
..
2020-04-03 13:47:42 -07:00
2020-04-10 15:27:23 -07:00
2020-07-14 17:01:27 -07:00
2020-07-14 17:01:27 -07:00
2020-04-03 13:47:42 -07:00
2020-04-03 13:47:42 -07:00
2019-12-10 15:22:43 -07:00
2020-07-14 17:01:27 -07:00
2020-07-17 17:06:09 -07:00
2020-07-14 17:01:27 -07:00
2020-04-03 13:47:42 -07:00
2020-05-20 15:43:25 -06:00
2020-03-22 21:21:49 -06:00
2020-07-14 17:01:27 -07:00
2019-12-10 15:22:43 -07:00
2020-01-23 13:31:14 -07:00
2019-12-10 15:22:43 -07:00