1. 18 12月, 2014 12 次提交
  2. 08 12月, 2014 2 次提交
  3. 07 12月, 2014 2 次提交
  4. 06 12月, 2014 3 次提交
  5. 05 12月, 2014 8 次提交
  6. 04 12月, 2014 13 次提交
    • A
      context_tracking: Restore previous state in schedule_user · 7cc78f8f
      Andy Lutomirski 提交于
      It appears that some SCHEDULE_USER (asm for schedule_user) callers
      in arch/x86/kernel/entry_64.S are called from RCU kernel context,
      and schedule_user will return in RCU user context.  This causes RCU
      warnings and possible failures.
      
      This is intended to be a minimal fix suitable for 3.18.
      Reported-and-tested-by: NDave Jones <davej@redhat.com>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Frédéric Weisbecker <fweisbec@gmail.com>
      Acked-by: NPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Signed-off-by: NAndy Lutomirski <luto@amacapital.net>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      7cc78f8f
    • L
      Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · ebcd241a
      Linus Torvalds 提交于
      Pull i2c bugfixes from Wolfram Sang:
       "A few driver bugfixes for 3.18"
      
      * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: omap: fix i207 errata handling
        i2c: designware: prevent early stop on TX FIFO empty
        i2c: omap: fix NACK and Arbitration Lost irq handling
      ebcd241a
    • L
      Merge tag 'pci-v3.18-fixes-4' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 5dc62635
      Linus Torvalds 提交于
      Pull PCI fix from Bjorn Helgaas:
       "This fixes a Tegra20 regression that we introduced during the v3.18
        merge window"
      
      * tag 'pci-v3.18-fixes-4' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
        PCI: tegra: Use physical range for I/O mapping
      5dc62635
    • L
      Merge tag 'devicetree-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/glikely/linux · b48a20a5
      Linus Torvalds 提交于
      Pull devicetree bugfix from Grant Likely:
       "One more bug fix for v3.18.  I debated whether or not to send you this
        merge request because we're at such a late rc.  The bug isn't critical
        in that there is only one system known to be affected and the patch is
        easy to backport.  The codepath is used by pretty much every DT based
        system, so there is risk a of regression (it /should/ be safe, but
        I've been bitten by stuff that should be safe before).  I've had it in
        linux-next for a week and haven't received any complaints.
      
        I think it probably should just be merged right away rather than
        waiting for the merge window and backporting.  It does fix a real bug
        and the code is theoretically safer after the change.  I can't think
        of any situation where it would be dangerous to reserve the DT memory
        an extra time.
      
        Summary from tag:
      
          Single bugfix for boot failure seen in the wild.  The memory reserve
          code tries to be clever about reserving the FDT, but it should just
          go ahead and reserve it unconditionally to avoid the problem of
          partial overlap described in the patch"
      
      * tag 'devicetree-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/glikely/linux:
        of/fdt: memblock_reserve /memreserve/ regions in the case of partial overlap
      b48a20a5
    • L
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · 93bd38b3
      Linus Torvalds 提交于
      Pull block core regression fix from Jens Axboe:
       "Single fix for a regression introduced in this development cycle,
        where dm on top of dif/dix is broken.  From Darrick Wong"
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        block: fix regression where bio_integrity_process uses wrong bio_vec iterator
      93bd38b3
    • L
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 46d967ae
      Linus Torvalds 提交于
      Pull drm fixes from Dave Airlie:
       "Radeon and Nouveau fixes:
      
        So nouveau had a few regression introduced, Ben and Maarten finally
        tracked down the one that was causing problems on my MacBookPro, also
        nvidia gave some info on the an engine we were using incorrectly, so
        disable our use of it, and one regresion with pci hotplug affecting
        optimus users.
      
        Radeon has an oops fixs, sync fix, and one workaround to avoid broken
        functionality on 32-bit x86, this needs better root causing and a
        better fix, but the bandaid is a lot safer at this point"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/radeon: kernel panic in drm_calc_vbltimestamp_from_scanoutpos with 3.18.0-rc6
        drm/radeon: Ignore RADEON_GEM_GTT_WC on 32-bit x86
        drm/radeon: sync all BOs involved in a CS v2
        nouveau: move the hotplug ignore to correct place.
        drm/nouveau/gf116: remove copy1 engine
        drm/nouveau: prevent stale fence->channel pointers, and protect with rcu
        drm/nouveau/fifo/g84-: ack non-stall interrupt before handling it
      46d967ae
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 9044f940
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
      
       1) Fill in ethtool link parameters for all link types in cxgb4, from
          Hariprasad Shenai.
      
       2) Fix probe regressions in stmmac driver, from Huacai Chen.
      
       3) Network namespace leaks on errirs in rtnetlink, from Nicolas
          Dichtel.
      
       4) Remove erroneous BUG check which can actually trigger legitimately,
          in xen-netfront.  From Seth Forshee.
      
       5) Validate length of IFLA_BOND_ARP_IP_TARGET netlink attributes, from
          Thomas Grag.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
        cxgb4: Fill in supported link mode for SFP modules
        xen-netfront: Remove BUGs on paged skb data which crosses a page boundary
        sh_eth: Fix sleeping function called from invalid context
        stmmac: platform: Move plat_dat checking earlier
        sh_eth: Fix skb alloc size and alignment adjust rule.
        rtnetlink: release net refcnt on error in do_setlink()
        bond: Check length of IFLA_BOND_ARP_IP_TARGET attributes
      9044f940
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · 23c836ce
      Linus Torvalds 提交于
      Pull keyring/nfs fixes from James Morris:
       "From David Howells:
      
        The first one fixes the handling of maximum buffer size for key
        descriptions, fixing the size at 4095 + NUL char rather than whatever
        PAGE_SIZE happens to be and permits you to read back the full
        description without it getting clipped because some extra information
        got prepended.
      
        The second and third fix a bug in NFS idmapper handling whereby a key
        representing a mapping between an id and a name expires and causing
        EKEYEXPIRED to be seen internally in NFS (which prevents the mapping
        from happening) rather than re-looking up the mapping"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
        KEYS: request_key() should reget expired keys rather than give EKEYEXPIRED
        KEYS: Simplify KEYRING_SEARCH_{NO,DO}_STATE_CHECK flags
        KEYS: Fix the size of the key description passed to/from userspace
      23c836ce
    • L
      Merge branch 'akpm' (patches from Andrew Morton) · 1dd909af
      Linus Torvalds 提交于
      Merge misc fixes from Andrew Morton:
       "10 fixes"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        slab: fix nodeid bounds check for non-contiguous node IDs
        lib/genalloc.c: export devm_gen_pool_create() for modules
        mm: fix anon_vma_clone() error treatment
        mm: fix swapoff hang after page migration and fork
        fat: fix oops on corrupted vfat fs
        ipc/sem.c: fully initialize sem_array before making it visible
        drivers/input/evdev.c: don't kfree() a vmalloc address
        mm/vmpressure.c: fix race in vmpressure_work_fn()
        mm: frontswap: invalidate expired data on a dup-store failure
        mm: do not overwrite reserved pages counter at show_mem()
      1dd909af
    • P
      slab: fix nodeid bounds check for non-contiguous node IDs · 7c3fbbdd
      Paul Mackerras 提交于
      The bounds check for nodeid in ____cache_alloc_node gives false
      positives on machines where the node IDs are not contiguous, leading to
      a panic at boot time.  For example, on a POWER8 machine the node IDs are
      typically 0, 1, 16 and 17.  This means that num_online_nodes() returns
      4, so when ____cache_alloc_node is called with nodeid = 16 the VM_BUG_ON
      triggers, like this:
      
        kernel BUG at /home/paulus/kernel/kvm/mm/slab.c:3079!
        Call Trace:
          .____cache_alloc_node+0x5c/0x270 (unreliable)
          .kmem_cache_alloc_node_trace+0xdc/0x360
          .init_list+0x3c/0x128
          .kmem_cache_init+0x1dc/0x258
          .start_kernel+0x2a0/0x568
          start_here_common+0x20/0xa8
      
      To fix this, we instead compare the nodeid with MAX_NUMNODES, and
      additionally make sure it isn't negative (since nodeid is an int).  The
      check is there mainly to protect the array dereference in the get_node()
      call in the next line, and the array being dereferenced is of size
      MAX_NUMNODES.  If the nodeid is in range but invalid (for example if the
      node is off-line), the BUG_ON in the next line will catch that.
      
      Fixes: 14e50c6a ("mm: slab: Verify the nodeid passed to ____cache_alloc_node")
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      Reviewed-by: NYasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
      Reviewed-by: NPekka Enberg <penberg@kernel.org>
      Acked-by: NDavid Rientjes <rientjes@google.com>
      Cc: Christoph Lameter <cl@linux.com>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      7c3fbbdd
    • M
      lib/genalloc.c: export devm_gen_pool_create() for modules · b724aa21
      Michal Simek 提交于
      Modules can use this function for creating pool.
      Signed-off-by: NMichal Simek <michal.simek@xilinx.com>
      Acked-by: NLad, Prabhakar <prabhakar.csengg@gmail.com>
      Cc: Laura Abbott <lauraa@codeaurora.org>
      Cc: Olof Johansson <olof@lixom.net>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
      Cc: Philipp Zabel <p.zabel@pengutronix.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b724aa21
    • D
      mm: fix anon_vma_clone() error treatment · c4ea95d7
      Daniel Forrest 提交于
      Andrew Morton noticed that the error return from anon_vma_clone() was
      being dropped and replaced with -ENOMEM (which is not itself a bug
      because the only error return value from anon_vma_clone() is -ENOMEM).
      
      I did an audit of callers of anon_vma_clone() and discovered an actual
      bug where the error return was being lost.  In __split_vma(), between
      Linux 3.11 and 3.12 the code was changed so the err variable is used
      before the call to anon_vma_clone() and the default initial value of
      -ENOMEM is overwritten.  So a failure of anon_vma_clone() will return
      success since err at this point is now zero.
      
      Below is a patch which fixes this bug and also propagates the error
      return value from anon_vma_clone() in all cases.
      
      Fixes: ef0855d3 ("mm: mempolicy: turn vma_set_policy() into vma_dup_policy()")
      Signed-off-by: NDaniel Forrest <dan.forrest@ssec.wisc.edu>
      Reviewed-by: NMichal Hocko <mhocko@suse.cz>
      Cc: Konstantin Khlebnikov <koct9i@gmail.com>
      Cc: Andrea Arcangeli <aarcange@redhat.com>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Tim Hartrick <tim@edgecast.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Michel Lespinasse <walken@google.com>
      Cc: Vlastimil Babka <vbabka@suse.cz>
      Cc: <stable@vger.kernel.org>	[3.12+]
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c4ea95d7
    • H
      mm: fix swapoff hang after page migration and fork · 2022b4d1
      Hugh Dickins 提交于
      I've been seeing swapoff hangs in recent testing: it's cycling around
      trying unsuccessfully to find an mm for some remaining pages of swap.
      
      I have been exercising swap and page migration more heavily recently,
      and now notice a long-standing error in copy_one_pte(): it's trying to
      add dst_mm to swapoff's mmlist when it finds a swap entry, but is doing
      so even when it's a migration entry or an hwpoison entry.
      
      Which wouldn't matter much, except it adds dst_mm next to src_mm,
      assuming src_mm is already on the mmlist: which may not be so.  Then if
      pages are later swapped out from dst_mm, swapoff won't be able to find
      where to replace them.
      
      There's already a !non_swap_entry() test for stats: move that up before
      the swap_duplicate() and the addition to mmlist.
      Signed-off-by: NHugh Dickins <hughd@google.com>
      Cc: Kelley Nielsen <kelleynnn@gmail.com>
      Cc: <stable@vger.kernel.org>	[2.6.18+]
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2022b4d1