1. 11 Jan, 2018 12 commits
    • David S. Miller's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next · 8c2e6c90
      David S. Miller authored
      Daniel Borkmann says:
      
      ====================
      pull-request: bpf-next 2018-01-11
      
      The following pull-request contains BPF updates for your *net-next* tree.
      
      The main changes are:
      
      1) Various BPF related improvements and fixes to nfp driver: i) do
         not register XDP RXQ structure to control queues, ii) round up
         program stack size to word size for nfp, iii) restrict MTU changes
         when BPF offload is active, iv) add more fully featured relocation
         support to JIT, v) add support for signed compare instructions to
         the nfp JIT, vi) export and reuse verfier log routine for nfp, and
         many more, from Jakub, Quentin and Nic.
      
      2) Fix a syzkaller reported GPF in BPF's copy_verifier_state() when
         we hit kmalloc failure path, from Alexei.
      
      3) Add two follow-up fixes for the recent XDP RXQ series: i) kvzalloc()
         allocated memory was only kfree()'ed, and ii) fix a memory leak where
         RX queue was not freed in netif_free_rx_queues(), from Jakub.
      
      4) Add a sample for transferring XDP meta data into the skb, here it
         is used for setting skb->mark with the buffer from XDP, from Jesper.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8c2e6c90
    • David S. Miller's avatar
      Merge branch 'for-upstream' of... · 3d93e337
      David S. Miller authored
      Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next
      
      Johan Hedberg says:
      
      ====================
      pull request: bluetooth-next 2018-01-11
      
      Here's likely the last bluetooth-next pull request for the 4.16 kernel.
      
       - Added support for Bluetooth on 2015+ MacBook (Pro)
       - Fix to QCA Rome suspend/resume handling
       - Two new QCA_ROME USB IDs in btusb
       - A few other minor fixes
      
      Please let me know if there are any issues pulling. Thanks.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3d93e337
    • Wei Yongjun's avatar
      net: phy: mdio-bcm-unimac: fix potential NULL dereference in unimac_mdio_probe() · 297a6961
      Wei Yongjun authored
      platform_get_resource() may fail and return NULL, so we should
      better check it's return value to avoid a NULL pointer dereference
      a bit later in the code.
      
      This is detected by Coccinelle semantic patch.
      
      @@
      expression pdev, res, n, t, e, e1, e2;
      @@
      
      res = platform_get_resource(pdev, t, n);
      + if (!res)
      +   return -EINVAL;
      ... when != res == NULL
      e = devm_ioremap(e1, res->start, e2);
      Signed-off-by: default avatarWei Yongjun <weiyongjun1@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      297a6961
    • Wei Yongjun's avatar
      net: socionext: Fix error return code in netsec_netdev_open() · ecb10288
      Wei Yongjun authored
      Fix to return error code -ENODEV from the of_phy_connect() error
      handling case instead of 0, as done elsewhere in this function.
      
      Fixes: 533dd11a ("net: socionext: Add Synquacer NetSec driver")
      Signed-off-by: default avatarWei Yongjun <weiyongjun1@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ecb10288
    • Arnd Bergmann's avatar
      net: socionext: include linux/io.h to fix build · d9f52372
      Arnd Bergmann authored
      I ran into a randconfig build failure:
      
      drivers/net/ethernet/socionext/netsec.c: In function 'netsec_probe':
      drivers/net/ethernet/socionext/netsec.c:1583:17: error: implicit declaration of function 'devm_ioremap'; did you mean 'ioremap'? [-Werror=implicit-function-declaration]
      
      Including linux/io.h directly fixes this.
      
      Fixes: 533dd11a ("net: socionext: Add Synquacer NetSec driver")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d9f52372
    • David S. Miller's avatar
      Merge branch '40GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue · 532b5aa0
      David S. Miller authored
      Jeff Kirsher says:
      
      ====================
      40GbE Intel Wired LAN Driver Updates 2018-01-10
      
      This series contains updates to i40e and i40evf only.
      
      Alice adds the displaying of priority xon/xoff packet stats, since we
      were already keeping track of them.  Based on the recent changes, bump
      the driver versions.
      
      Jake changes how the driver determines whether or not the device is
      currently up to resolve the possible issue of freeing data structures
      and other memory before they have been fully allocated.  Refactored
      the driver to simplify the locking behavior and to consistently use
      spinlocks instead of an overloaded bit lock to protect MAC and filter
      lists.  Created a helper function which can convert the AdminQ link
      speed definition into a virtchnl definition.
      
      Colin Ian King cleans up a redundant variable initialization.
      
      Alex cleans up the driver to stop clearing the pending bit array for
      each vector manually, since it is prone to dropping an interrupt and
      based on the hardware specs, the pending bit array will be cleared
      automatically in MSI-X mode.  Cleaned up flags for promiscuous mode to
      resolve an issue where enabling & disabling promiscuous mode on a VF
      would leave us in a high polling rate for the adminq task.  Cleaned up
      code that was prone to race issues.
      
      Jingjing renames pipeline personalization profile (ppp) to dynamic
      device personalization (ddp) because it was being confused with the
      well known point to point protocol.  Also removed checks for "track_id"
      being zero, since it is valid for it to be zero for profiles that do
      not have any 'write' commands.
      
      v2: cleaned up commit message for patch 12 based on feedback from Sergei
          Shtylyov and Alex Duyck
      v3: dropped patch 15 from the original series while Mariusz Stachura
          works on the changes that Jakub Kicinski has suggested
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      532b5aa0
    • Nathan Fontenot's avatar
      ibmvnic: Don't handle RX interrupts when not up. · 09fb35ea
      Nathan Fontenot authored
      Initiating a kdump via the command line can cause a pending interrupt
      to be handled by the ibmvnic driver when initializing the sub-CRQ
      irqs during driver initialization.
      
      NIP [d000000000ca34f0] ibmvnic_interrupt_rx+0x40/0xd0 [ibmvnic]
      LR [c000000008132ef0] __handle_irq_event_percpu+0xa0/0x2f0
      Call Trace:
      [c000000047fcfde0] [c000000008132ef0] __handle_irq_event_percpu+0xa0/0x2f0
      [c000000047fcfea0] [c00000000813317c] handle_irq_event_percpu+0x3c/0x90
      [c000000047fcfee0] [c00000000813323c] handle_irq_event+0x6c/0xd0
      [c000000047fcff10] [c0000000081385e0] handle_fasteoi_irq+0xf0/0x250
      [c000000047fcff40] [c0000000081320a0] generic_handle_irq+0x50/0x80
      [c000000047fcff60] [c000000008014984] __do_irq+0x84/0x1d0
      [c000000047fcff90] [c000000008027564] call_do_irq+0x14/0x24
      [c00000003c92af00] [c000000008014b70] do_IRQ+0xa0/0x120
      [c00000003c92af50] [c000000008002594] hardware_interrupt_common+0x114/0x180
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      09fb35ea
    • Ganesh Goudar's avatar
      4621ffd6
    • Ganesh Goudar's avatar
      cxgb4: add support for vxlan segmentation offload · d0a1299c
      Ganesh Goudar authored
      add changes to t4_eth_xmit to enable vxlan segmentation
      offload support.
      
      Original work by: Santosh Rastapur <santosh@chelsio.com>
      Signed-off-by: default avatarGanesh Goudar <ganeshgr@chelsio.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d0a1299c
    • Ganesh Goudar's avatar
      cxgb4: implement udp tunnel callbacks · 846eac3f
      Ganesh Goudar authored
      Implement ndo_udp_tunnel_add and ndo_udp_tunnel_del
      to support vxlan tunnelling.
      
      Original work by: Santosh Rastapur <santosh@chelsio.com>
      Signed-off-by: default avatarGanesh Goudar <ganeshgr@chelsio.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      846eac3f
    • Ganesh Goudar's avatar
      cxgb4: add data structures to support vxlan · ef0fd85a
      Ganesh Goudar authored
      Add data structures and macros to be used in vxlan
      offload.
      
      Original work by: Santosh Rastapur <santosh@chelsio.com>
      Signed-off-by: default avatarGanesh Goudar <ganeshgr@chelsio.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ef0fd85a
    • Jesper Dangaard Brouer's avatar
      samples/bpf: xdp2skb_meta shows transferring info from XDP to SKB · 36e04a2d
      Jesper Dangaard Brouer authored
      Creating a bpf sample that shows howto use the XDP 'data_meta'
      infrastructure, created by Daniel Borkmann.  Very few drivers support
      this feature, but I wanted a functional sample to begin with, when
      working on adding driver support.
      
      XDP data_meta is about creating a communication channel between BPF
      programs.  This can be XDP tail-progs, but also other SKB based BPF
      hooks, like in this case the TC clsact hook. In this sample I show
      that XDP can store info named "mark", and TC/clsact chooses to use
      this info and store it into the skb->mark.
      
      It is a bit annoying that XDP and TC samples uses different tools/libs
      when attaching their BPF hooks.  As the XDP and TC programs need to
      cooperate and agree on a struct-layout, it is best/easiest if the two
      programs can be contained within the same BPF restricted-C file.
      
      As the bpf-loader, I choose to not use bpf_load.c (or libbpf), but
      instead wrote a bash shell scripted named xdp2skb_meta.sh, which
      demonstrate howto use the iproute cmdline tools 'tc' and 'ip' for
      loading BPF programs.  To make it easy for first time users, the shell
      script have command line parsing, and support --verbose and --dry-run
      mode, if you just want to see/learn the tc+ip command syntax:
      
       # ./xdp2skb_meta.sh --dev ixgbe2 --dry-run
       # Dry-run mode: enable VERBOSE and don't call TC+IP
       tc qdisc del dev ixgbe2 clsact
       tc qdisc add dev ixgbe2 clsact
       tc filter add dev ixgbe2 ingress prio 1 handle 1 bpf da obj ./xdp2skb_meta_kern.o sec tc_mark
       # Flush XDP on device: ixgbe2
       ip link set dev ixgbe2 xdp off
       ip link set dev ixgbe2 xdp obj ./xdp2skb_meta_kern.o sec xdp_mark
      Signed-off-by: default avatarJesper Dangaard Brouer <brouer@redhat.com>
      Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      36e04a2d
  2. 10 Jan, 2018 28 commits