1. 01 7月, 2014 1 次提交
    • E
      ipv4: irq safe sk_dst_[re]set() and ipv4_sk_update_pmtu() fix · 7f502361
      Eric Dumazet 提交于
      We have two different ways to handle changes to sk->sk_dst
      
      First way (used by TCP) assumes socket lock is owned by caller, and use
      no extra lock : __sk_dst_set() & __sk_dst_reset()
      
      Another way (used by UDP) uses sk_dst_lock because socket lock is not
      always taken. Note that sk_dst_lock is not softirq safe.
      
      These ways are not inter changeable for a given socket type.
      
      ipv4_sk_update_pmtu(), added in linux-3.8, added a race, as it used
      the socket lock as synchronization, but users might be UDP sockets.
      
      Instead of converting sk_dst_lock to a softirq safe version, use xchg()
      as we did for sk_rx_dst in commit e47eb5df ("udp: ipv4: do not use
      sk_dst_lock from softirq context")
      
      In a follow up patch, we probably can remove sk_dst_lock, as it is
      only used in IPv6.
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Cc: Steffen Klassert <steffen.klassert@secunet.com>
      Fixes: 9cb3a50c ("ipv4: Invalidate the socket cached route on pmtu events if possible")
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7f502361
  2. 28 6月, 2014 2 次提交
  3. 27 6月, 2014 3 次提交
  4. 26 6月, 2014 19 次提交
    • L
      Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6 · d7933ab7
      Linus Torvalds 提交于
      Pull CIFS fixes from Steve French:
       "Small set of misc cifs/smb3 fixes"
      
      * 'for-next' of git://git.samba.org/sfrench/cifs-2.6:
        [CIFS] fix mount failure with broken pathnames when smb3 mount with mapchars option
        cifs: revalidate mapping prior to satisfying read_iter request with cache=loose
        fs/cifs: fix regression in cifs_create_mf_symlink()
      d7933ab7
    • L
      Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 2a80ff86
      Linus Torvalds 提交于
      Pull hwmon fixes from Guenter Roeck:
       "Various minor fixes"
      
      * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (gpio-fan) Change name used in hwmon_device_register_with_groups
        hwmon: (emc1403) Fix missing 'select REGMAP_I2C' in Kconfig
        hwmon: (ntc_thermistor) Use the manufacturer name properly
        devicetree: bindings: Document murata vendor prefix
        hwmon: (w83l786ng) Report correct minimum fan speed
      2a80ff86
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · f40ede39
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
      
       1) Fix crash in ipvs tot_stats estimator, from Julian Anastasov.
      
       2) Fix OOPS in nf_nat on netns removal, from Florian Westphal.
      
       3) Really really really fix locking issues in slip and slcan tty write
          wakeups, from Tyler Hall.
      
       4) Fix checksum offloading in fec driver, from Fugang Duan.
      
       5) Off by one in BPF instruction limit test, from Kees Cook.
      
       6) Need to clear all TSO capability flags when doing software TSO in
          tg3 driver, from Prashant Sreedharan.
      
       7) Fix memory leak in vlan_reorder_header() error path, from Li
          RongQing.
      
       8) Fix various bugs in xen-netfront and xen-netback multiqueue support,
          from David Vrabel and Wei Liu.
      
       9) Fix deadlock in cxgb4 driver, from Li RongQing.
      
      10) Prevent double free of no-cache DST entries, from Eric Dumazet.
      
      11) Bad csum_start handling in skb_segment() leads to crashes when
          forwarding, from Tom Herbert.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (76 commits)
        net: fix setting csum_start in skb_segment()
        ipv4: fix dst race in sk_dst_get()
        net: filter: Use kcalloc/kmalloc_array to allocate arrays
        trivial: net: filter: Change kerneldoc parameter order
        trivial: net: filter: Fix typo in comment
        net: allwinner: emac: Add missing free_irq
        cxgb4: use dev_port to identify ports
        xen-netback: bookkeep number of active queues in our own module
        tg3: Change nvram command timeout value to 50ms
        cxgb4: Not need to hold the adap_rcu_lock lock when read adap_rcu_list
        be2net: fix qnq mode detection on VFs
        of: mdio: fixup of_phy_register_fixed_link parsing of new bindings
        at86rf230: fix irq setup
        net: phy: at803x: fix coccinelle warnings
        net/mlx4_core: Fix the error flow when probing with invalid VF configuration
        tulip: Poll link status more frequently for Comet chips
        net: huawei_cdc_ncm: increase command buffer size
        drivers: net: cpsw: fix dual EMAC stall when connected to same switch
        xen-netfront: recreate queues correctly when reconnecting
        xen-netfront: fix oops when disconnected from backend
        ...
      f40ede39
    • T
      net: fix setting csum_start in skb_segment() · de843723
      Tom Herbert 提交于
      Dave Jones reported that a crash is occurring in
      
      csum_partial
      tcp_gso_segment
      inet_gso_segment
      ? update_dl_migration
      skb_mac_gso_segment
      __skb_gso_segment
      dev_hard_start_xmit
      sch_direct_xmit
      __dev_queue_xmit
      ? dev_hard_start_xmit
      dev_queue_xmit
      ip_finish_output
      ? ip_output
      ip_output
      ip_forward_finish
      ip_forward
      ip_rcv_finish
      ip_rcv
      __netif_receive_skb_core
      ? __netif_receive_skb_core
      ? trace_hardirqs_on
      __netif_receive_skb
      netif_receive_skb_internal
      napi_gro_complete
      ? napi_gro_complete
      dev_gro_receive
      ? dev_gro_receive
      napi_gro_receive
      
      It looks like a likely culprit is that SKB_GSO_CB()->csum_start is
      not set correctly when doing non-scatter gather. We are using
      offset as opposed to doffset.
      Reported-by: NDave Jones <davej@redhat.com>
      Tested-by: NDave Jones <davej@redhat.com>
      Signed-off-by: NTom Herbert <therbert@google.com>
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Fixes: 7e2b10c1 ("net: Support for multiple checksums with gso")
      Acked-by: NTom Herbert <therbert@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      de843723
    • L
      Merge tag 'nfs-for-3.16-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · ec71feae
      Linus Torvalds 提交于
      Pull NFS client fixes from Trond Myklebust:
       "Highlights include:
      
         - Stable fix for a data corruption case due to incorrect cache
           validation
         - Fix a couple of false positive cache invalidations
         - Fix NFSv4 security negotiation issues"
      
      * tag 'nfs-for-3.16-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
        NFSv4: test SECINFO RPC_AUTH_GSS pseudoflavors for support
        NFS Return -EPERM if no supported or matching SECINFO flavor
        NFS check the return of nfs4_negotiate_security in nfs4_submount
        NFS: Don't mark the data cache as invalid if it has been flushed
        NFS: Clear NFS_INO_REVAL_PAGECACHE when we update the file size
        nfs: Fix cache_validity check in nfs_write_pageuptodate()
      ec71feae
    • E
      ipv4: fix dst race in sk_dst_get() · f8864972
      Eric Dumazet 提交于
      When IP route cache had been removed in linux-3.6, we broke assumption
      that dst entries were all freed after rcu grace period. DST_NOCACHE
      dst were supposed to be freed from dst_release(). But it appears
      we want to keep such dst around, either in UDP sockets or tunnels.
      
      In sk_dst_get() we need to make sure dst refcount is not 0
      before incrementing it, or else we might end up freeing a dst
      twice.
      
      DST_NOCACHE set on a dst does not mean this dst can not be attached
      to a socket or a tunnel.
      
      Then, before actual freeing, we need to observe a rcu grace period
      to make sure all other cpus can catch the fact the dst is no longer
      usable.
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Reported-by: NDormando <dormando@rydia.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f8864972
    • T
      net: filter: Use kcalloc/kmalloc_array to allocate arrays · 99e72a0f
      Tobias Klauser 提交于
      Use kcalloc/kmalloc_array to make it clear we're allocating arrays. No
      integer overflow can actually happen here, since len/flen is guaranteed
      to be less than BPF_MAXINSNS (4096). However, this changed makes sure
      we're not going to get one if BPF_MAXINSNS were ever increased.
      Signed-off-by: NTobias Klauser <tklauser@distanz.ch>
      Acked-by: NDaniel Borkmann <dborkman@redhat.com>
      Acked-by: NAlexei Starovoitov <ast@plumgrid.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      99e72a0f
    • T
      trivial: net: filter: Change kerneldoc parameter order · 677a9fd3
      Tobias Klauser 提交于
      Change the order of the parameters to sk_unattached_filter_create() in
      the kerneldoc to reflect the order they appear in the actual function.
      
      This fix is only cosmetic, in the generated doc they still appear in the
      correct order without the fix.
      Signed-off-by: NTobias Klauser <tklauser@distanz.ch>
      Acked-by: NDaniel Borkmann <dborkman@redhat.com>
      Acked-by: NAlexei Starovoitov <ast@plumgrid.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      677a9fd3
    • T
    • M
      net: allwinner: emac: Add missing free_irq · b9111328
      Maxime Ripard 提交于
      If the mdio probe function fails in emac_open, the interrupt we just requested
      isn't freed. If emac_open is called again, for example because we try to set up
      the interface again, the kernel will oops because the interrupt wasn't properly
      released.
      Signed-off-by: NMaxime Ripard <maxime.ripard@free-electrons.com>
      Cc: <stable@vger.kernel.org> # 3.11+
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b9111328
    • T
      cxgb4: use dev_port to identify ports · 40c9f8ab
      Thadeu Lima de Souza Cascardo 提交于
      Commit 3f85944f ("net: Add sysfs file
      for port number") introduce dev_port to network devices. cxgb4 adapters
      have multiple ports on the same PCI function, and used dev_id to
      identify those ports. That use was removed by commit
      8c367fcb ("cxgb4: Do not set
      net_device::dev_id to VI index"), since dev_id should be used only when
      devices share the same MAC address.
      
      Using dev_port for cxgb4 allows different ports on the same PCI function
      to be identified.
      Signed-off-by: NThadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      40c9f8ab
    • W
      xen-netback: bookkeep number of active queues in our own module · f7b50c4e
      Wei Liu 提交于
      The original code uses netdev->real_num_tx_queues to bookkeep number of
      queues and invokes netif_set_real_num_tx_queues to set the number of
      queues. However, netif_set_real_num_tx_queues doesn't allow
      real_num_tx_queues to be smaller than 1, which means setting the number
      to 0 will not work and real_num_tx_queues is untouched.
      
      This is bogus when xenvif_free is invoked before any number of queues is
      allocated. That function needs to iterate through all queues to free
      resources. Using the wrong number of queues results in NULL pointer
      dereference.
      
      So we bookkeep the number of queues in xen-netback to solve this
      problem. This fixes a regression introduced by multiqueue patchset in
      3.16-rc1.
      
      There's another bug in original code that the real number of RX queues
      is never set. In current Xen multiqueue design, the number of TX queues
      and RX queues are in fact the same. We need to set the numbers of TX and
      RX queues to the same value.
      
      Also remove xenvif_select_queue and leave queue selection to core
      driver, as suggested by David Miller.
      Reported-by: NBoris Ostrovsky <boris.ostrovsky@oracle.com>
      Signed-off-by: NWei Liu <wei.liu2@citrix.com>
      CC: Ian Campbell <ian.campbell@citrix.com>
      CC: Paul Durrant <paul.durrant@citrix.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f7b50c4e
    • P
      tg3: Change nvram command timeout value to 50ms · 66c965f5
      Prashant Sreedharan 提交于
      Commit 506724c4 "tg3: Override clock,
      link aware and link idle mode during NVRAM dump" changed the timeout
      value for nvram command execution from 100ms to 1ms. But the 1ms
      timeout value was only sufficient for nvram read operations but not
      write operations for most of the devices supported by tg3 driver.
      This patch sets the MAX to 50ms. Also it uses usleep_range instead
      of udelay.
      Signed-off-by: NPrashant Sreedharan <prashant@broadcom.com>
      Signed-off-by: NMichael Chan <mchan@broadcom.com>
      Suggested-by: NDavid Miller <davem@davemloft.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      66c965f5
    • J
      hwmon: (gpio-fan) Change name used in hwmon_device_register_with_groups · d26e0da7
      Julien D'Ascenzio 提交于
      Since commit 648cd48c
      The hwmon name attributes must not include '-' so the name must be
      rename from gpio-fan to gpio_fan
      Signed-off-by: NJulien D'Ascenzio <jdascenzio@yahoo.fr>
      Reviewed-by: NJean Delvare <jdelvare@suse.de>
      Signed-off-by: NGuenter Roeck <linux@roeck-us.net>
      d26e0da7
    • L
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 456febd2
      Linus Torvalds 提交于
      Pull ARM SoC fixes from Arnd Bergmann:
       "A new set of bug fixes for 3.16, containing patches for seven
        platforms:
      
        at91:
          - drivers/misc fix for Kconfig PWM symbol
          - correction of several values in DT after conversion to CCF
          - fix at91sam9261/at91sam9261ek mistake in slow crystal vs. slow RC osc
      
        imx:
          - Use GPIO for card CD/WP on imx51-babbage and eukrea-mbimxsd51,
            because controller base CD/WP is not working in esdhc driver due to
            runtime PM support
          - A couple of random ventana gw5xxx board fixes
          - Add IMX_IPUV3_CORE back to defconfig, which gets lost when moving
            IPUv3 driver out of staging tree
          - Fix enet/fec clock selection on imx6sl
          - Fix display node on imx53-m53evk board
          - A couple of Cubox-i updates from Russell, which were omitted from
            the merge window due to dependency
      
        integrator:
          - fix an OF-related regression against 3.15
      
        mvebu:
          - mvebu (v7)
             - Fix broken SoC ID detection
             - Select ARM_CPU_SUSPEND for v7
             - Remove armada38x compatible string (no users yet)
             - Enable Dove SoC in mvebu_v7_defconfig
          - kirkwood
             - Fix phy-connection-type on GuruPlug board
      
        qcom:
          - enable gsbi driver in defconfig
          - fix section mismatch warning in serial driver
      
        samsung:
          - use WFI macro in platform_do_lowpower because exynos cpuhotplug
            includes a hardcoded WFI instruction and it causes compile error
            in Thumb-2 mode.
          - fix GIC reg sizes for exynos4 SoCs
          - remove reset timer counter value during boot and resume for mct
            to fix a big jump in printk timestamps
          - fix pm code to check cortex-A9 for another exynos SoCs
          - don't rely on firmware's secondary_cpu_start for mcpm
      
        sti:
          - Ethernet clocks were wrongly defined for STiH415/416 platforms
          - STiH416 B2020 revision E DTS file name contained uppercase, change to
            lowercase"
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (33 commits)
        ARM: at91/dt: sam9261: remove slow RC osc
        ARM: at91/dt: define sam9261ek slow crystal frequency
        ARM: at91/dt: sam9261: correctly define mainck
        ARM: at91/dt: sam9n12: correct PLLA ICPLL and OUT values
        ARM: at91/dt: sam9x5: correct PLLA ICPLL and OUT values
        misc: atmel_pwm: fix Kconfig symbols
        ARM: integrator: fix OF-related regression
        ARM: mvebu: Fix the improper use of the compatible string armada38x using a wildcard
        ARM: dts: kirkwood: fix phy-connection-type for Guruplug
        ARM: EXYNOS: Don't rely on firmware's secondary_cpu_start for mcpm
        ARM: dts: imx51-eukrea-mbimxsd51-baseboard: unbreak esdhc.
        ARM: dts: imx51-babbage: Fix esdhc setup
        ARM: dts: mx5: Move the display out of soc {} node
        ARM: dts: mx5: Fix IPU port node placement
        ARM: mvebu: select ARM_CPU_SUSPEND for Marvell EBU v7 platforms
        ARM: mvebu: Fix broken SoC ID detection
        ARM: imx_v6_v7_defconfig: Enable CONFIG_IMX_IPUV3_CORE
        ARM: multi_v7_defconfig: Add QCOM GSBI driver
        ARM: stih41x: Rename stih416-b2020-revE.dts to stih416-b2020e.dts
        tty: serial: msm: Fix section mismatch warning
        ...
      456febd2
    • A
      Merge tag 'at91-fixes' of git://github.com/at91linux/linux-at91 into fixes · 6c9d1617
      Arnd Bergmann 提交于
      Merge "First AT91 fixes batch for 3.16" from Nicolas Ferre:
      
      - drivers/misc fix for Kconfig PWM symbol
      - correction of several values in DT after conversion to CCF
      - fix at91sam9261/at91sam9261ek mistake in slow crystal vs. slow RC osc
      
      * tag 'at91-fixes' of git://github.com/at91linux/linux-at91:
        ARM: at91/dt: sam9261: remove slow RC osc
        ARM: at91/dt: define sam9261ek slow crystal frequency
        ARM: at91/dt: sam9261: correctly define mainck
        ARM: at91/dt: sam9n12: correct PLLA ICPLL and OUT values
        ARM: at91/dt: sam9x5: correct PLLA ICPLL and OUT values
        misc: atmel_pwm: fix Kconfig symbols
      6c9d1617
    • A
      Merge tag 'mvebu-fixes-3.16' of git://git.infradead.org/linux-mvebu into fixes · 6d12e796
      Arnd Bergmann 提交于
      Merge "mvebu fixes for v3.16" from Jason Cooper:
      
       - mvebu
          - Fix broken SoC ID detection
          - Select ARM_CPU_SUSPEND for v7
          - Remove armada38x compatible string (no users yet)
      
       - kirkwood
          - Fix phy-connection-type on GuruPlug board
      
      * tag 'mvebu-fixes-3.16' of git://git.infradead.org/linux-mvebu:
        ARM: mvebu: Fix the improper use of the compatible string armada38x using a wildcard
        ARM: dts: kirkwood: fix phy-connection-type for Guruplug
        ARM: mvebu: select ARM_CPU_SUSPEND for Marvell EBU v7 platforms
        ARM: mvebu: Fix broken SoC ID detection
      6d12e796
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client · 15e52d9a
      Linus Torvalds 提交于
      Pull Ceph fix from Sage Weil:
       "This fixes a corner case for cloned RBD images"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
        rbd: handle parent_overlap on writes correctly
      15e52d9a
    • A
      ARM: at91/dt: sam9261: remove slow RC osc · 971dc9ce
      Alexandre Belloni 提交于
      The at91sam9261 doesn't actually have a slow RC oscillator, remove it from the
      dtsi.
      Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
      Acked-by: NBoris BREZILLON <boris.brezillon@free-electrons.com>
      Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com>
      971dc9ce
  5. 25 6月, 2014 15 次提交