1. 22 9月, 2014 1 次提交
  2. 08 9月, 2014 17 次提交
    • L
      Merge branch 'for-3.17-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · d030671f
      Linus Torvalds 提交于
      Pull cgroup fixes from Tejun Heo:
       "This pull request includes Alban's patch to disallow '\n' in cgroup
        names.
      
        Two other patches from Li to fix a possible oops when cgroup
        destruction races against other file operations and one from Vivek to
        fix a unified hierarchy devel behavior"
      
      * 'for-3.17-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cgroup: check cgroup liveliness before unbreaking kernfs
        cgroup: delay the clearing of cgrp->kn->priv
        cgroup: Display legacy cgroup files on default hierarchy
        cgroup: reject cgroup names with '\n'
      d030671f
    • L
      Merge branch 'for-3.17-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu · 6a5c75ce
      Linus Torvalds 提交于
      Pull percpu fixes from Tejun Heo:
       "One patch to fix a failure path in the alloc path.  The bug is
        dangerous but probably not too likely to actually trigger in the wild
        given that there hasn't been any report yet.
      
        The other two are low impact fixes"
      
      * 'for-3.17-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
        percpu: free percpu allocation info for uniprocessor system
        percpu: perform tlb flush after pcpu_map_pages() failure
        percpu: fix pcpu_alloc_pages() failure path
      6a5c75ce
    • L
      Merge branch 'for-3.17-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · cfa7c641
      Linus Torvalds 提交于
      Pull libata fixes from Tejun Heo:
       "Two patches are to add PCI IDs for ICH9 and all others are device
        specific fixes.  Nothing too interesting"
      
      * 'for-3.17-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
        ahci_xgene: Fix the link down in first attempt for the APM X-Gene SoC AHCI SATA host controller driver.
        ahci_xgene: Skip the PHY and clock initialization if already configured by the firmware.
        ahci: add pcid for Marvel 0x9182 controller
        ata: Disabling the async PM for JMicron chip 363/361
        ata_piix: Add Device IDs for Intel 9 Series PCH
        ahci: Add Device IDs for Intel 9 Series PCH
        ata: ahci_tegra: Read calibration fuse
      cfa7c641
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · b531f5dd
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
      
       1) Fix skb leak in mac802154, from Martin Townsend
      
       2) Use select not depends on NF_NAT for NFT_NAT, from Pablo Neira
          Ayuso
      
       3) Fix union initializer bogosity in vxlan, from Gerhard Stenzel
      
       4) Fix RX checksum configuration in stmmac driver, from Giuseppe
          CAVALLARO
      
       5) Fix TSO with non-accelerated VLANs in e1000, e1000e, bna, ehea,
          i40e, i40evf, mvneta, and qlge, from Vlad Yasevich
      
       6) Fix capability checks in phy_init_eee(), from Giuseppe CAVALLARO
      
       7) Try high order allocations more sanely for SKBs, specifically if a
          high order allocation fails, fall back directly to zero order pages
          rather than iterating down one order at a time.  From Eric Dumazet
      
       8) Fix a memory leak in openvswitch, from Li RongQing
      
       9) amd-xgbe initializes wrong spinlock, from Thomas Lendacky
      
      10) RTNL locking was busted in setsockopt for anycast and multicast, fix
          from Sabrina Dubroca
      
      11) Fix peer address refcount leak in ipv6, from Nicolas Dichtel
      
      12) DocBook typo fixes, from Masanari Iida
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (101 commits)
        ipv6: restore the behavior of ipv6_sock_ac_drop()
        amd-xgbe: Enable interrupts for all management counters
        amd-xgbe: Treat certain counter registers as 64 bit
        greth: moved TX ring cleaning to NAPI rx poll func
        cnic : Cleanup CONFIG_IPV6 & VLAN check
        net: treewide: Fix typo found in DocBook/networking.xml
        bnx2x: Fix link problems for 1G SFP RJ45 module
        3c59x: avoid panic in boomerang_start_xmit when finding page address:
        netfilter: add explicit Kconfig for NETFILTER_XT_NAT
        ipv6: use addrconf_get_prefix_route() to remove peer addr
        ipv6: fix a refcnt leak with peer addr
        net-timestamp: only report sw timestamp if reporting bit is set
        drivers/net/fddi/skfp/h/skfbi.h: Remove useless PCI_BASE_2ND macros
        l2tp: fix race while getting PMTU on PPP pseudo-wire
        ipv6: fix rtnl locking in setsockopt for anycast and multicast
        VMXNET3: Check for map error in vmxnet3_set_mc
        openvswitch: distinguish between the dropped and consumed skb
        amd-xgbe: Fix initialization of the wrong spin lock
        openvswitch: fix a memory leak
        netfilter: fix missing dependencies in NETFILTER_XT_TARGET_LOG
        ...
      b531f5dd
    • D
      Merge tag 'master-2014-09-04' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless · 45ce829d
      David S. Miller 提交于
      John W. Linville says:
      
      ====================
      pull request: wireless 2014-09-05
      
      Please pull this batch of fixes intended for the 3.17 stream...
      
      For the mac80211 bits, Johannes says:
      
      "Here are a few fixes for mac80211. One has been discussed for a while
      and adds a terminating NUL-byte to the alpha2 sent to userspace, which
      shouldn't be necessary but since many places treat it as a string we
      couldn't move to just sending two bytes.
      
      In addition to that, we have two VLAN fixes from Felix, a mesh fix, a
      fix for the recently introduced RX aggregation offload, a revert for
      a broken patch (that luckily didn't really cause any harm) and a small
      fix for alignment in debugfs."
      
      For the iwlwifi bits, Emmanuel says:
      
      "I revert a patch that disabled CTS to self in dvm because users
      reported issues. The revert is CCed to stable since the offending
      patch was sent to stable too. I also bump the firmware API versions
      since a new firmware is coming up. On top of that, Marcel fixes a
      bug I introduced while fixing a bug in our Kconfig file."
      
      Please let me know if there are problems!
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      45ce829d
    • W
      ipv6: restore the behavior of ipv6_sock_ac_drop() · de185ab4
      WANG Cong 提交于
      It is possible that the interface is already gone after joining
      the list of anycast on this interface as we don't hold a refcount
      for the device, in this case we are safe to ignore the error.
      
      What's more important, for API compatibility we should not
      change this behavior for applications even if it were correct.
      
      Fixes: commit a9ed4a29 ("ipv6: fix rtnl locking in setsockopt for anycast and multicast")
      Cc: Sabrina Dubroca <sd@queasysnail.net>
      Cc: David S. Miller <davem@davemloft.net>
      Signed-off-by: NCong Wang <xiyou.wangcong@gmail.com>
      Acked-by: NHannes Frederic Sowa <hannes@stressinduktion.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      de185ab4
    • L
      Linux 3.17-rc4 · 2ce7598c
      Linus Torvalds 提交于
      2ce7598c
    • S
      Documentation: new page link in SubmittingPatches · 7e0dae61
      Sudip Mukherjee 提交于
      new link for - How to piss off a Linux kernel subsystem maintainer
      Signed-off-by: NSudip Mukherjee <sudip@vectorindia.org>
      Signed-off-by: NRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      7e0dae61
    • P
      Documentation: NFS/RDMA: Document separate Kconfig symbols · 731d5cca
      Paul Bolle 提交于
      The NFS/RDMA Kconfig symbol was split into separate options for client
      and server in commit 2e8c12e1 ("xprtrdma: add separate Kconfig
      options for NFSoRDMA client and server support").
      
      Update the documentation to reflect this split.
      Signed-off-by: NPaul Bolle <pebolle@tiscali.nl>
      Reviewed-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NRandy Dunlap <rdunlap@infradead.org>
      Cc: "J. Bruce Fields" <bfields@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      731d5cca
    • M
      Documentation: misc-devices: Rename freefall.c from hpfall.c in lis2lv02d · 0024d6e9
      Masanari Iida 提交于
      hpfall.c was renamed to freefall.c in 3.16, but this file still refer to
      hpfall.c instead of freefall.c
      Signed-off-by: NMasanari Iida <standby24x7@gmail.com>
      Signed-off-by: NRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      0024d6e9
    • J
      Documentation: i2c: rename variable "register" to "reg" · 257d6ef4
      Jose Manuel Alarcon Roldan 提交于
      The example code provided with the i2c device interface documentation
      won't compile since it uses the reserved word "register" to name a
      variable.
      
      The compiler fails with this error message:
      
       error: expected identifier or '(' before '=' token
         __u8 register = 0x20; /* Device register to access */
                       ^
      
      Rename the variable "register" to simply "reg" in the example code.
      
      Another couple of typos has been fixed as well.
      [Change "! =" to "!=".]
      Signed-off-by: NJose Alarcon Roldan <jose.alarcon.roldan@gmail.com>
      Signed-off-by: NRandy Dunlap <rdunlap@infradead.org>
      Acked-by: NWolfram Sang <wsa@the-dreams.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      257d6ef4
    • R
      Documentation: seq_file: Document seq_open_private(), seq_release_private() · 77be4daf
      Rob Jones 提交于
      Despite the fact that these functions have been around for years, they
      are little used (only 15 uses in 13 files at the preseht time) even
      though many other files use work-arounds to achieve the same result.
      
      By documenting them, hopefully they will become more widely used.
      Signed-off-by: NRob Jones <rob.jones@codethink.co.uk>
      Acked-by: NSteven Whitehouse <swhiteho@redhat.com>
      Signed-off-by: NRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      77be4daf
    • L
      Merge tag 'pm+acpi-3.17-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 6fef37c9
      Linus Torvalds 提交于
      Pull ACPI and power management fixes from Rafael Wysocki:
       "These are regression fixes (ACPI sysfs, ACPI video, suspend test),
        ACPI cpuidle deadlock fix, missing runtime validation of ACPI _DSD
        output, a fix and a new CPU ID for the RAPL driver, new blacklist
        entry for the ACPI EC driver and a couple of trivial cleanups
        (intel_pstate and generic PM domains).
      
        Specifics:
      
         - Fix for recently broken test_suspend= command line argument (Rafael
           Wysocki).
      
         - Fixes for regressions related to the ACPI video driver caused by
           switching the default to native backlight handling in 3.16 from
           Hans de Goede.
      
         - Fix for a sysfs attribute of ACPI device objects that returns stale
           values sometimes due to the fact that they are cached instead of
           executing the appropriate method (_SUN) every time (broken in
           3.14).  From Yasuaki Ishimatsu.
      
         - Fix for a deadlock between cpuidle_lock and cpu_hotplug.lock in the
           ACPI processor driver from Jiri Kosina.
      
         - Runtime output validation for the ACPI _DSD device configuration
           object missing from the support for it that has been introduced
           recently.  From Mika Westerberg.
      
         - Fix for an unuseful and misleading RAPL (Running Average Power
           Limit) domain detection message in the RAPL driver from Jacob Pan.
      
         - New Intel Haswell CPU ID for the RAPL driver from Jason Baron.
      
         - New Clevo W350etq blacklist entry for the ACPI EC driver from Lan
           Tianyu.
      
         - Cleanup for the intel_pstate driver and the core generic PM domains
           code from Gabriele Mazzotta and Geert Uytterhoeven"
      
      * tag 'pm+acpi-3.17-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI / cpuidle: fix deadlock between cpuidle_lock and cpu_hotplug.lock
        ACPI / scan: not cache _SUN value in struct acpi_device_pnp
        cpufreq: intel_pstate: Remove unneeded variable
        powercap / RAPL: change domain detection message
        powercap / RAPL: add support for CPU model 0x3f
        PM / domains: Make generic_pm_domain.name const
        PM / sleep: Fix test_suspend= command line option
        ACPI / EC: Add msi quirk for Clevo W350etq
        ACPI / video: Disable native_backlight on HP ENVY 15 Notebook PC
        ACPI / video: Add a disable_native_backlight quirk
        ACPI / video: Fix use_native_backlight selection logic
        ACPICA: ACPI 5.1: Add support for runtime validation of _DSD package.
      6fef37c9
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 9142eade
      Linus Torvalds 提交于
      Pull filesystem fixes from Al Viro:
       "Several bugfixes (all of them -stable fodder).
      
        Alexey's one deals with double mutex_lock() in UFS (apparently, nobody
        has tried to test "ufs: sb mutex merge + mutex_destroy" on something
        like file creation/removal on ufs).  Mine deal with two kinds of
        umount bugs, in umount propagation and in handling of automounted
        submounts, both resulting in bogus transient EBUSY from umount"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        ufs: fix deadlocks introduced by sb mutex merge
        fix EBUSY on umount() from MNT_SHRINKABLE
        get rid of propagate_umount() mistakenly treating slaves as busy.
      9142eade
    • L
      Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 81368f8b
      Linus Torvalds 提交于
      Pull RCU fix from Ingo Molnar:
       "A boot hang fix for the offloaded callback RCU model (RCU_NOCB_CPU=y
        && (TREE_CPU=y || TREE_PREEMPT_RC)) in certain bootup scenarios"
      
      * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        rcu: Make nocb leader kthreads process pending callbacks after spawning
      81368f8b
    • L
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ebc54f27
      Linus Torvalds 提交于
      Pull timer fixes from Thomas Gleixner:
       "Three fixlets from the timer departement:
      
         - Update the timekeeper before updating vsyscall and pvclock.  This
           fixes the kvm-clock regression reported by Chris and Paolo.
      
         - Use the proper irq work interface from NMI.  This fixes the
           regression reported by Catalin and Dave.
      
         - Clarify the compat_nanosleep error handling mechanism to avoid
           future confusion"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        timekeeping: Update timekeeper before updating vsyscall and pvclock
        compat: nanosleep: Clarify error handling
        nohz: Restore NMI safe local irq work for local nohz kick
      ebc54f27
    • A
      ufs: fix deadlocks introduced by sb mutex merge · 9ef7db7f
      Alexey Khoroshilov 提交于
      Commit 0244756e ("ufs: sb mutex merge + mutex_destroy") introduces
      deadlocks in ufs_new_inode() and ufs_free_inode().
      Most callers of that functions acqure the mutex by themselves and
      ufs_{new,free}_inode() do that via lock_ufs(),
      i.e we have an unavoidable double lock.
      
      The patch proposes to resolve the issue by making sure that
      ufs_{new,free}_inode() are not called with the mutex held.
      
      Found by Linux Driver Verification project (linuxtesting.org).
      
      Cc: stable@vger.kernel.org # 3.16
      Signed-off-by: NAlexey Khoroshilov <khoroshilov@ispras.ru>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      9ef7db7f
  3. 07 9月, 2014 4 次提交
    • L
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 2b12164b
      Linus Torvalds 提交于
      Pull kvm fixes from Paolo Bonzini:
       "A smattering of bug fixes across most architectures"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        powerpc/kvm/cma: Fix panic introduces by signed shift operation
        KVM: s390/mm: Fix guest storage key corruption in ptep_set_access_flags
        KVM: s390/mm: Fix storage key corruption during swapping
        arm/arm64: KVM: Complete WFI/WFE instructions
        ARM/ARM64: KVM: Nuke Hyp-mode tlbs before enabling MMU
        KVM: s390/mm: try a cow on read only pages for key ops
        KVM: s390: Fix user triggerable bug in dead code
      2b12164b
    • L
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 56c22854
      Linus Torvalds 提交于
      Pull ARM SoC fixes from Kevin Hilman:
       "Another round of fixes from arm-soc land, which are mostly DT fixes
        for:
      
         - OMAP: handful of DT fixes devices on newly supported hardware
         - davinci: fix 2nd EDMA channel
         - ux500: extend previous pinctrl fix to another board
         - at91: clock registration fixes, compatibility string precision
      
        And one more fix for event cleanup in drivers/bus/arm-ccn"
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        bus: arm-ccn: Move event cleanup routine
        ARM: at91/dt: rm9200: fix usb clock definition
        ARM: at91: rm9200: fix clock registration
        ARM: at91/dt: sam9g20: set at91sam9g20 pllb driver
        ARM: dts: dra7-evm: Add vtt regulator support
        ARM: dts: dra7-evm: Fix spi1 mux documentation
        ARM: dts: am43x-epos-evm: Disable QSPI to prevent conflict with GPMC-NAND
        ARM: OMAP2+: gpmc: Don't complain if wait pin is used without r/w monitoring
        ARM: dts: am43xx-epos-evm: Don't use read/write wait monitoring
        ARM: dts: am437x-gp-evm: Don't use read/write wait monitoring
        ARM: dts: am437x-gp-evm: Use BCH16 ECC scheme instead of BCH8
        ARM: dts: am43x-epos-evm: Use BCH16 ECC scheme instead of BCH8
        ARM: dts: am4372: fix USB regs size
        ARM: dts: am437x-gp: switch i2c0 to 100KHz
        ARM: dts: dra7-evm: Fix 8th NAND partition's name
        ARM: dts: dra7-evm: Fix i2c3 pinmux and frequency
        ARM: ux500: disable msp2 node on Snowball
        ARM: edma: Fix configuration parsing for SoCs with multiple eDMA3 CC
        ARM: dts: set 'ti,set-rate-parent' for dpll4_m5x2 clock
      56c22854
    • L
      Merge tag 'xfs-for-linus-3.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs · 11e97398
      Linus Torvalds 提交于
      Pull xfs fixes from Dave Chinner:
       "The fixes all address recently discovered data corruption issues.
      
        The original Direct IO issue was discovered by Chris Mason @ Facebook
        on a production workload which mixed buffered reads with direct reads
        and writes IO to the same file.  The fix for that exposed other issues
        with page invalidation (exposed by millions of fsx operations) failing
        due to dirty buffers beyond EOF.
      
        Finally, the collapse_range code could also cause problems due to
        racing writeback changing the extent map while it was being shifted
        around.  The commits for that problem are simple mitigation fixes that
        prevent the problem from occuring.  A more robust fix for 3.18 that
        addresses the underlying problem is currently being worked on by
        Brian.
      
        Summary of fixes:
         - a direct IO read/buffered read data corruption
         - the associated fallout from the DIO data corruption fix
         - collapse range bugs that are potential data corruption issues"
      
      * tag 'xfs-for-linus-3.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs:
        xfs: trim eofblocks before collapse range
        xfs: xfs_file_collapse_range is delalloc challenged
        xfs: don't log inode unless extent shift makes extent modifications
        xfs: use ranged writeback and invalidation for direct IO
        xfs: don't zero partial page cache pages during O_DIRECT writes
        xfs: don't zero partial page cache pages during O_DIRECT writes
        xfs: don't dirty buffers beyond EOF
      11e97398
    • L
      Merge tag 'for-linus-20140905' of git://git.infradead.org/linux-mtd · 925e0ea4
      Linus Torvalds 提交于
      Pull mtd fixes from Brian Norris:
       "Two trivial MTD updates for 3.17-rc4:
      
         - a tiny comment tweak, to kill a bunch of DocBook warnings added
           during the merge window
      
         - a small fixup to the OTP routines' error handling"
      
      * tag 'for-linus-20140905' of git://git.infradead.org/linux-mtd:
        mtd: nand: fix DocBook warnings on nand_sdr_timings doc
        mtd: cfi_cmdset_0002: check return code for get_chip()
      925e0ea4
  4. 06 9月, 2014 18 次提交
    • T
      timekeeping: Update timekeeper before updating vsyscall and pvclock · 9bf2419f
      Thomas Gleixner 提交于
      The update_walltime() code works on the shadow timekeeper to make the
      seqcount protected region as short as possible. But that update to the
      shadow timekeeper does not update all timekeeper fields because it's
      sufficient to do that once before it becomes life. One of these fields
      is tkr.base_mono. That stays stale in the shadow timekeeper unless an
      operation happens which copies the real timekeeper to the shadow.
      
      The update function is called after the update calls to vsyscall and
      pvclock. While not correct, it did not cause any problems because none
      of the invoked update functions used base_mono.
      
      commit cbcf2dd3 (x86: kvm: Make kvm_get_time_and_clockread()
      nanoseconds based) changed that in the kvm pvclock update function, so
      the stale mono_base value got used and caused kvm-clock to malfunction.
      
      Put the update where it belongs and fix the issue.
      Reported-by: NChris J Arges <chris.j.arges@canonical.com>
      Reported-by: NPaolo Bonzini <pbonzini@redhat.com>
      Cc: Gleb Natapov <gleb@kernel.org>
      Cc: John Stultz <john.stultz@linaro.org>
      Link: http://lkml.kernel.org/r/alpine.DEB.2.10.1409050000570.3333@nanosSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      9bf2419f
    • T
      compat: nanosleep: Clarify error handling · 849151dd
      Thomas Gleixner 提交于
      The error handling in compat_sys_nanosleep() is correct, but
      completely non obvious. Document it and restrict it to the
      -ERESTART_RESTARTBLOCK return value for clarity.
      Reported-by: NKees Cook <keescook@chromium.org>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      849151dd
    • D
      Merge branch 'amd-xgbe-net' · bc55dc63
      David S. Miller 提交于
      Tom Lendacky says:
      
      ====================
      amd-xgbe: AMD XGBE driver fixes 2014-09-05
      
      The following series of patches includes fixes to the driver.
      
      - Proper access to 64 bit management counter registers
      - Enable all management counter registers to generate an interrupt when
        the counter threshold is reached
      
      This patch series is based on net.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bc55dc63
    • L
      amd-xgbe: Enable interrupts for all management counters · a3ba7c98
      Lendacky, Thomas 提交于
      As the management counters reach a threshold they will generate an
      interrupt so the value can be saved and the counter reset. The
      current code does not enable this interrupt on all counters. This
      can result in inaccurate statistics.
      
      Update the code to enable all the counters to generate an interrupt
      when its threshold is exceeded.
      Signed-off-by: NTom Lendacky <thomas.lendacky@amd.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a3ba7c98
    • L
      amd-xgbe: Treat certain counter registers as 64 bit · 60265108
      Lendacky, Thomas 提交于
      Even if the management counters are configured to be 32 bit register
      values, the [rt]xoctetcount_gb and [rt]xoctetcount_g counters are
      always 64 bit counter registers.  Since they are not being treated as
      64 bit values, these statistics are being reported incorrectly (ifconfig,
      ethtool, etc.).
      
      Update the routines used to read the registers to access the "hi"
      register (an offset of 4 from the "lo" register) to create a 64 bit
      value for these 64 bit counters.
      Signed-off-by: NTom Lendacky <thomas.lendacky@amd.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      60265108
    • D
      greth: moved TX ring cleaning to NAPI rx poll func · e1743a16
      Daniel Hellstrom 提交于
      This patch does not affect the 10/100 GRETH MAC.
      
      Before all GBit GRETH TX descriptor ring cleaning was done in
      start_xmit(), when descriptor list became full it activated
      TX interrupt to start the NAPI rx poll function to do TX ring
      cleaning.
      
      With this patch the TX descriptor ring is always cleaned from
      the NAPI rx poll function, triggered via TX or RX interrupt.
      Otherwise we could end up in TX frames being sent but not
      reported to the stack being sent. On the 10/100 GRETH this
      is not an issue since the SKB is copied&aligned into private
      buffers so that the SKB can be freed directly on start_xmit()
      Signed-off-by: NDaniel Hellstrom <daniel@gaisler.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e1743a16
    • A
      cnic : Cleanup CONFIG_IPV6 & VLAN check · c99d667e
      Anish Bhatt 提交于
      The cnic module needs to ensure that if ipv6 support is compiled as a module,
      then the cnic module cannot be compiled as built-in as it depends on ipv6.
      Made this check cleaner via Kconfig
      
      Use simpler IS_ENABLED for CONFIG_VLAN_8021Q check
      Signed-off-by: NAnish Bhatt <anish@chelsio.com>
      Acked-by: NMichael Chan <mchan@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c99d667e
    • S
      ahci_xgene: Fix the link down in first attempt for the APM X-Gene SoC AHCI... · 0babe614
      Suman Tripathi 提交于
      ahci_xgene: Fix the link down in first attempt for the APM X-Gene SoC AHCI SATA host controller driver.
      
      Due to HW errata the APM X-Gene AHCI SATA host controller reports link
      down even if the device presence is detected. This issue is due to speed
      negotiation failure. This patch implements the algorithm to retry the
      COMRESET if PxSTAT register reports device presence detected but
      PHY communication not established. The maximum retry attempts are 3.
      
      This patch also fixes the code to match the algorithm for the printing
      a warning message if the disparity error still exists after link up.
      Signed-off-by: NLoc Ho <lho@apm.com>
      Signed-off-by: NSuman Tripathi <stripathi@apm.com>
      Signed-off-by: NTejun Heo <tj@kernel.org>
      0babe614
    • S
      ahci_xgene: Skip the PHY and clock initialization if already configured by the firmware. · 0bed13be
      Suman Tripathi 提交于
      This patch implements the feature to skip the PHY and clock
      initialization if it is already configured by the firmware.
      Signed-off-by: NLoc Ho <lho@apm.com>
      Signed-off-by: NSuman Tripathi <stripathi@apm.com>
      Signed-off-by: NTejun Heo <tj@kernel.org>
      0bed13be
    • M
      net: treewide: Fix typo found in DocBook/networking.xml · e793c0f7
      Masanari Iida 提交于
      This patch fix spelling typo found in DocBook/networking.xml.
      It is because the neworking.xml is generated from comments
      in the source, I have to fix typo in comments within the source.
      Signed-off-by: NMasanari Iida <standby24x7@gmail.com>
      Acked-by: NRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e793c0f7
    • Y
      bnx2x: Fix link problems for 1G SFP RJ45 module · 6e9e5644
      Yaniv Rosner 提交于
      When 1G SFP RJ45 module is detected, driver must reset the Tx laser
      in order to prevent link issues. As part of change, the link_attr_sync
      was relocated from vars to params.
      Signed-off-by: NYaniv Rosner <Yaniv.Rosner@qlogic.com>
      Signed-off-by: NYuval Mintz <Yuval.Mintz@qlogic.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6e9e5644
    • N
      3c59x: avoid panic in boomerang_start_xmit when finding page address: · 98ea232c
      Neil Horman 提交于
      This bug was reported on a very old kernel (RHEL6, 2.6.32-491.el6):
      
      BUG: unable to handle kernel paging request at 00800000
      IP: [<c04107b5>] nommu_map_page+0x15/0x110
      *pdpt = 000000003454f001 *pde = 000000003f03d067
      Oops: 0000 [#1] SMP
      last sysfs file: /sys/devices/system/cpu/online
      Modules linked in: nfsd lockd nfs_acl auth_rpcgss sunrpc exportfs p4_clockmod
      ipv6 ppdev parport_pc parport microcode iTCO_wdt iTCO_vendor_support 3c59x mii
      dcdbas serio_raw snd_intel8x0 snd_ac97_codec ac97_bus snd_seq snd_seq_device
      snd_pcm snd_timer snd soundcore snd_page_alloc i2c_i801 sg lpc_ich mfd_core ext4
      jbd2 mbcache sr_mod cdrom sd_mod crc_t10dif pata_acpi ata_generic ata_piix
      radeon ttm drm_kms_helper drm i2c_algo_bit i2c_core dm_mirror dm_region_hash
      dm_log dm_mod [last unloaded: mperf]
      
      Pid: 4219, comm: nfsd Not tainted 2.6.32-491.el6.i686 #1 Dell Computer
      Corporation OptiPlex GX240               /OptiPlex GX240
      EIP: 0060:[<c04107b5>] EFLAGS: 00010246 CPU: 0
      EIP is at nommu_map_page+0x15/0x110
      EAX: 00000000 EBX: c0a83480 ECX: 00000000 EDX: 00800000
      ESI: 00000000 EDI: f70e7860 EBP: e2d09b54 ESP: e2d09b24
       DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
      Process nfsd (pid: 4219, ti=e2d08000 task=e2ceaaa0 task.ti=e2d08000)
      Stack:
       00000056 00000000 0000000e c65efd38 00000020 00000296 00000206 00000206
      <0> c050c850 c0a83480 e2cef154 00000001 e2d09ba8 f8fcd585 00000510 00000001
      <0> 00000000 00000000 f5172200 f8fdac00 0039ef8c f5277020 f70e7860 00000510
      Call Trace:
       [<c050c850>] ? page_address+0xd0/0xe0
       [<f8fcd585>] ? boomerang_start_xmit+0x3b5/0x520 [3c59x]
       [<c07b2975>] ? dev_hard_start_xmit+0xe5/0x400
       [<f9182b00>] ? ip6_output_finish+0x0/0xf0 [ipv6]
       [<c07ca053>] ? sch_direct_xmit+0x113/0x180
       [<c07d5588>] ? nf_hook_slow+0x68/0x120
       [<c07b2ea5>] ? dev_queue_xmit+0x1b5/0x290
       [<f9182b6d>] ? ip6_output_finish+0x6d/0xf0 [ipv6]
       [<f9184cb8>] ? ip6_xmit+0x3e8/0x490 [ipv6]
       [<f91ab9f9>] ? inet6_csk_xmit+0x289/0x2f0 [ipv6]
       [<c07f6451>] ? tcp_transmit_skb+0x431/0x7f0
       [<c07a403f>] ? __alloc_skb+0x4f/0x140
       [<c07f85a2>] ? tcp_write_xmit+0x1c2/0xa50
       [<c07f90b1>] ? __tcp_push_pending_frames+0x31/0xe0
       [<c07ea47a>] ? tcp_sendpage+0x44a/0x4b0
       [<c07ea030>] ? tcp_sendpage+0x0/0x4b0
       [<c079be1e>] ? kernel_sendpage+0x4e/0x90
       [<f8457bb9>] ? svc_send_common+0xc9/0x120 [sunrpc]
       [<f8457c85>] ? svc_sendto+0x75/0x1f0 [sunrpc]
       [<c060d0d9>] ? _atomic_dec_and_lock+0x59/0x90
       [<f87d55d0>] ? nfs3svc_encode_readres+0x0/0xc0 [nfsd]
       [<f845876d>] ? svc_authorise+0x2d/0x40 [sunrpc]
       [<f87d4410>] ? nfs3svc_release_fhandle+0x0/0x10 [nfsd]
       [<f8455721>] ? svc_process_common+0xf1/0x5a0 [sunrpc]
       [<f8457e86>] ? svc_tcp_sendto+0x36/0xa0 [sunrpc]
       [<f8461778>] ? svc_send+0x98/0xd0 [sunrpc]
       [<f87c698c>] ? nfsd+0xac/0x140 [nfsd]
       [<c04470e0>] ? complete+0x40/0x60
       [<f87c68e0>] ? nfsd+0x0/0x140 [nfsd]
       [<c04802ac>] ? kthread+0x7c/0xa0
       [<c0480230>] ? kthread+0x0/0xa0
       [<c0409f9f>] ? kernel_thread_helper+0x7/0x10
      Code: 8d b6 00 00 00 00 eb f8 8d b4 26 00 00 00 00 8d bc 27 00 00 00 00 55 89 e5
      83 ec 30 89 75 f8 31 f6 89 7d fc 89 c7 89 c8 89 5d f4 <8b> 1a 8b 4d 08 c1 eb 19
      c1 e3 04 8b 9b c0 29 c7 c0 83 e3 fc 29
      
      But the problem seems to still exist upstream.  It seems on 32 bit kernels
      page_address() can reutrn a NULL value in some circumstances, and the
      pci_map_single api isn't prepared to handle that (on this system it results in a
      bogus pointer deference in nommu_map_page.
      
      The fix is pretty easy, if we convert the 3c59x driver to use the more
      convieient skb_frag_dma_map api we don't need to find the virtual address of the
      page at all, and page gets mapped to the hardware properly.  Verified to fix the
      problem as described by the reporter.
      
      Applies to the net tree
      
      Change Notes:
      
      v2) Converted PCI_DMA_TODEVICE to DMA_TO_DEVICE.  Thanks Dave!
      
      v3) Actually Run git commit after making changes to v2 :)
      Signed-off-by: NNeil Horman <nhorman@tuxdriver.com>
      CC: klassert@mathematik.tu-chemnitz.de
      CC: "David S. Miller" <davem@davemloft.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      98ea232c
    • P
      netfilter: add explicit Kconfig for NETFILTER_XT_NAT · 84a59ca5
      Pablo Neira Ayuso 提交于
      Paul Bolle reports that 'select NETFILTER_XT_NAT' from the IPV4 and IPV6
      NAT tables becomes noop since there is no Kconfig switch for it. Add the
      Kconfig switch to resolve this problem.
      
      Fixes: 8993cf8e netfilter: move NAT Kconfig switches out of the iptables scope
      Reported-by: NPaul Bolle <pebolle@tiscali.nl>
      Signed-off-by: NPablo Neira Ayuso <pablo@netfilter.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      84a59ca5
    • N
      ipv6: use addrconf_get_prefix_route() to remove peer addr · e7478dfc
      Nicolas Dichtel 提交于
      addrconf_get_prefix_route() ensures to get the right route in the right table.
      Signed-off-by: NNicolas Dichtel <nicolas.dichtel@6wind.com>
      Acked-by: NHannes Frederic Sowa <hannes@stressinduktion.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e7478dfc
    • N
      ipv6: fix a refcnt leak with peer addr · f24062b0
      Nicolas Dichtel 提交于
      There is no reason to take a refcnt before deleting the peer address route.
      It's done some lines below for the local prefix route because
      inet6_ifa_finish_destroy() will release it at the end.
      For the peer address route, we want to free it right now.
      
      This bug has been introduced by commit
      caeaba79 ("ipv6: add support of peer address").
      Signed-off-by: NNicolas Dichtel <nicolas.dichtel@6wind.com>
      Acked-by: NHannes Frederic Sowa <hannes@stressinduktion.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f24062b0
    • W
      net-timestamp: only report sw timestamp if reporting bit is set · c199105d
      Willem de Bruijn 提交于
      The timestamping API has separate bits for generating and reporting
      timestamps. A software timestamp should only be reported for a packet
      when the packet has the relevant generation flag (SKBTX_..) set
      and the socket has reporting bit SOF_TIMESTAMPING_SOFTWARE set.
      
      The second check was accidentally removed. Reinstitute the original
      behavior.
      
      Tested:
        Without this patch, Documentation/networking/txtimestamp reports
        timestamps regardless of whether SOF_TIMESTAMPING_SOFTWARE is set.
        After the patch, it only reports them when the flag is set.
      
      Fixes: f24b9be5 ("net-timestamp: extend SCM_TIMESTAMPING ancillary data struct")
      Signed-off-by: NWillem de Bruijn <willemb@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c199105d
    • C
      drivers/net/fddi/skfp/h/skfbi.h: Remove useless PCI_BASE_2ND macros · 4357450a
      Chen Gang 提交于
      They are use less, and may generate compiling warnings, so remove them
      (microblaze, arc, arm64, and unicore32 have already defined PCI_IOBASE).
      
      The related warnings (with allmodconfig under microblaze):
      
        CC [M]  drivers/net/fddi/skfp/skfddi.o
        In file included from drivers/net/fddi/skfp/skfddi.c:95:0:
        drivers/net/fddi/skfp/h/skfbi.h:151:0: warning: "PCI_IOBASE" redefined
         #define PCI_IOBASE 0xffffff00L  /* Bit 31..8:  I/O Base address */
         ^
        In file included from include/linux/io.h:22:0,
                         from include/linux/pci.h:31,
                         from drivers/net/fddi/skfp/skfddi.c:82:
        ./arch/microblaze/include/asm/io.h:33:0: note: this is the location of the previous definition
         #define PCI_IOBASE ((void __iomem *)_IO_BASE)
         ^
      Signed-off-by: NChen Gang <gang.chen.5i5j@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4357450a
    • G
      l2tp: fix race while getting PMTU on PPP pseudo-wire · eed4d839
      Guillaume Nault 提交于
      Use dst_entry held by sk_dst_get() to retrieve tunnel's PMTU.
      
      The dst_mtu(__sk_dst_get(tunnel->sock)) call was racy. __sk_dst_get()
      could return NULL if tunnel->sock->sk_dst_cache was reset just before the
      call, thus making dst_mtu() dereference a NULL pointer:
      
      [ 1937.661598] BUG: unable to handle kernel NULL pointer dereference at 0000000000000020
      [ 1937.664005] IP: [<ffffffffa049db88>] pppol2tp_connect+0x33d/0x41e [l2tp_ppp]
      [ 1937.664005] PGD daf0c067 PUD d9f93067 PMD 0
      [ 1937.664005] Oops: 0000 [#1] SMP
      [ 1937.664005] Modules linked in: l2tp_ppp l2tp_netlink l2tp_core ip6table_filter ip6_tables iptable_filter ip_tables ebtable_nat ebtables x_tables udp_tunnel pppoe pppox ppp_generic slhc deflate ctr twofish_generic twofish_x86_64_3way xts lrw gf128mul glue_helper twofish_x86_64 twofish_common blowfish_generic blowfish_x86_64 blowfish_common des_generic cbc xcbc rmd160 sha512_generic hmac crypto_null af_key xfrm_algo 8021q garp bridge stp llc tun atmtcp clip atm ext3 mbcache jbd iTCO_wdt coretemp kvm_intel iTCO_vendor_support kvm pcspkr evdev ehci_pci lpc_ich mfd_core i5400_edac edac_core i5k_amb shpchp button processor thermal_sys xfs crc32c_generic libcrc32c dm_mod usbhid sg hid sr_mod sd_mod cdrom crc_t10dif crct10dif_common ata_generic ahci ata_piix tg3 libahci libata uhci_hcd ptp ehci_hcd pps_core usbcore scsi_mod libphy usb_common [last unloaded: l2tp_core]
      [ 1937.664005] CPU: 0 PID: 10022 Comm: l2tpstress Tainted: G           O   3.17.0-rc1 #1
      [ 1937.664005] Hardware name: HP ProLiant DL160 G5, BIOS O12 08/22/2008
      [ 1937.664005] task: ffff8800d8fda790 ti: ffff8800c43c4000 task.ti: ffff8800c43c4000
      [ 1937.664005] RIP: 0010:[<ffffffffa049db88>]  [<ffffffffa049db88>] pppol2tp_connect+0x33d/0x41e [l2tp_ppp]
      [ 1937.664005] RSP: 0018:ffff8800c43c7de8  EFLAGS: 00010282
      [ 1937.664005] RAX: ffff8800da8a7240 RBX: ffff8800d8c64600 RCX: 000001c325a137b5
      [ 1937.664005] RDX: 8c6318c6318c6320 RSI: 000000000000010c RDI: 0000000000000000
      [ 1937.664005] RBP: ffff8800c43c7ea8 R08: 0000000000000000 R09: 0000000000000000
      [ 1937.664005] R10: ffffffffa048e2c0 R11: ffff8800d8c64600 R12: ffff8800ca7a5000
      [ 1937.664005] R13: ffff8800c439bf40 R14: 000000000000000c R15: 0000000000000009
      [ 1937.664005] FS:  00007fd7f610f700(0000) GS:ffff88011a600000(0000) knlGS:0000000000000000
      [ 1937.664005] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
      [ 1937.664005] CR2: 0000000000000020 CR3: 00000000d9d75000 CR4: 00000000000027e0
      [ 1937.664005] Stack:
      [ 1937.664005]  ffffffffa049da80 ffff8800d8fda790 000000000000005b ffff880000000009
      [ 1937.664005]  ffff8800daf3f200 0000000000000003 ffff8800c43c7e48 ffffffff81109b57
      [ 1937.664005]  ffffffff81109b0e ffffffff8114c566 0000000000000000 0000000000000000
      [ 1937.664005] Call Trace:
      [ 1937.664005]  [<ffffffffa049da80>] ? pppol2tp_connect+0x235/0x41e [l2tp_ppp]
      [ 1937.664005]  [<ffffffff81109b57>] ? might_fault+0x9e/0xa5
      [ 1937.664005]  [<ffffffff81109b0e>] ? might_fault+0x55/0xa5
      [ 1937.664005]  [<ffffffff8114c566>] ? rcu_read_unlock+0x1c/0x26
      [ 1937.664005]  [<ffffffff81309196>] SYSC_connect+0x87/0xb1
      [ 1937.664005]  [<ffffffff813e56f7>] ? sysret_check+0x1b/0x56
      [ 1937.664005]  [<ffffffff8107590d>] ? trace_hardirqs_on_caller+0x145/0x1a1
      [ 1937.664005]  [<ffffffff81213dee>] ? trace_hardirqs_on_thunk+0x3a/0x3f
      [ 1937.664005]  [<ffffffff8114c262>] ? spin_lock+0x9/0xb
      [ 1937.664005]  [<ffffffff813092b4>] SyS_connect+0x9/0xb
      [ 1937.664005]  [<ffffffff813e56d2>] system_call_fastpath+0x16/0x1b
      [ 1937.664005] Code: 10 2a 84 81 e8 65 76 bd e0 65 ff 0c 25 10 bb 00 00 4d 85 ed 74 37 48 8b 85 60 ff ff ff 48 8b 80 88 01 00 00 48 8b b8 10 02 00 00 <48> 8b 47 20 ff 50 20 85 c0 74 0f 83 e8 28 89 83 10 01 00 00 89
      [ 1937.664005] RIP  [<ffffffffa049db88>] pppol2tp_connect+0x33d/0x41e [l2tp_ppp]
      [ 1937.664005]  RSP <ffff8800c43c7de8>
      [ 1937.664005] CR2: 0000000000000020
      [ 1939.559375] ---[ end trace 82d44500f28f8708 ]---
      
      Fixes: f34c4a35 ("l2tp: take PMTU from tunnel UDP socket")
      Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
      Acked-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      eed4d839