1. 24 Aug, 2018 1 commit
    • Tamizh chelvam's avatar
      ath10k: fix kernel panic by moving pci flush after napi_disable · bd1d3950
      Tamizh chelvam authored
      When continuously running wifi up/down sequence, the napi poll
      can be scheduled after the CE buffers being freed by ath10k_pci_flush
      
      Steps:
        In a certain condition, during wifi down below scenario might occur.
      
      ath10k_stop->ath10k_hif_stop->napi_schedule->ath10k_pci_flush->napi_poll(napi_synchronize).
      
      In the above scenario, CE buffer entries will be freed up and become NULL in
      ath10k_pci_flush. And the napi_poll has been invoked after the flush process
      and it will try to get the skb from the CE buffer entry and perform some action on that.
      Since the CE buffer already cleaned by pci flush this action will create NULL
      pointer dereference and trigger below kernel panic.
      
      Unable to handle kernel NULL pointer dereference at virtual address 0000005c
      PC is at ath10k_pci_htt_rx_cb+0x64/0x3ec [ath10k_pci]
      ath10k_pci_htt_rx_cb [ath10k_pci]
      ath10k_ce_per_engine_service+0x74/0xc4 [ath10k_pci]
      ath10k_ce_per_engine_service [ath10k_pci]
      ath10k_ce_per_engine_service_any+0x74/0x80 [ath10k_pci]
      ath10k_ce_per_engine_service_any [ath10k_pci]
      ath10k_pci_napi_poll+0x48/0xec [ath10k_pci]
      ath10k_pci_napi_poll [ath10k_pci]
      net_rx_action+0xac/0x160
      net_rx_action
      __do_softirq+0xdc/0x208
      __do_softirq
      irq_exit+0x84/0xe0
      irq_exit
      __handle_domain_irq+0x80/0xa0
      __handle_domain_irq
      gic_handle_irq+0x38/0x5c
      gic_handle_irq
      __irq_usr+0x44/0x60
      
      Tested on QCA4019 and firmware version 10.4.3.2.1.1-00010
      Signed-off-by: default avatarTamizh chelvam <tamizhr@codeaurora.org>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      bd1d3950
  2. 06 Aug, 2018 38 commits
  3. 05 Aug, 2018 1 commit
    • David S. Miller's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next · 074fb880
      David S. Miller authored
      Pablo Neira Ayuso says:
      
      ====================
      Netfilter updates for net-next
      
      The following patchset contains Netfilter updates for your net-next tree:
      
      1) Support for transparent proxying for nf_tables, from Mate Eckl.
      
      2) Patchset to add OS passive fingerprint recognition for nf_tables,
         from Fernando Fernandez. This takes common code from xt_osf and
         place it into the new nfnetlink_osf module for codebase sharing.
      
      3) Lightweight tunneling support for nf_tables.
      
      4) meta and lookup are likely going to be used in rulesets, make them
         direct calls. From Florian Westphal.
      
      A bunch of incremental updates:
      
      5) use PTR_ERR_OR_ZERO() from nft_numgen, from YueHaibing.
      
      6) Use kvmalloc_array() to allocate hashtables, from Li RongQing.
      
      7) Explicit dependencies between nfnetlink_cttimeout and conntrack
         timeout extensions, from Harsha Sharma.
      
      8) Simplify NLM_F_CREATE handling in nf_tables.
      
      9) Removed unused variable in the get element command, from
         YueHaibing.
      
      10) Expose bridge hook priorities through uapi, from Mate Eckl.
      
      And a few fixes for previous Netfilter batch for net-next:
      
      11) Use per-netns mutex from flowtable event, from Florian Westphal.
      
      12) Remove explicit dependency on iptables CT target from conntrack
          zones, from Florian.
      
      13) Fix use-after-free in rmmod nf_conntrack path, also from Florian.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      074fb880