Skip to content

Commit

Permalink
qualcomm, rmnet: fix CFI violation in rmnet_deliver_skb and rmnet_del…
Browse files Browse the repository at this point in the history
…iver_skb_wq

02-22 00:12:51.066     0     0 W         : [20210222_00:12:51.066158]@1 CFI failure (target: rmnet_shs_assign.cfi_jt+0x0/0x4):
02-22 00:12:51.067     0     0 W [20210222_00:12:51.066237]@1 WARNING: CPU: 1 PID: 0 at kernel/cfi.c:31 __cfi_check_fail+0x44/0x4c
02-22 00:12:51.067     0     0 W         : [20210222_00:12:51.066250]@1 Modules linked in: wcd938x_slave_dlkm(FO) stub_dlkm(FO) swr_dlkm(FO) pinctrl_wcd_dlkm(FO) snd_event_dlkm(FO)
02-22 00:12:51.067     0     0 W [20210222_00:12:51.066301]@1 CPU: 1 PID: 0 Comm: swapper/1 Tainted: GFS      W  O      4.19.113-perf+ OnePlusOSS#3
02-22 00:12:51.067     0     0 W         : [20210222_00:12:51.066314]@1 Hardware name: Qualcomm Technologies, Inc. kona MTP dvt/mp 19811 14 15 52 53 (DT)
02-22 00:12:51.067     0     0 W [20210222_00:12:51.066328]@1 pstate: 60400005 (nZCv daif +PAN -UAO)
02-22 00:12:51.067     0     0 W [20210222_00:12:51.066342]@1 pc: __cfi_check_fail+0x44/0x4c
02-22 00:12:51.067     0     0 W [20210222_00:12:51.066355]@1 lr: __cfi_check_fail+0x44/0x4c
02-22 00:12:51.067     0     0 W [20210222_00:12:51.066364]@1 sp: ffffff801000b9f0
02-22 00:12:51.067     0     0 W [20210222_00:12:51.066375]@1 x29: ffffff801000b9f0 x28: 0000000000000034
02-22 00:12:51.067     0     0 W [20210222_00:12:51.066390]@1 x27: ffffffe06faffb80 x26: ffffff801000bb48
02-22 00:12:51.067     0     0 W [20210222_00:12:51.066403]@1 x25: ffffffe06faffb90 x24: cccccccccccccccd
02-22 00:12:51.067     0     0 W [20210222_00:12:51.066416]@1 x23: ffffff9f50e8e000 x22: 0000000000000001
02-22 00:12:51.067     0     0 W [20210222_00:12:51.066430]@1 x21: 29bb8dd6c0dc5b44 x20: ffffff9f53f28f30
02-22 00:12:51.067     0     0 W [20210222_00:12:51.066443]@1 x19: ffffff9f5280c5c4 x18: ffffffe0bfa12288
02-22 00:12:51.067     0     0 W [20210222_00:12:51.066456]@1 x17: 00000000000afa10 x16: 000000000003890a
02-22 00:12:51.067     0     0 W [20210222_00:12:51.066468]@1 x15: 0000000000000004 x14: 0000000000000064
02-22 00:12:51.067     0     0 W [20210222_00:12:51.066480]@1 x13: 00000000000af9d8 x12: 0000000000000000
02-22 00:12:51.068     0     0 W [20210222_00:12:51.066492]@1 x11: 0000000000000000 x10: ffffffffffffffff
02-22 00:12:51.068     0     0 W [20210222_00:12:51.066505]@1 x9: cf4e998a6e05ca00 x8 : cf4e998a6e05ca00
02-22 00:12:51.068     0     0 W [20210222_00:12:51.066517]@1 x7: 0000000000000000 x6 : ffffffe0bfac1c57
02-22 00:12:51.068     0     0 W [20210222_00:12:51.066529]@1 x5: 0000000000000000 x4 : 0000000000000000
02-22 00:12:51.068     0     0 W [20210222_00:12:51.066541]@1 x3: 000000000000003a x2 : 0000000000000001
02-22 00:12:51.068     0     0 W [20210222_00:12:51.066553]@1 x1: 0000000000000000 x0 : 0000000000000053
02-22 00:12:51.068     0     0 W         : [20210222_00:12:51.066570]@1 Call trace:
02-22 00:12:51.068     0     0 W         : [20210222_00:12:51.066595]@1  __cfi_check_fail+0x44/0x4c
02-22 00:12:51.068     0     0 W         : [20210222_00:12:51.066622]@1  __cfi_check+0x42bcc/0x48580
02-22 00:12:51.068     0     0 W         : [20210222_00:12:51.066651]@1  rmnet_deliver_skb+0x9c/0x314
02-22 00:12:51.068     0     0 W         : [20210222_00:12:51.066672]@1  rmnet_frag_deliver+0x634/0x780
02-22 00:12:51.068     0     0 W         : [20210222_00:12:51.066692]@1  rmnet_frag_ingress_handler+0x30c/0x3f8
02-22 00:12:51.068     0     0 W         : [20210222_00:12:51.066708]@1  rmnet_rx_handler+0xe0/0x29c
02-22 00:12:51.068     0     0 W         : [20210222_00:12:51.066741]@1  __netif_receive_skb_core+0x478/0xdfc
02-22 00:12:51.068     0     0 W         : [20210222_00:12:51.066756]@1  __netif_receive_skb+0x44/0x174
02-22 00:12:51.068     0     0 W         : [20210222_00:12:51.066778]@1  process_backlog+0x120/0x2a8
02-22 00:12:51.068     0     0 W         : [20210222_00:12:51.066792]@1  napi_poll+0x94/0x328
02-22 00:12:51.068     0     0 W         : [20210222_00:12:51.066808]@1  net_rx_action+0xac/0x248
02-22 00:12:51.068     0     0 W         : [20210222_00:12:51.066829]@1  __do_softirq+0x114/0x450
02-22 00:12:51.068     0     0 W         : [20210222_00:12:51.066855]@1  irq_exit+0xc0/0xc4
02-22 00:12:51.068     0     0 W         : [20210222_00:12:51.066881]@1  handle_IPI+0x104/0x39c
02-22 00:12:51.068     0     0 W         : [20210222_00:12:51.066899]@1  gic_handle_irq+0x90/0x16c
02-22 00:12:51.068     0     0 W         : [20210222_00:12:51.066916]@1  el1_irq+0xe8/0x190
02-22 00:12:51.068     0     0 W         : [20210222_00:12:51.066948]@1  lpm_cpuidle_enter+0x228/0x400
02-22 00:12:51.068     0     0 W         : [20210222_00:12:51.066967]@1  cpuidle_enter_state+0x120/0x410
02-22 00:12:51.068     0     0 W         : [20210222_00:12:51.066997]@1  do_idle.llvm.9417574252142394113+0x1b4/0x28c
02-22 00:12:51.068     0     0 W         : [20210222_00:12:51.067011]@1  cpu_startup_entry+0x20/0x24
02-22 00:12:51.068     0     0 W         : [20210222_00:12:51.067026]@1  __cpu_disable+0x0/0xe0
  • Loading branch information
