1. 29 4月, 2016 10 次提交
  2. 28 4月, 2016 4 次提交
  3. 27 4月, 2016 4 次提交
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · f28f20da
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
      
       1) Handle v4/v6 mixed sockets properly in soreuseport, from Craig
          Gallak.
      
       2) Bug fixes for the new macsec facility (missing kmalloc NULL checks,
          missing locking around netdev list traversal, etc.) from Sabrina
          Dubroca.
      
       3) Fix handling of host routes on ifdown in ipv6, from David Ahern.
      
       4) Fix double-fdput in bpf verifier.  From Jann Horn.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (31 commits)
        bpf: fix double-fdput in replace_map_fd_with_map_ptr()
        net: ipv6: Delete host routes on an ifdown
        Revert "ipv6: Revert optional address flusing on ifdown."
        net/mlx4_en: fix spurious timestamping callbacks
        net: dummy: remove note about being Y by default
        cxgbi: fix uninitialized flowi6
        ipv6: Revert optional address flusing on ifdown.
        ipv4/fib: don't warn when primary address is missing if in_dev is dead
        net/mlx5: Add pci shutdown callback
        net/mlx5_core: Remove static from local variable
        net/mlx5e: Use vport MTU rather than physical port MTU
        net/mlx5e: Fix minimum MTU
        net/mlx5e: Device's mtu field is u16 and not int
        net/mlx5_core: Add ConnectX-5 to list of supported devices
        net/mlx5e: Fix MLX5E_100BASE_T define
        net/mlx5_core: Fix soft lockup in steering error flow
        qlcnic: Update version to 5.3.64
        net: stmmac: socfpga: Remove re-registration of reset controller
        macsec: fix netlink attribute validation
        macsec: add missing macsec prefix in uapi
        ...
      f28f20da
    • L
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 91ea692f
      Linus Torvalds 提交于
      Pull ARM SoC fixes from Arnd Bergmann:
       "Here are the latest bug fixes for ARM SoCs, mostly addressing recent
        regressions.  Changes are across several platforms, so I'm listing
        every change separately here.
      
        Regressions since 4.5:
      
         - A correction of the psci firmware DT binding, to prevent users from
           relying on unintended semantics
      
         - Actually getting the newly merged clock driver for some OMAP
           platforms to work
      
         - A revert of patches for the Qualcomm BAM, these need to be reworked
           for 4.7 to avoid breaking boards other than the one they were
           intended for
      
         - A correction for the I2C device nodes on the Socionext Uniphier
           platform
      
         - i.MX SDHCI was broken for non-DT platforms due to a change with the
           setting of the DMA mask
      
         - A revert of a patch that accidentally added a nonexisting clock on
           the Rensas "Porter" board
      
         - A couple of OMAP fixes that are all related to suspend after the
           power domain changes for dra7
      
         - On Mediatek, revert part of the power domain initialization changes
           that broke mt8173-evb
      
        Fixes for older bugs:
      
         - Workaround for an "external abort" in the omap34xx suspend/resume
           code.
      
         - The USB1/eSATA should not be listed as an excon device on
           am57xx-beagle-x15 (broken since v4.0)
      
         - A v4.5 regression in the TI AM33xx and AM43XX DT specifying
           incorrect DMA request lines for the GPMC
      
         - The jiffies calibration on Renesas platforms was incorrect for some
           modern CPU cores.
      
         - A hardware errata woraround for clockdomains on TI DRA7"
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        drivers: firmware: psci: unify enable-method binding on ARM {64,32}-bit systems
        arm64: dts: uniphier: fix I2C nodes of PH1-LD20
        ARM: shmobile: timer: Fix preset_lpj leading to too short delays
        Revert "ARM: dts: porter: Enable SCIF_CLK frequency and pins"
        ARM: dts: r8a7791: Don't disable referenced optional clocks
        Revert "ARM: OMAP: Catch callers of revision information prior to it being populated"
        ARM: OMAP3: Fix external abort on 36xx waking from off mode idle
        ARM: dts: am57xx-beagle-x15: remove extcon_usb1
        ARM: dts: am437x: Fix GPMC dma properties
        ARM: dts: am33xx: Fix GPMC dma properties
        Revert "soc: mediatek: SCPSYS: Fix double enabling of regulators"
        ARM: mach-imx: sdhci-esdhc-imx: initialize DMA mask
        ARM: DRA7: clockdomain: Implement timer workaround for errata i874
        ARM: OMAP: Catch callers of revision information prior to it being populated
        ARM: dts: dra7: Correct clock tree for sys_32k_ck
        ARM: OMAP: DRA7: Provide proper class to omap2_set_globals_tap
        ARM: OMAP: DRA7: wakeupgen: Skip SAR save for wakeupgen
        Revert "dts: msm8974: Add dma channels for blsp2_i2c1 node"
        Revert "dts: msm8974: Add blsp2_bam dma node"
        ARM: dts: Add clocks for dm814x ADPLL
      91ea692f
    • L
      devpts: more pty driver interface cleanups · 8ead9dd5
      Linus Torvalds 提交于
      This is more prep-work for the upcoming pty changes.  Still just code
      cleanup with no actual semantic changes.
      
      This removes a bunch pointless complexity by just having the slave pty
      side remember the dentry associated with the devpts slave rather than
      the inode.  That allows us to remove all the "look up the dentry" code
      for when we want to remove it again.
      
      Together with moving the tty pointer from "inode->i_private" to
      "dentry->d_fsdata" and getting rid of pointless inode locking, this
      removes about 30 lines of code.  Not only is the end result smaller,
      it's simpler and easier to understand.
      
      The old code, for example, depended on the d_find_alias() to not just
      find the dentry, but also to check that it is still hashed, which in
      turn validated the tty pointer in the inode.
      
      That is a _very_ roundabout way to say "invalidate the cached tty
      pointer when the dentry is removed".
      
      The new code just does
      
      	dentry->d_fsdata = NULL;
      
      in devpts_pty_kill() instead, invalidating the tty pointer rather more
      directly and obviously.  Don't do something complex and subtle when the
      obvious straightforward approach will do.
      
      The rest of the patch (ie apart from code deletion and the above tty
      pointer clearing) is just switching the calling convention to pass the
      dentry or file pointer around instead of the inode.
      
      Cc: Eric Biederman <ebiederm@xmission.com>
      Cc: Peter Anvin <hpa@zytor.com>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Peter Hurley <peter@hurleysoftware.com>
      Cc: Serge Hallyn <serge.hallyn@ubuntu.com>
      Cc: Willy Tarreau <w@1wt.eu>
      Cc: Aurelien Jarno <aurelien@aurel32.net>
      Cc: Alan Cox <gnomes@lxorguk.ukuu.org.uk>
      Cc: Jann Horn <jann@thejh.net>
      Cc: Greg KH <greg@kroah.com>
      Cc: Jiri Slaby <jslaby@suse.com>
      Cc: Florian Weimer <fw@deneb.enyo.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8ead9dd5
    • J
      bpf: fix double-fdput in replace_map_fd_with_map_ptr() · 8358b02b
      Jann Horn 提交于
      When bpf(BPF_PROG_LOAD, ...) was invoked with a BPF program whose bytecode
      references a non-map file descriptor as a map file descriptor, the error
      handling code called fdput() twice instead of once (in __bpf_map_get() and
      in replace_map_fd_with_map_ptr()). If the file descriptor table of the
      current task is shared, this causes f_count to be decremented too much,
      allowing the struct file to be freed while it is still in use
      (use-after-free). This can be exploited to gain root privileges by an
      unprivileged user.
      
      This bug was introduced in
      commit 0246e64d ("bpf: handle pseudo BPF_LD_IMM64 insn"), but is only
      exploitable since
      commit 1be7f75d ("bpf: enable non-root eBPF programs") because
      previously, CAP_SYS_ADMIN was required to reach the vulnerable code.
      
      (posted publicly according to request by maintainer)
      Signed-off-by: NJann Horn <jannh@google.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Acked-by: NAlexei Starovoitov <ast@kernel.org>
      Acked-by: NDaniel Borkmann <daniel@iogearbox.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8358b02b
  4. 26 4月, 2016 8 次提交
  5. 25 4月, 2016 14 次提交
    • K
      Merge tag 'omap-for-v4.6/dt-ti81xx-signed' of... · 004cb62e
      Kevin Hilman 提交于
      Merge tag 'omap-for-v4.6/dt-ti81xx-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes
      
      Enable dm814x and dra62x clock driver. This branch has a dependency
      to the clk-ti branch from the Linux clk tree for the ADPLL clock driver.
      Otherwise things won't keep booting properly when we flip over to use
      the clock driver instead of fixed clocks set up by the bootloader.
      
      * tag 'omap-for-v4.6/dt-ti81xx-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
        ARM: dts: Add clocks for dm814x ADPLL
      004cb62e
    • P
      ipv4/fib: don't warn when primary address is missing if in_dev is dead · 391a2033
      Paolo Abeni 提交于
      After commit fbd40ea0 ("ipv4: Don't do expensive useless work
      during inetdev destroy.") when deleting an interface,
      fib_del_ifaddr() can be executed without any primary address
      present on the dead interface.
      
      The above is safe, but triggers some "bug: prim == NULL" warnings.
      
      This commit avoids warning if the in_dev is dead
      Signed-off-by: NPaolo Abeni <pabeni@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      391a2033
    • L
      Linux 4.6-rc5 · 02da2d72
      Linus Torvalds 提交于
      02da2d72
    • D
      Merge branch 'mlx5-fixes' · 91e019de
      David S. Miller 提交于
      Saeed Mahameed says:
      
      ====================
      mlx5 driver updates and fixes
      
      Changes from V0:
      	- Dropped: ("net/mlx5e: Reset link modes upon setting speed to zero")
      	- Fixed compilation issue introduced to mlx5_ib driver.
      	- Rebased to df637193 ('Revert "Prevent NUll pointer dereference with two PHYs on cpsw"')
      
      This series has few bug fixes for mlx5 core and ethernet driver.
      
      Eli fixed a wrong static local variable declaration in flow steering API.
      Majd added the support of ConnectX-5 PF and VF and added the support
      for kernel shutdown pci callback for more robust reboot procedures.
      Maor fixed a soft lockup in flow steering.
      Rana fixed a wrog speed define in mlx5 EN driver.
      I also had the chance to introduce some bug fixes in mlx5 EN mtu
      reporting and handling.
      
      For -stable:
      	net/mlx5_core: Fix soft lockup in steering error flow
      	net/mlx5e: Device's mtu field is u16 and not int
      	net/mlx5e: Fix minimum MTU
      	net/mlx5e: Use vport MTU rather than physical port MTU
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      91e019de
    • M
      net/mlx5: Add pci shutdown callback · 5fc7197d
      Majd Dibbiny 提交于
      This patch introduces kexec support for mlx5.
      When switching kernels, kexec() calls shutdown, which unloads
      the driver and cleans its resources.
      
      In addition, remove unregister netdev from shutdown flow. This will
      allow a clean shutdown, even if some netdev clients did not release their
      reference from this netdev. Releasing The HW resources only is enough as
      the kernel is shutting down
      Signed-off-by: NMajd Dibbiny <majd@mellanox.com>
      Signed-off-by: NTariq Toukan <tariqt@mellanox.com>
      Signed-off-by: NHaggai Abramovsky <hagaya@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5fc7197d
    • E
      net/mlx5_core: Remove static from local variable · 78228cbd
      Eli Cohen 提交于
      The static is not required and breaks re-entrancy if it will be required.
      
      Fixes: 25302363 ("net/mlx5_core: Flow steering tree initialization")
      Signed-off-by: NEli Cohen <eli@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      78228cbd
    • S
      net/mlx5e: Use vport MTU rather than physical port MTU · cd255eff
      Saeed Mahameed 提交于
      Set and report vport MTU rather than physical MTU,
      Driver will set both vport and physical port mtu and will
      rely on the query of vport mtu.
      
      SRIOV VFs have to report their MTU to their vport manager (PF),
      and this will allow them to work with any MTU they need
      without failing the request.
      
      Also for some cases where the PF is not a port owner, PF can
      work with MTU less than the physical port mtu if set physical
      port mtu didn't take effect.
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cd255eff
    • S
      net/mlx5e: Fix minimum MTU · d8edd246
      Saeed Mahameed 提交于
      Minimum MTU that can be set in Connectx4 device is 68.
      
      This fixes the case where a user wants to set invalid MTU,
      the driver will fail to satisfy this request and the interface
      will stay down.
      
      It is better to report an error and continue working with old
      mtu.
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d8edd246
    • S
      net/mlx5e: Device's mtu field is u16 and not int · 046339ea
      Saeed Mahameed 提交于
      For set/query MTU port firmware commands the MTU field
      is 16 bits, here I changed all the "int mtu" parameters
      of the functions wrapping those firmware commands to be u16.
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      046339ea
    • M
      net/mlx5_core: Add ConnectX-5 to list of supported devices · 64dbbdfe
      Majd Dibbiny 提交于
      Add the upcoming ConnectX-5 devices (PF and VF) to the list of
      supported devices by the mlx5 driver.
      Signed-off-by: NMajd Dibbiny <majd@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      64dbbdfe
    • R
      net/mlx5e: Fix MLX5E_100BASE_T define · 6e4c2189
      Rana Shahout 提交于
      Bit 25 of eth_proto_capability in PTYS register is
      1000Base-TT and not 100Base-T.
      
      Fixes: f62b8bb8 ('net/mlx5: Extend mlx5_core to
      support ConnectX-4 Ethernet functionality')
      Signed-off-by: NRana Shahout <ranas@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6e4c2189
    • M
      net/mlx5_core: Fix soft lockup in steering error flow · c3f9bf62
      Maor Gottlieb 提交于
      In the error flow of adding flow rule to auto-grouped flow
      table, we call to tree_remove_node.
      
      tree_remove_node locks the node's parent, however the node's parent
      is already locked by mlx5_add_flow_rule and this causes a deadlock.
      After this patch, if we failed to add the flow rule, we unlock the
      flow table before calling to tree_remove_node.
      
      fixes: f0d22d18 ('net/mlx5_core: Introduce flow steering autogrouped
      flow table')
      Signed-off-by: NMaor Gottlieb <maorg@mellanox.com>
      Reported-by: NAmir Vadai <amir@vadai.me>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c3f9bf62
    • M
      qlcnic: Update version to 5.3.64 · 45c78e02
      Manish Chopra 提交于
      Just updating the version as many fixes got
      accumulated over 5.3.63
      Signed-off-by: NManish Chopra <manish.chopra@qlogic.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      45c78e02
    • M
      net: stmmac: socfpga: Remove re-registration of reset controller · 3c201b5a
      Marek Vasut 提交于
      Both socfpga_dwmac_parse_data() in dwmac-socfpga.c and stmmac_dvr_probe()
      in stmmac_main.c functions call devm_reset_control_get() to register an
      reset controller for the stmmac. This results in an attempt to register
      two reset controllers for the same non-shared reset line.
      
      The first attempt to register the reset controller works fine. The second
      attempt fails with warning from the reset controller core, see below.
      The warning is produced because the reset line is non-shared and thus
      it is allowed to have only up-to one reset controller associated with
      that reset line, not two or more.
      
      The solution has multiple parts. First, the original socfpga_dwmac_init()
      is tweaked to use reset controller pointer from the stmmac_priv (private
      data of the stmmac core) instead of the local instance, which was used
      before. The local re-registration of the reset controller is removed.
      
      Next, the socfpga_dwmac_init() is moved after stmmac_dvr_probe() in the
      probe function. This order is legal according to Altera and it makes the
      code much easier, since there is no need to temporarily register and
      unregister the reset controller ; the reset controller is already registered
      by the stmmac_dvr_probe().
      
      Finally, plat_dat->exit and socfpga_dwmac_exit() is no longer necessary,
      since the functionality is already performed by the stmmac core.
      
      ------------[ cut here ]------------
      WARNING: CPU: 0 PID: 1 at drivers/reset/core.c:187 __of_reset_control_get+0x218/0x270
      Modules linked in:
      CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.6.0-rc4-next-20160419-00015-gabb2477-dirty #4
      Hardware name: Altera SOCFPGA
      [<c010f290>] (unwind_backtrace) from [<c010b82c>] (show_stack+0x10/0x14)
      [<c010b82c>] (show_stack) from [<c0373da4>] (dump_stack+0x94/0xa8)
      [<c0373da4>] (dump_stack) from [<c011bcc0>] (__warn+0xec/0x104)
      [<c011bcc0>] (__warn) from [<c011bd88>] (warn_slowpath_null+0x20/0x28)
      [<c011bd88>] (warn_slowpath_null) from [<c03a6eb4>] (__of_reset_control_get+0x218/0x270)
      [<c03a6eb4>] (__of_reset_control_get) from [<c03a701c>] (__devm_reset_control_get+0x54/0x90)
      [<c03a701c>] (__devm_reset_control_get) from [<c041fa30>] (stmmac_dvr_probe+0x1b4/0x8e8)
      [<c041fa30>] (stmmac_dvr_probe) from [<c04298c8>] (socfpga_dwmac_probe+0x1b8/0x28c)
      [<c04298c8>] (socfpga_dwmac_probe) from [<c03d6ffc>] (platform_drv_probe+0x4c/0xb0)
      [<c03d6ffc>] (platform_drv_probe) from [<c03d54ec>] (driver_probe_device+0x224/0x2bc)
      [<c03d54ec>] (driver_probe_device) from [<c03d5630>] (__driver_attach+0xac/0xb0)
      [<c03d5630>] (__driver_attach) from [<c03d382c>] (bus_for_each_dev+0x6c/0xa0)
      [<c03d382c>] (bus_for_each_dev) from [<c03d4ad4>] (bus_add_driver+0x1a4/0x21c)
      [<c03d4ad4>] (bus_add_driver) from [<c03d60ac>] (driver_register+0x78/0xf8)
      [<c03d60ac>] (driver_register) from [<c0101760>] (do_one_initcall+0x40/0x170)
      [<c0101760>] (do_one_initcall) from [<c0800e38>] (kernel_init_freeable+0x1dc/0x27c)
      [<c0800e38>] (kernel_init_freeable) from [<c05d1bd4>] (kernel_init+0x8/0x114)
      [<c05d1bd4>] (kernel_init) from [<c01076f8>] (ret_from_fork+0x14/0x3c)
      ---[ end trace 059d2fbe87608fa9 ]---
      Signed-off-by: NMarek Vasut <marex@denx.de>
      Cc: Matthew Gerlach <mgerlach@opensource.altera.com>
      Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
      Cc: David S. Miller <davem@davemloft.net>
      Tested-by: NDinh Nguyen <dinguyen@opensource.altera.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3c201b5a