1. 03 10月, 2014 2 次提交
    • M
      mm: numa: Do not mark PTEs pte_numa when splitting huge pages · abc40bd2
      Mel Gorman 提交于
      This patch reverts 1ba6e0b5 ("mm: numa: split_huge_page: transfer the
      NUMA type from the pmd to the pte"). If a huge page is being split due
      a protection change and the tail will be in a PROT_NONE vma then NUMA
      hinting PTEs are temporarily created in the protected VMA.
      
       VM_RW|VM_PROTNONE
      |-----------------|
            ^
            split here
      
      In the specific case above, it should get fixed up by change_pte_range()
      but there is a window of opportunity for weirdness to happen. Similarly,
      if a huge page is shrunk and split during a protection update but before
      pmd_numa is cleared then a pte_numa can be left behind.
      
      Instead of adding complexity trying to deal with the case, this patch
      will not mark PTEs NUMA when splitting a huge page. NUMA hinting faults
      will not be triggered which is marginal in comparison to the complexity
      in dealing with the corner cases during THP split.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NMel Gorman <mgorman@suse.de>
      Acked-by: NRik van Riel <riel@redhat.com>
      Acked-by: NKirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      abc40bd2
    • M
      mm: migrate: Close race between migration completion and mprotect · d3cb8bf6
      Mel Gorman 提交于
      A migration entry is marked as write if pte_write was true at the time the
      entry was created. The VMA protections are not double checked when migration
      entries are being removed as mprotect marks write-migration-entries as
      read. It means that potentially we take a spurious fault to mark PTEs write
      again but it's straight-forward. However, there is a race between write
      migrations being marked read and migrations finishing. This potentially
      allows a PTE to be write that should have been read. Close this race by
      double checking the VMA permissions using maybe_mkwrite when migration
      completes.
      
      [torvalds@linux-foundation.org: use maybe_mkwrite]
      Cc: stable@vger.kernel.org
      Signed-off-by: NMel Gorman <mgorman@suse.de>
      Acked-by: NRik van Riel <riel@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d3cb8bf6
  2. 02 10月, 2014 8 次提交
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 50dddff3
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
      
       1) Don't halt the firmware in r8152 driver, from Hayes Wang.
      
       2) Handle full sized 802.1ad frames in bnx2 and tg3 drivers properly,
          from Vlad Yasevich.
      
       3) Don't sleep while holding tx_clean_lock in netxen driver, fix from
          Manish Chopra.
      
       4) Certain kinds of ipv6 routes can end up endlessly failing the route
          validation test, causing it to be re-looked up over and over again.
          This particularly kills input route caching in TCP sockets.  Fix
          from Hannes Frederic Sowa.
      
       5) netvsc_start_xmit() has a use-after-free access to skb->len, fix
          from K Y Srinivasan.
      
       6) Fix matching of inverted containers in ematch module, from Ignacy
          Gawędzki.
      
       7) Aggregation of GRO frames via SKB ->frag_list for linear skbs isn't
          handled properly, regression fix from Eric Dumazet.
      
       8) Don't test return value of ipv4_neigh_lookup(), which returns an
          error pointer, against NULL.  From WANG Cong.
      
       9) Fix an old regression where we mistakenly allow a double add of the
          same tunnel.  Fixes from Steffen Klassert.
      
      10) macvtap device delete and open can run in parallel and corrupt lists
          etc., fix from Vlad Yasevich.
      
      11) Fix build error with IPV6=m NETFILTER_XT_TARGET_TPROXY=y, from Pablo
          Neira Ayuso.
      
      12) rhashtable_destroy() triggers lockdep splats, fix also from Pablo.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (32 commits)
        bna: Update Maintainer Email
        r8152: disable power cut for RTL8153
        r8152: remove clearing bp
        bnx2: Correctly receive full sized 802.1ad fragmes
        tg3: Allow for recieve of full-size 8021AD frames
        r8152: fix setting RTL8152_UNPLUG
        netxen: Fix bug in Tx completion path.
        netxen: Fix BUG "sleeping function called from invalid context"
        ipv6: remove rt6i_genid
        hyperv: Fix a bug in netvsc_start_xmit()
        net: stmmac: fix stmmac_pci_probe failed when CONFIG_HAVE_CLK is selected
        ematch: Fix matching of inverted containers.
        gro: fix aggregation for skb using frag_list
        neigh: check error pointer instead of NULL for ipv4_neigh_lookup()
        ip6_gre: Return an error when adding an existing tunnel.
        ip6_vti: Return an error when adding an existing tunnel.
        ip6_tunnel: Return an error when adding an existing tunnel.
        ip6gre: add a rtnl link alias for ip6gretap
        net/mlx4_core: Allow not to specify probe_vf in SRIOV IB mode
        r8152: fix the carrier off when autoresuming
        ...
      50dddff3
    • R
      bna: Update Maintainer Email · 439e9575
      Rasesh Mody 提交于
      Update the maintainer email for BNA driver.
      Signed-off-by: NRasesh Mody <rasesh.mody@qlogic.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      439e9575
    • D
      Merge branch 'r8152' · 07544764
      David S. Miller 提交于
      Hayes Wang says:
      
      ====================
      r8152: patches about firmware
      
      The patches fix the issues when the firmware exists.
      
      For the multiple OS, the firmware may be loaded by the
      driver of the other OS. And the Linux driver has influences
      on it.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      07544764
    • H
      r8152: disable power cut for RTL8153 · 49be1723
      hayeswang 提交于
      The firmware would be clear when the power cut is enabled for
      RTL8153.
      Signed-off-by: NHayes Wang <hayeswang@realtek.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      49be1723
    • H
      r8152: remove clearing bp · 204c8704
      hayeswang 提交于
      The xxx_clear_bp() is used to halt the firmware. It only necessary
      for updating the new firmware. Besides, depend on the version of
      the current firmware, it may have problem to halt the firmware
      directly. Finally, halt the firmware would let the firmware code
      useless, and the bugs which are fixed by the firmware would occur.
      Signed-off-by: NHayes Wang <hayeswang@realtek.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      204c8704
    • V
      bnx2: Correctly receive full sized 802.1ad fragmes · 1b0ecb28
      Vlad Yasevich 提交于
      This driver, similar to tg3, has a check that will
      cause full sized 802.1ad frames to be dropped.  The
      frame will be larger then the standard mtu due to the
      presense of vlan header that has not been stripped.
      The driver should not drop this frame and should process
      it just like it does for 802.1q.
      
      CC: Sony Chacko <sony.chacko@qlogic.com>
      CC: Dept-HSGLinuxNICDev@qlogic.com
      Signed-off-by: NVladislav Yasevich <vyasevic@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1b0ecb28
    • V
      tg3: Allow for recieve of full-size 8021AD frames · 7d3083ee
      Vlad Yasevich 提交于
      When receiving a vlan-tagged frame that still contains
      a vlan header, the length of the packet will be greater
      then MTU+ETH_HLEN since it will account of the extra
      vlan header.  TG3 checks this for the case for 802.1Q,
      but not for 802.1ad.  As a result, full sized 802.1ad
      frames get dropped by the card.
      
      Add a check for 802.1ad protocol when receving full
      sized frames.
      Suggested-by: NPrashant Sreedharan <prashant@broadcom.com>
      CC: Prashant Sreedharan <prashant@broadcom.com>
      CC: Michael Chan <mchan@broadcom.com>
      Signed-off-by: NVladislav Yasevich <vyasevic@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7d3083ee
    • L
      Merge branch 'for-3.17' of git://linux-nfs.org/~bfields/linux · a44f8672
      Linus Torvalds 提交于
      Pull nfsd bugfix from Bruce Fields:
       "This fixes a data corruption bug introduced by the v3.16 xdr encoding
        rewrite.  I haven't managed to reproduce it myself yet, but it's
        apparently not hard to hit given the right workload"
      
      * 'for-3.17' of git://linux-nfs.org/~bfields/linux:
        nfsd4: fix corruption of NFSv4 read data
      a44f8672
  3. 01 10月, 2014 7 次提交
    • L
      Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm · aad7fb91
      Linus Torvalds 提交于
      Pull ARM fixes from Russell King:
       "Some further ARM fixes:
         - another build fix for the kprobes test code
         - a fix for no kuser helpers for the set_tls code, which oopsed on
           noMMU hardware
         - a fix for alignment handler with neon opcodes being misinterpreted
         - turning off the hardware access support, which is not implemented
         - a build fix for the v7 coherency exiting code, which can be built
           in non-v7 environments (but still only executed on v7 CPUs)"
      
      * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
        ARM: 8179/1: kprobes-test: Fix compile error "bad immediate value for offset"
        ARM: 8178/1: fix set_tls for !CONFIG_KUSER_HELPERS
        ARM: 8177/1: cacheflush: Fix v7_exit_coherency_flush exynos build breakage on ARMv6
        ARM: 8165/1: alignment: don't break misaligned NEON load/store
        ARM: 8164/1: mm: clear SCTLR.HA instead of setting it for LPAE
      aad7fb91
    • H
      r8152: fix setting RTL8152_UNPLUG · f561de33
      hayeswang 提交于
      The flag of RTL8152_UNPLUG should only be set when the device is
      unplugged, not each time the rtl8152_disconnect() is called.
      Otherwise, the device wouldn't be stopped normally.
      Signed-off-by: NHayes Wang <hayeswang@realtek.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f561de33
    • D
      Merge branch 'netxen' · 37b9a267
      David S. Miller 提交于
      Manish Chopra says:
      
      ====================
      netxen: Bug fixes.
      
      This series fixes some TX specific issues.
      * Move spin_lock(tx_clean_lock) in down path to fix
        atomic sleep bug (Reported by Mike Galbraith).
      * Fix hang in interface down while running traffic.
      
      Please consider applying this to 'net'.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      37b9a267
    • M
      netxen: Fix bug in Tx completion path. · 9295f940
      Manish Chopra 提交于
      o Driver is not updating sw_consumer while processing Tx completion
        when interface is going down. Due to this interface down path gets
        stuck forever waiting for NAPI to complete.
      Signed-off-by: NManish Chopra <manish.chopra@qlogic.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9295f940
    • M
      netxen: Fix BUG "sleeping function called from invalid context" · 0d368820
      Manish Chopra 提交于
      o __netxen_nic_down() function might sleep while holding spinlock_t(tx_clean_lock).
        Acquire this lock for only releasing TX buffers instead of taking it
        for whole down path.
      Reported-by: NMike Galbraith <umgwanakikbuti@gmail.com>
      Signed-off-by: NManish Chopra <manish.chopra@qlogic.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0d368820
    • J
      nfsd4: fix corruption of NFSv4 read data · 15b23ef5
      J. Bruce Fields 提交于
      The calculation of page_ptr here is wrong in the case the read doesn't
      start at an offset that is a multiple of a page.
      
      The result is that nfs4svc_encode_compoundres sets rq_next_page to a
      value one too small, and then the loop in svc_free_res_pages may
      incorrectly fail to clear a page pointer in rq_respages[].
      
      Pages left in rq_respages[] are available for the next rpc request to
      use, so xdr data may be written to that page, which may hold data still
      waiting to be transmitted to the client or data in the page cache.
      
      The observed result was silent data corruption seen on an NFSv4 client.
      
      We tag this as "fixing" 05638dc7 because that commit exposed this
      bug, though the incorrect calculation predates it.
      
      Particular thanks to Andrea Arcangeli and David Gilbert for analysis and
      testing.
      
      Fixes: 05638dc7 "nfsd4: simplify server xdr->next_page use"
      Cc: stable@vger.kernel.org
      Reported-by: NAndrea Arcangeli <aarcange@redhat.com>
      Tested-by: N"Dr. David Alan Gilbert" <dgilbert@redhat.com>
      Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
      15b23ef5
    • H
      ipv6: remove rt6i_genid · 705f1c86
      Hannes Frederic Sowa 提交于
      Eric Dumazet noticed that all no-nonexthop or no-gateway routes which
      are already marked DST_HOST (e.g. input routes routes) will always be
      invalidated during sk_dst_check. Thus per-socket dst caching absolutely
      had no effect and early demuxing had no effect.
      
      Thus this patch removes rt6i_genid: fn_sernum already gets modified during
      add operations, so we only must ensure we mutate fn_sernum during ipv6
      address remove operations. This is a fairly cost extensive operations,
      but address removal should not happen that often. Also our mtu update
      functions do the same and we heard no complains so far. xfrm policy
      changes also cause a call into fib6_flush_trees. Also plug a hole in
      rt6_info (no cacheline changes).
      
      I verified via tracing that this change has effect.
      
      Cc: Eric Dumazet <eric.dumazet@gmail.com>
      Cc: YOSHIFUJI Hideaki <hideaki@yoshifuji.org>
      Cc: Vlad Yasevich <vyasevich@gmail.com>
      Cc: Nicolas Dichtel <nicolas.dichtel@6wind.com>
      Cc: Martin Lau <kafai@fb.com>
      Signed-off-by: NHannes Frederic Sowa <hannes@stressinduktion.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      705f1c86
  4. 30 9月, 2014 7 次提交
  5. 29 9月, 2014 7 次提交
  6. 28 9月, 2014 7 次提交
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 1e3827bf
      Linus Torvalds 提交于
      Pull vfs fixes from Al Viro:
       "Assorted fixes + unifying __d_move() and __d_materialise_dentry() +
        minimal regression fix for d_path() of victims of overwriting rename()
        ported on top of that"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        vfs: Don't exchange "short" filenames unconditionally.
        fold swapping ->d_name.hash into switch_names()
        fold unlocking the children into dentry_unlock_parents_for_move()
        kill __d_materialise_dentry()
        __d_materialise_dentry(): flip the order of arguments
        __d_move(): fold manipulations with ->d_child/->d_subdirs
        don't open-code d_rehash() in d_materialise_unique()
        pull rehashing and unlocking the target dentry into __d_materialise_dentry()
        ufs: deal with nfsd/iget races
        fuse: honour max_read and max_write in direct_io mode
        shmem: fix nlink for rename overwrite directory
      1e3827bf
    • L
      Merge branch 'for-3.17-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 6111da34
      Linus Torvalds 提交于
      Pull cgroup fixes from Tejun Heo:
       "This is quite late but these need to be backported anyway.
      
        This is the fix for a long-standing cpuset bug which existed from
        2009.  cpuset makes use of PF_SPREAD_{PAGE|SLAB} flags to modify the
        task's memory allocation behavior according to the settings of the
        cpuset it belongs to; unfortunately, when those flags have to be
        changed, cpuset did so directly even whlie the target task is running,
        which is obviously racy as task->flags may be modified by the task
        itself at any time.  This obscure bug manifested as corrupt
        PF_USED_MATH flag leading to a weird crash.
      
        The bug is fixed by moving the flag to task->atomic_flags.  The first
        two are prepatory ones to help defining atomic_flags accessors and the
        third one is the actual fix"
      
      * 'for-3.17-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cpuset: PF_SPREAD_PAGE and PF_SPREAD_SLAB should be atomic flags
        sched: add macros to define bitops for task atomic flags
        sched: fix confusing PFA_NO_NEW_PRIVS constant
      6111da34
    • L
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 83692898
      Linus Torvalds 提交于
      Pull ARM SoC fixes from Olof Johansson:
       "Here's our last set of fixes for 3.17.  Most of these are for TI
        platforms, fixing some noisy Kconfig issues, runtime clock and power
        issues on several platforms and NAND timings on DRA7.
      
        There are also a couple of bug fixes for i.MX, one for QCOM and a
       small fix to avoid section mismatch noise on PXA.
      
        Diffstat looks large, partially due to some tables being updated and
        thus touching many lines.  The qcom gsbi change also restructures
        clock management a bit and thus touches a bunch of lines.
      
        All in all, a bit more changes than we'd like at this point, but
        nothing stands out as risky either so it seems like the right thing to
        send it up now instead of holding it to the merge window"
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        drivers/soc: qcom: do not disable the iface clock in probe
        ARM: imx: fix .is_enabled() of shared gate clock
        ARM: OMAP3: Fix I/O chain clock line assertion timed out error
        ARM: keystone: dts: fix bindings for pcie and usb clock nodes
        bus: omap_l3_noc: Fix connID for OMAP4
        ARM: DT: imx53: fix lvds channel 1 port
        ARM: dts: cm-t54: fix serial console power supply.
        ARM: dts: dra7-evm: Fix NAND GPMC timings
        ARM: pxa: fix section mismatch warning for pxa_timer_nodt_init
        ARM: OMAP: Fix Kconfig warning for omap1
      83692898
    • L
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · 74807afd
      Linus Torvalds 提交于
      Pull MIPS fixes from Ralf Baechle:
       "The final round of fixes.  One corner case in the math emulator and
        another one in the mcount function for ftrace"
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
        MIPS: mcount: Adjust stack pointer for static trace in MIPS32
        MIPS: Fix MFC1 & MFHC1 emulation for 64-bit MIPS systems
      74807afd
    • L
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · cd40fab6
      Linus Torvalds 提交于
      Pull x86 fixes from Ingo Molnar:
       "This has:
      
         - EFI revert to fix a boot regression
         - early_ioremap() fix for boot failure
         - KASLR fix for possible boot failures
         - EFI fix for corrupted string printing
         - remove a misleading EFI bootup 'failed!' error message
      
        Unfortunately it's all rather close to the merge window"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/efi: Truncate 64-bit values when calling 32-bit OutputString()
        x86/efi: Delete misleading efi_printk() error message
        Revert "efi/x86: efistub: Move shared dependencies to <asm/efi.h>"
        x86/kaslr: Avoid the setup_data area when picking location
        x86 early_ioremap: Increase FIX_BTMAPS_SLOTS to 8
      cd40fab6
    • M
      vfs: Don't exchange "short" filenames unconditionally. · d2fa4a84
      Mikhail Efremov 提交于
      Only exchange source and destination filenames
      if flags contain RENAME_EXCHANGE.
      In case if executable file was running and replaced by
      other file /proc/PID/exe should still show correct file name,
      not the old name of the file by which it was replaced.
      
      The scenario when this bug manifests itself was like this:
      * ALT Linux uses rpm and start-stop-daemon;
      * during a package upgrade rpm creates a temporary file
        for an executable to rename it upon successful unpacking;
      * start-stop-daemon is run subsequently and it obtains
        the (nonexistant) temporary filename via /proc/PID/exe
        thus failing to identify the running process.
      
      Note that "long" filenames (> DNAiME_INLINE_LEN) are still
      exchanged without RENAME_EXCHANGE and this behaviour exists
      long enough (should be fixed too apparently).
      So this patch is just an interim workaround that restores
      behavior for "short" names as it was before changes
      introduced by commit da1ce067 ("vfs: add cross-rename").
      
      See https://lkml.org/lkml/2014/9/7/6 for details.
      
      AV: the comments about being more careful with ->d_name.hash
      than with ->d_name.name are from back in 2.3.40s; they
      became obsolete by 2.3.60s, when we started to unhash the
      target instead of swapping hash chain positions followed
      by d_delete() as we used to do when dcache was first
      introduced.
      Acked-by: NMiklos Szeredi <mszeredi@suse.cz>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: linux-fsdevel@vger.kernel.org
      Cc: stable@vger.kernel.org
      Fixes: da1ce067 "vfs: add cross-rename"
      Signed-off-by: NMikhail Efremov <sem@altlinux.org>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      d2fa4a84
    • L
      fold swapping ->d_name.hash into switch_names() · a28ddb87
      Linus Torvalds 提交于
      and do it along with ->d_name.len there
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      a28ddb87
  7. 27 9月, 2014 2 次提交