vutung2311 committed Jun 6, 2021
1 parent b318e5c commit 9041747
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c
Original file line number Diff line number Diff line change
Expand Up @@ -95,12 +95,12 @@ EXPORT_SYMBOL(rmnet_slow_start_on);

/* Shs hook handler */

int (*rmnet_shs_skb_entry)(struct sk_buff *skb,
void (*rmnet_shs_skb_entry)(struct sk_buff *skb,
struct rmnet_port *port) __rcu __read_mostly;
EXPORT_SYMBOL(rmnet_shs_skb_entry);

/* Shs hook handler for work queue*/
int (*rmnet_shs_skb_entry_wq)(struct sk_buff *skb,
void (*rmnet_shs_skb_entry_wq)(struct sk_buff *skb,
struct rmnet_port *port) __rcu __read_mostly;
EXPORT_SYMBOL(rmnet_shs_skb_entry_wq);

Expand All @@ -109,7 +109,7 @@ EXPORT_SYMBOL(rmnet_shs_skb_entry_wq);
void
rmnet_deliver_skb(struct sk_buff *skb, struct rmnet_port *port)
{
int (*rmnet_shs_stamp)(struct sk_buff *skb, struct rmnet_port *port);
void (*rmnet_shs_stamp)(struct sk_buff *skb, struct rmnet_port *port);
struct rmnet_priv *priv = netdev_priv(skb->dev);

trace_rmnet_low(RMNET_MODULE, RMNET_DLVR_SKB, 0xDEF, 0xDEF,
Expand Down Expand Up @@ -154,7 +154,7 @@ void
rmnet_deliver_skb_wq(struct sk_buff *skb, struct rmnet_port *port,
enum rmnet_packet_context ctx)
{
int (*rmnet_shs_stamp)(struct sk_buff *skb, struct rmnet_port *port);
void (*rmnet_shs_stamp)(struct sk_buff *skb, struct rmnet_port *port);
struct rmnet_priv *priv = netdev_priv(skb->dev);

trace_rmnet_low(RMNET_MODULE, RMNET_DLVR_SKB, 0xDEF, 0xDEF,
Expand Down

0 comments on commit 9041747

Please sign in to comment.