Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit 410809ad authored by Subash Abhinov Kasiviswanathan's avatar Subash Abhinov Kasiviswanathan Committed by Gerrit - the friendly Code Review server
Browse files

ppp: pppopns: Always linearize in the input path



The receive path always assumes that linear skbs would be received
in the input path and tries to de-reference the linear sections
without checking for non-linear skbs.

This can result in some unexpected behavior such as connection
failures over pptp vpns or the following error-

105.926646:   <6> kernel BUG at include/linux/skbuff.h:2107!
105.926662:   <6> Internal error: Oops - BUG: 0 [#1] PREEMPT SMP
105.927125:   <2> Call trace:
105.927132:   <2>  skb_pull+0x38/0x40
105.927150:   <2>  __sk_receive_skb+0x10c/0x228
105.927155:   <2>  pppopns_recv+0x4c/0x70
105.927161:   <2>  __sock_queue_rcv_skb+0x258/0x2b0
105.927166:   <2>  sock_queue_rcv_skb+0x2c/0x38
105.927177:   <2>  raw_rcv+0x10c/0x158
105.927183:   <2>  raw_local_deliver+0x1f0/0x3a0
105.927191:   <2>  ip_protocol_deliver_rcu+0x2c/0x1d0
105.927195:   <2>  ip_local_deliver+0x104/0x140
105.927201:   <2>  ip_rcv_finish+0x214/0x2e0
105.927206:   <2>  ip_rcv+0x2dc/0x388
105.927215:   <2>  __netif_receive_skb_core+0x9d8/0xb98
105.927221:   <2>  process_backlog+0x14c/0x278
105.927228:   <2>  net_rx_action+0x114/0x470
105.927238:   <2>  __do_softirq+0x1f8/0x3ac
105.927247:   <2>  irq_exit+0xd0/0xe0
105.927256:   <2>  handle_IPI+0x188/0x2a0
105.927260:   <2>  gic_handle_irq+0x130/0x1c0
105.927265:   <2>  el1_irq+0xb0/0x124
105.927274:   <2>  lpm_cpuidle_enter+0x508/0x548
105.927283:   <2>  cpuidle_enter_state+0x1cc/0x350
105.927291:   <2>  cpuidle_enter+0x18/0x20
105.927300:   <2>  do_idle+0x174/0x268
105.927305:   <2>  cpu_startup_entry+0x20/0x28
105.927312:   <2>  secondary_start_kernel+0x12c/0x138

Fix this by unconditionally linearizing the incoming packets.

CRs-Fixed: 2525316
Change-Id: Ib9d67cace7ffec418bd2f1737198b0fb84b37c9f
Signed-off-by: default avatarSubash Abhinov Kasiviswanathan <subashab@codeaurora.org>
parent 6ee61fd3
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment