1. 03 Aug, 2015 2 commits
  2. 01 Aug, 2015 10 commits
    • David S. Miller's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 5510b3c2
      David S. Miller authored
      Conflicts:
      	arch/s390/net/bpf_jit_comp.c
      	drivers/net/ethernet/ti/netcp_ethss.c
      	net/bridge/br_multicast.c
      	net/ipv4/ip_fragment.c
      
      All four conflicts were cases of simple overlapping
      changes.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5510b3c2
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 7c764cec
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Must teardown SR-IOV before unregistering netdev in igb driver, from
          Alex Williamson.
      
       2) Fix ipv6 route unreachable crash in IPVS, from Alex Gartrell.
      
       3) Default route selection in ipv4 should take the prefix length, table
          ID, and TOS into account, from Julian Anastasov.
      
       4) sch_plug must have a reset method in order to purge all buffered
          packets when the qdisc is reset, likewise for sch_choke, from WANG
          Cong.
      
       5) Fix deadlock and races in slave_changelink/br_setport in bridging.
          From Nikolay Aleksandrov.
      
       6) mlx4 bug fixes (wrong index in port even propagation to VFs,
          overzealous BUG_ON assertion, etc.) from Ido Shamay, Jack
          Morgenstein, and Or Gerlitz.
      
       7) Turn off klog message about SCTP userspace interface compat that
          makes no sense at all, from Daniel Borkmann.
      
       8) Fix unbounded restarts of inet frag eviction process, causing NMI
          watchdog soft lockup messages, from Florian Westphal.
      
       9) Suspend/resume fixes for r8152 from Hayes Wang.
      
      10) Fix busy loop when MSG_WAITALL|MSG_PEEK is used in TCP recv, from
          Sabrina Dubroca.
      
      11) Fix performance regression when removing a lot of routes from the
          ipv4 routing tables, from Alexander Duyck.
      
      12) Fix device leak in AF_PACKET, from Lars Westerhoff.
      
      13) AF_PACKET also has a header length comparison bug due to signedness,
          from Alexander Drozdov.
      
      14) Fix bug in EBPF tail call generation on x86, from Daniel Borkmann.
      
      15) Memory leaks, TSO stats, watchdog timeout and other fixes to
          thunderx driver from Sunil Goutham and Thanneeru Srinivasulu.
      
      16) act_bpf can leak memory when replacing programs, from Daniel
          Borkmann.
      
      17) WOL packet fixes in gianfar driver, from Claudiu Manoil.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (79 commits)
        stmmac: fix missing MODULE_LICENSE in stmmac_platform
        gianfar: Enable device wakeup when appropriate
        gianfar: Fix suspend/resume for wol magic packet
        gianfar: Fix warning when CONFIG_PM off
        act_pedit: check binding before calling tcf_hash_release()
        net: sk_clone_lock() should only do get_net() if the parent is not a kernel socket
        net: sched: fix refcount imbalance in actions
        r8152: reset device when tx timeout
        r8152: add pre_reset and post_reset
        qlcnic: Fix corruption while copying
        act_bpf: fix memory leaks when replacing bpf programs
        net: thunderx: Fix for crash while BGX teardown
        net: thunderx: Add PCI driver shutdown routine
        net: thunderx: Fix crash when changing rss with mutliple traffic flows
        net: thunderx: Set watchdog timeout value
        net: thunderx: Wakeup TXQ only if CQE_TX are processed
        net: thunderx: Suppress alloc_pages() failure warnings
        net: thunderx: Fix TSO packet statistic
        net: thunderx: Fix memory leak when changing queue count
        net: thunderx: Fix RQ_DROP miscalculation
        ...
      7c764cec
    • David S. Miller's avatar
      Merge branch 'ipv6-auto-flow-labels' · 17f901e8
      David S. Miller authored
      Tom Herbert says:
      
      ====================
      ipv6: Turn on auto IPv6 flow labels by default
      
      BSD (MacOS) has already turned on flow labels by default and this does
      not seem to be causing any problems in the Internet. Let's go ahead
      and turn them on by default. We'll continue to monitor for any devices
      start choking on them.
      
      Flow labels are important since they are the desired solution for
      network devices to perform ECMP and RSS (RFC6437 and RFC6438).
      Traditionally, devices perform a 5-tuple hash on packets that
      includes port numbers. For the most part, these devices can only
      compute 5-tuple hashes for TCP and UDP. This severely limits our ability
      to get good network load balancing for other protocols (IPIP, GRE,ESP,
      etc.), and hence we are limited in using other protocols. Unfortunately,
      this method is accepted as the de facto standard to the extent that
      there are several proposals to encapsulate protocols in UDP _just_ for
      the purposes for getting ECMP to work. With hosts generating flow labels
      and devices taking them as input into ECMP (several already do), we can
      start to fix this fundamental problem.
      
      This patch set:
       - Changes IPV6_FLOWINFO sockopt to be opt-out of flow labels for
         connections rather than opt-in
       - Disable flow label state ranges sysctl by default
       - Enable auto flow labels sysctl by default
      
      v2:
        - Added functions to create an skb->hash based on flowi4 and flowi6.
          These are called in output path when creating a packet
        - Call skb_get_hash_flowi6 in ip6_make_flowlabel
        - Implement the auto_flowlabels sysctl as a mode for auto flowlabels.
          There are four modes which correspond to flow labels being enabled
          and whether socket option can be used to opt in or opt out of
          using them
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      17f901e8
    • Tom Herbert's avatar
      ipv6: Enable auto flow labels by default · b5677416
      Tom Herbert authored
      Initialize auto_flowlabels to one. This enables automatic flow labels,
      individual socket may disable them using the IPV6_AUTOFLOWLABEL socket
      option.
      Signed-off-by: default avatarTom Herbert <tom@herbertland.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b5677416
    • Tom Herbert's avatar
      ipv6: Disable flowlabel state ranges by default · be26849b
      Tom Herbert authored
      Per RFC6437 stateful flow labels (e.g. labels set by flow label manager)
      cannot "disturb" nodes taking part in stateless flow labels. While the
      ranges only reduce the flow label entropy by one bit, it is conceivable
      that this might bias the algorithm on some routers causing a load
      imbalance. For best results on the Internet we really need the full
      20 bits.
      Signed-off-by: default avatarTom Herbert <tom@herbertland.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      be26849b
    • Tom Herbert's avatar
      ipv6: Implement different admin modes for automatic flow labels · 42240901
      Tom Herbert authored
      Change the meaning of net.ipv6.auto_flowlabels to provide a mode for
      automatic flow labels generation. There are four modes:
      
      0: flow labels are disabled
      1: flow labels are enabled, sockets can opt-out
      2: flow labels are allowed, sockets can opt-in
      3: flow labels are enabled and enforced, no opt-out for sockets
      
      np->autoflowlabel is initialized according to the sysctl value.
      Signed-off-by: default avatarTom Herbert <tom@herbertland.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      42240901
    • Tom Herbert's avatar
      ipv6: Call skb_get_hash_flowi6 to get skb->hash in ip6_make_flowlabel · 67800f9b
      Tom Herbert authored
      We can't call skb_get_hash here since the packet is not complete to do
      flow_dissector. Create hash based on flowi6 instead.
      Signed-off-by: default avatarTom Herbert <tom@herbertland.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      67800f9b
    • Tom Herbert's avatar
      net: Add functions to get skb->hash based on flow structures · f70ea018
      Tom Herbert authored
      Add skb_get_hash_flowi6 and skb_get_hash_flowi4 which derive an sk_buff
      hash from flowi6 and flowi4 structures respectively. These functions
      can be called when creating a packet in the output path where the new
      sk_buff does not yet contain a fully formed packet that is parsable by
      flow dissector.
      Signed-off-by: default avatarTom Herbert <tom@herbertland.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f70ea018
    • Linus Torvalds's avatar
      Merge branch 'for-linus-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · acea568f
      Linus Torvalds authored
      Pull btrfs fixes from Chris Mason:
       "Filipe fixed up a hard to trigger ENOSPC regression from our merge
        window pull, and we have a few other smaller fixes"
      
      * 'for-linus-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
        Btrfs: fix quick exhaustion of the system array in the superblock
        btrfs: its btrfs_err() instead of btrfs_error()
        btrfs: Avoid NULL pointer dereference of free_extent_buffer when read_tree_block() fail
        btrfs: Fix lockdep warning of btrfs_run_delayed_iputs()
      acea568f
    • Linus Torvalds's avatar
      Merge tag 'sound-4.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · c6fd4fc7
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "This became a relative big update as it includes the collected ASoC
        fixes.  There are a few fixes in ASoC core side, mostly for DAPM and
        the new topology API.  The rest are various ASoC driver-specific
        fixes, as well as the usual HD-audio and USB-audio quirks"
      
      * tag 'sound-4.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (29 commits)
        ALSA: hda - Fix MacBook Pro 5,2 quirk
        ALSA: hda - Fix race between PM ops and HDA init/probe
        ALSA: usb-audio: add dB range mapping for some devices
        ALSA: hda - Apply a fixup to Dell Vostro 5480
        ALSA: hda - Add pin quirk for the headset mic jack detection on Dell laptop
        ALSA: hda - Apply fixup for another Toshiba Satellite S50D
        ALSA: fireworks: add support for AudioFire2 quirk
        ALSA: hda - Fix the headset mic that will not work on Dell desktop machine
        ALSA: hda - fix cs4210_spdif_automute()
        ASoC: pcm1681: Fix setting de-emphasis sampling rate selection
        ASoC: ssm4567: Keep TDM_BCLKS in ssm4567_set_dai_fmt
        ASoC: sgtl5000: Fix up define for SGTL5000_SMALL_POP
        ASoC: dapm: Don't add prefix to widget stream name
        ASoC: rt5645: Check if codec is initialized in workqueue handler
        ASoC: Intel: Get correct usage_count value to load firmware
        ASoC: topology: Fix to add dapm mixer info
        ASoC: zx: spdif: Fix devm_ioremap_resource return value check
        ASoC: zx: i2s: Fix devm_ioremap_resource return value check
        ASoC: mediatek: Use platform_of_node for machine drivers
        ASoC: Free card DAPM context on snd_soc_instantiate_card() error path
        ...
      c6fd4fc7
  3. 31 Jul, 2015 28 commits
    • David S. Miller's avatar
      Merge branch 'dsa-netconsole' · db316d57
      David S. Miller authored
      Florian Fainelli says:
      
      ====================
      net: GENET, SYSTEMPORT and DSA netconsole
      
      This patch series adds support for netconsole in the GENET, SYSTEMPORT and DSA
      drivers.
      
      A small refactoring to the DSA transmit path is required to avoid duplicating
      the dsa_netpoll_send_skb() into each and every tagging protocol supported.
      
      Testing on e.g: mv643xx_eth and/or e1000e would be much appreciated!
      
      Changes in v2:
      
      - properly disable/enable interrupts in GENET and SYSTEMPORT
      
      - pass the reallocated SKB back to dsa_slave_xmit() in case a tag protocol had to
        alter the original SKB
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      db316d57
    • Florian Fainelli's avatar
      net: dsa: Add netconsole support · 04ff53f9
      Florian Fainelli authored
      Add support for using DSA slave network devices with netconsole, which
      requires us to allocate and free custom netpoll instances and invoke the
      parent network device poll controller callback.
      
      In order for netconsole to work, we need to construct the DSA tag, but
      not queue the skb for transmission on the master network device xmit
      function.
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      04ff53f9
    • Florian Fainelli's avatar
      net: dsa: Refactor transmit path to eliminate duplication · 4ed70ce9
      Florian Fainelli authored
      All tagging protocols do the same thing: increment device statistics,
      make room for the tag to be inserted, create the tag, invoke the parent
      network device transmit function.
      
      In order to prepare for adding netpoll support, which requires the tag
      creation, but not using the parent network device transmit function, do
      some little refactoring which eliminates duplication between the 4
      tagging protocols supported.
      
      We need to return a sk_buff pointer back to the caller because the tag
      specific transmit function may have to reallocate the original skb (e.g:
      tag_trailer.c) and this is the one we should be transmitting, not the
      original sk_buff we were passed.
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4ed70ce9
    • Florian Fainelli's avatar
      net: systemport: Add netconsole support · 6cec4f5e
      Florian Fainelli authored
      Implement a poll controller for netconsole which invokes the RX
      interrupt handler to poll for incoming packets, and cleans up all TX
      queues by invoking the TX interrupt handler.
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6cec4f5e
    • Florian Fainelli's avatar
      net: bcmgenet: Add netconsole support · 4d2e8882
      Florian Fainelli authored
      Implement a poll controller for netconsole which invokes both of our
      interrupt handlers for the different RX/TX queues.
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4d2e8882
    • Joachim Eastwood's avatar
      stmmac: fix missing MODULE_LICENSE in stmmac_platform · ea111545
      Joachim Eastwood authored
      Commit 50649ab1 ("stmmac: drop driver from stmmac platform code")
      was a bit overzealous in removing code and dropped the MODULE_*
      macro's that are still needed since stmmac_platform can be a module.
      Fix this by putting the macro's remvoed in 50649ab1 back.
      
      This fixes the following errors when used as a module:
        stmmac_platform: module license 'unspecified' taints kernel.
        Disabling lock debugging due to kernel taint
        stmmac_platform: Unknown symbol devm_kmalloc (err 0)
        stmmac_platform: Unknown symbol stmmac_suspend (err 0)
        stmmac_platform: Unknown symbol platform_get_irq_byname (err 0)
        stmmac_platform: Unknown symbol stmmac_dvr_remove (err 0)
        stmmac_platform: Unknown symbol platform_get_resource (err 0)
        stmmac_platform: Unknown symbol of_get_phy_mode (err 0)
        stmmac_platform: Unknown symbol of_property_read_u32_array (err 0)
        stmmac_platform: Unknown symbol of_alias_get_id (err 0)
        stmmac_platform: Unknown symbol stmmac_resume (err 0)
        stmmac_platform: Unknown symbol stmmac_dvr_probe (err 0)
      
      Fixes: 50649ab1 ("stmmac: drop driver from stmmac platform code")
      Reported-by: default avatarIgor Gnatenko <i.gnatenko.brain@gmail.com>
      Signed-off-by: default avatarJoachim Eastwood <manabian@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ea111545
    • David S. Miller's avatar
      Merge branch 'gianfar-wol-fixes' · ef1f4364
      David S. Miller authored
      Claudiu Manoil says:
      
      ====================
      gianfar: wol magic packet fixes
      
      These changes were already validated as part of FSL SDK.
      Patch 2 fixes occasional wake-on magic packet failures during
      traffic, probably due to incorrect traffic stop/ device halt
      sequence and incorrect usage of txlock.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ef1f4364
    • Claudiu Manoil's avatar
      gianfar: Enable device wakeup when appropriate · b0734b6d
      Claudiu Manoil authored
      The wol_en flag is 0 by default anyway, and we have the
      following inconsistency: a MAGIC packet wol capable eth
      interface is registered as a wake-up source but unable
      to wake-up the system as wol_en is 0 (wake-on flag set to 'd').
      Calling set_wakeup_enable() at netdev open is just redundant
      because wol_en is 0 by default.
      Let only ethtool call set_wakeup_enable() for now.
      
      The bflock is obviously obsoleted, its utility has been corroded
      over time.  The bitfield flags used today in gianfar are accessed
      only on the init/ config path, with no real possibility of
      concurrency - nothing that would justify smth. like bflock.
      Signed-off-by: default avatarClaudiu Manoil <claudiu.manoil@freescale.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b0734b6d
    • Claudiu Manoil's avatar
      gianfar: Fix suspend/resume for wol magic packet · 614b4242
      Claudiu Manoil authored
      If we disable NAPI in the first place we can mask the device's
      interrupts (and halt it) without fearing that imask may be
      concurrently accessed from interrupt context, so there's
      no need to do local_irq_save() around gfar_halt_nodisable().
      lock_rx_qs()/unlock_tx_qs() are just obsoleted and potentially
      buggy routines.  The txlock is currently used in the driver only
      to manage TX congestion, it has nothing to do with halting the
      device.  With these changes, the TX processing is stopped before
      gfar_halt().
      
      Compact gfar_halt() is used instead of gfar_halt_nodisable(),
      as it disables Rx/TX DMA h/w blocks and the Rx/TX h/w queues.
      gfar_start() re-enables all these blocks on resume.  Enabling
      the magic-packet mode remains the same, note that the RX block
      is re-enabled just before entering sleep mode.
      
      Add IRQF_NO_SUSPEND flag for the error interrupt line, to signal
      that the interrupt line must remain active during sleep in order
      to wake the system by magic packet (MAG) reception interrupt.
      (On some systems the MAG interrupt did trigger w/o this flag
      as well, but on others it didn't.)
      
      Without these fixes, when suspended during fair Tx traffic the
      interface occasionally failed to be woken up by magic packet.
      Signed-off-by: default avatarClaudiu Manoil <claudiu.manoil@freescale.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      614b4242
    • Claudiu Manoil's avatar
      gianfar: Fix warning when CONFIG_PM off · 84868305
      Claudiu Manoil authored
      CC      drivers/net/ethernet/freescale/gianfar.o
      drivers/net/ethernet/freescale/gianfar.c:568:13: warning: 'lock_tx_qs'
      defined but not used [-Wunused-function]
       static void lock_tx_qs(struct gfar_private *priv)
                   ^
      drivers/net/ethernet/freescale/gianfar.c:576:13: warning: 'unlock_tx_qs'
      defined but not used [-Wunused-function]
       static void unlock_tx_qs(struct gfar_private *priv)
                   ^
      Reported-by: default avatarScott Wood <scottwood@freescale.com>
      Signed-off-by: default avatarClaudiu Manoil <claudiu.manoil@freescale.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      84868305
    • Nikolay Aleksandrov's avatar
      bonding: add tlb_dynamic_lb netlink support · 0f7bffd9
      Nikolay Aleksandrov authored
      tlb_dynamic_lb could be set only via sysfs, this patch allows it to be
      set via netlink.
      Signed-off-by: default avatarNikolay Aleksandrov <nikolay@cumulusnetworks.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0f7bffd9
    • David S. Miller's avatar
      Merge tag 'wireless-drivers-next-for-davem-2015-07-31' of... · b7a0925e
      David S. Miller authored
      Merge tag 'wireless-drivers-next-for-davem-2015-07-31' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next
      
      Kalle Valo says:
      
      ====================
      Major changes:
      
      mwifiex:
      
      * add TX DATA Pause support
      * add multichannel and TDLS channel switch support
      
      ath10k:
      
      * enable VHT for IBSS
      * initial work to support qca99x0 and the corresponding 10.4 firmware branch
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b7a0925e
    • Daniel Pieczko's avatar
    • Daniel Pieczko's avatar
      sfc: allow ethtool selftest and MC reboot to complete on an unprivileged function · 27324820
      Daniel Pieczko authored
      The policy in the net driver is to attempt MCDI commands and
      then handle any EPERM error codes appropriately when returned
      by unprivileged functions.
      The ethtool selftest contains some tests which are useful on
      an unprivileged function, such as the event queue interrupt
      tests, but other tests cannot be performed as the function
      does not have the required permissions.
      
      If a test returns -EPERM, act as though the test was not run
      and continue.
      Signed-off-by: default avatarShradha Shah <sshah@solarflare.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      27324820
    • Shaohui Xie's avatar
      net: phy: add driver for aquantia phy · bee8259d
      Shaohui Xie authored
      This patch added driver to support Aquantia PHYs AQ1202, AQ2104, AQR105,
      AQR405, which accessed through clause 45.
      Signed-off-by: default avatarShaohui Xie <Shaohui.Xie@freescale.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bee8259d
    • Joe Perches's avatar
      br2684: Remove unnecessary formatting macros b1 and bs · 85b1d8bb
      Joe Perches authored
      Use vsprintf extension %pI4 instead.
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      85b1d8bb
    • hayeswang's avatar
      r8152: disable the capability of zero length · e90fba8d
      hayeswang authored
      The UEFI driver would enable zero length, and the Linux driver doesn't
      need it. Zero length let the hw complete the transfer with length 0,
      when there is no received packet. It would add the load of USB host
      controller and reduce the performance.
      Signed-off-by: default avatarHayes Wang <hayeswang@realtek.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e90fba8d
    • Alexei Starovoitov's avatar
      vxlan: expose COLLECT_METADATA flag to user space · f8a9b1bc
      Alexei Starovoitov authored
      Two vxlan driver flags FLOWBASED and COLLECT_METADATA need to be set to
      make use of its new flow mode. The former already exposed. Expose the latter.
      Signed-off-by: default avatarAlexei Starovoitov <ast@plumgrid.com>
      Acked-by: default avatarThomas Graf <tgraf@suug.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f8a9b1bc
    • WANG Cong's avatar
      act_pedit: check binding before calling tcf_hash_release() · 5175f710
      WANG Cong authored
      When we share an action within a filter, the bind refcnt
      should increase, therefore we should not call tcf_hash_release().
      
      Fixes: 1a29321e ("net_sched: act: Dont increment refcnt on replace")
      Cc: Jamal Hadi Salim <jhs@mojatatu.com>
      Cc: Daniel Borkmann <daniel@iogearbox.net>
      Signed-off-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
      Signed-off-by: default avatarCong Wang <cwang@twopensource.com>
      Acked-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5175f710
    • David S. Miller's avatar
      Merge branch 'mpls-build-fix' · 7576012e
      David S. Miller authored
      Roopa Prabhu says:
      
      ====================
      af_mpls: fix undefined reference to ip6_route_output with CONFIG_IPV6=n
      
      This patch series uses ipv6_stub_impl.ipv6_dst_lookup instead of
      ip6_route_output. Follows the vxlan drivers usage of
      ipv6_stub_impl.ipv6_dst_lookup.
      
      There is no sk in the af_mpls context from where
      ipv6_stub_impl.ipv6_dst_lookup is used. sk appears to be needed
      to get the namespace 'net' and is optional otherwise. This patch series
      changes ipv6_stub_impl.ipv6_dst_lookup to take net argument. sk remains
      optional.
      
      v1 - v2: use IS_BUILTIN
      
      v2 - v3: Use new Kconfig option that depends on (IPV6 || IPV6=n) as
      	 suggested by Dave. Also uses IS_ERR as suggested by Thomas.
      
      v3 - v4: Include missed case of (MPLS_ROUTING=y && IPV6=m) reported by
               Dave.
      
      v4 - v5: Use ipv6_stub_impl.ipv6_dst_lookup as suggested by Hannes
      
      v5 - v6: protect against null ipv6_stub by statically declaring
      	 a ipv6_dst_lookup NOP func
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7576012e
    • Roopa Prabhu's avatar
      af_mpls: fix undefined reference to ip6_route_output · bf21563a
      Roopa Prabhu authored
      Undefined reference to ip6_route_output and ip_route_output
      was reported with CONFIG_INET=n and CONFIG_IPV6=n.
      
      This patch uses ipv6_stub_impl.ipv6_dst_lookup instead of
      ip6_route_output. And wraps affected code under
      IS_ENABLED(CONFIG_INET) and IS_ENABLED(CONFIG_IPV6).
      Reported-by: default avatarkbuild test robot <fengguang.wu@intel.com>
      Reported-by: default avatarThomas Graf <tgraf@suug.ch>
      Signed-off-by: default avatarRoopa Prabhu <roopa@cumulusnetworks.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bf21563a
    • Roopa Prabhu's avatar
      ipv6: change ipv6_stub_impl.ipv6_dst_lookup to take net argument · 343d60aa
      Roopa Prabhu authored
      This patch adds net argument to ipv6_stub_impl.ipv6_dst_lookup
      for use cases where sk is not available (like mpls).
      sk appears to be needed to get the namespace 'net' and is optional
      otherwise. This patch series changes ipv6_stub_impl.ipv6_dst_lookup
      to take net argument. sk remains optional.
      
      All callers of ipv6_stub_impl.ipv6_dst_lookup have been modified
      to pass net. I have modified them to use already available
      'net' in the scope of the call. I can change them to
      sock_net(sk) to avoid any unintended change in behaviour if sock
      namespace is different. They dont seem to be from code inspection.
      Signed-off-by: default avatarRoopa Prabhu <roopa@cumulusnetworks.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      343d60aa
    • Alexei Starovoitov's avatar
      bpf: add helpers to access tunnel metadata · d3aa45ce
      Alexei Starovoitov authored
      Introduce helpers to let eBPF programs attached to TC manipulate tunnel metadata:
      bpf_skb_[gs]et_tunnel_key(skb, key, size, flags)
      skb: pointer to skb
      key: pointer to 'struct bpf_tunnel_key'
      size: size of 'struct bpf_tunnel_key'
      flags: room for future extensions
      
      First eBPF program that uses these helpers will allocate per_cpu
      metadata_dst structures that will be used on TX.
      On RX metadata_dst is allocated by tunnel driver.
      
      Typical usage for TX:
      struct bpf_tunnel_key tkey;
      ... populate tkey ...
      bpf_skb_set_tunnel_key(skb, &tkey, sizeof(tkey), 0);
      bpf_clone_redirect(skb, vxlan_dev_ifindex, 0);
      
      RX:
      struct bpf_tunnel_key tkey = {};
      bpf_skb_get_tunnel_key(skb, &tkey, sizeof(tkey), 0);
      ... lookup or redirect based on tkey ...
      
      'struct bpf_tunnel_key' will be extended in the future by adding
      elements to the end and the 'size' argument will indicate which fields
      are populated, thereby keeping backwards compatibility.
      The 'flags' argument may be used as well when the 'size' is not enough or
      to indicate completely different layout of bpf_tunnel_key.
      Signed-off-by: default avatarAlexei Starovoitov <ast@plumgrid.com>
      Acked-by: default avatarThomas Graf <tgraf@suug.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d3aa45ce
    • Woojung.Huh@microchip.com's avatar
      Microchip's LAN7800 family USB 2/3 to 10/100/1000 Ethernet device driver · 55d7de9d
      Woojung.Huh@microchip.com authored
      Repost patch of driver for LAN7800 family of USB 2.0 & USB 3.0 to Gigabit Ethernet.
      - remove module param which can be configurable by standard mechanism.
      - remove other module parms except msg_level per review comment.
      - update to handle byte swap for statistics structure correctly.
      Signed-off-by: default avatarWoojung Huh <woojung.huh@microchip.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      55d7de9d
    • Daniel Borkmann's avatar
      bpf_jit_disasm: also support reading jit dump from file · a6ed3836
      Daniel Borkmann authored
      This patch adds support to read the dmesg BPF JIT dump also from a
      file instead of the klog buffer. I found this quite useful when going
      through some 'before/after patch' logs. It also fixes a regex leak
      found by valgrind when no image dump was found.
      Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a6ed3836
    • Linus Torvalds's avatar
      Merge tag 'iommu-fixes-v4.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 5e49e0be
      Linus Torvalds authored
      Pull IOMMU fixes from Joerg Roedel:
       "These fixes are all for the AMD IOMMU driver:
      
         - A regression with HSA caused by the conversion of the driver to
           default domains.  The fixes make sure that an HSA device can still
           be attached to an IOMMUv2 domain and that these domains also allow
           non-IOMMUv2 capable devices.
      
         - Fix iommu=pt mode which did not work because the dma_ops where set
           to nommu_ops, which breaks devices that can only do 32bit DMA.
      
         - Fix an issue with non-PCI devices not working, because there are no
           dma_ops for them.  This issue was discovered recently as new AMD
           x86 platforms have non-PCI devices too"
      
      * tag 'iommu-fixes-v4.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
        iommu/amd: Allow non-ATS devices in IOMMUv2 domains
        iommu/amd: Set global dma_ops if swiotlb is disabled
        iommu/amd: Use swiotlb in passthrough mode
        iommu/amd: Allow non-IOMMUv2 devices in IOMMUv2 domains
        iommu/amd: Use iommu core for passthrough mode
        iommu/amd: Use iommu_attach_group()
      5e49e0be
    • Linus Torvalds's avatar
      Merge tag 'drm-intel-fixes-2015-07-31' of git://anongit.freedesktop.org/drm-intel · 23ff9e19
      Linus Torvalds authored
      Pull drm intel fixes from Daniel Vetter:
       "I delayed my -fixes pull a bit hoping that I could include a fix for
        the dp mst stuff but looks a bit more nasty than that.  So just 3
        other regression fixes, one 4.2 other two cc: stable"
      
      * tag 'drm-intel-fixes-2015-07-31' of git://anongit.freedesktop.org/drm-intel:
        drm/i915: Declare the swizzling unknown for L-shaped configurations
        drm/i915: Mark PIN_USER binding as GLOBAL_BIND without the aliasing ppgtt
        drm/i915: Replace WARN inside I915_READ64_2x32 with retry loop
      23ff9e19
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · fd56d1d6
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "This has a bunch of nouveau fixes, as Ben has been hibernating and has
        lots of small fixes for lots of bugs across nouveau.
      
        Radeon has one major fix for hdmi/dp audio regression that is larger
        than Alex would like, but seems to fix up a fair few bugs, along with
        some misc fixes.
      
        And a few msm fixes, one of which is also a bit large.
      
        But nothing in here seems insane or crazy for this stage, just more
        than I'd like"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (33 commits)
        drm/msm/mdp5: release SMB (shared memory blocks) in various cases
        drm/msm: change to uninterruptible wait in atomic commit
        drm/msm: mdp4: Fix drm_framebuffer dereference crash
        drm/msm: fix msm_gem_prime_get_sg_table()
        drm/amdgpu: add new parameter to seperate map and unmap
        drm/amdgpu: hdp_flush is not needed for inside IB
        drm/amdgpu: different emit_ib for gfx and compute
        drm/amdgpu: information leak in amdgpu_info_ioctl()
        drm/amdgpu: clean up init sequence for failures
        drm/radeon/combios: add some validation of lvds values
        drm/radeon: rework audio modeset to handle non-audio hdmi features
        drm/radeon: rework audio detect (v4)
        drm/amdgpu: Drop drm/ prefix for including drm.h in amdgpu_drm.h
        drm/radeon: Drop drm/ prefix for including drm.h in radeon_drm.h
        drm/nouveau/nouveau/ttm: fix tiled system memory with Maxwell
        drm/nouveau/kms/nv50-: guard against enabling cursor on disabled heads
        drm/nouveau/fbcon/g80: reduce PUSH_SPACE alloc, fire ring on accel init
        drm/nouveau/fbcon/gf100-: reduce RING_SPACE allocation
        drm/nouveau/fbcon/nv11-: correctly account for ring space usage
        drm/nouveau/bios: add proper support for opcode 0x59
        ...
      fd56d1d6