1. 26 Dec, 2013 2 commits
  2. 22 Dec, 2013 7 commits
    • Linus Torvalds's avatar
      Linux 3.13-rc5 · 413541dd
      Linus Torvalds authored
      413541dd
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 93579aee
      Linus Torvalds authored
      Pull ARM SoC fixes from Olof Johansson:
       "Much smaller batch of fixes this week.
      
        Biggest one is a revert of an OMAP display change that removed some
        non-DT pinmux code that was still needed for 3.13 to get DSI displays
        to work.
      
        There's also a fix that resolves some misdescribed GPIO controller
        resources on shmobile.  The rest are mostly smaller fixes, a couple of
        MAINTAINERS updates, etc"
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        Revert "ARM: OMAP2+: Remove legacy mux code for display.c"
        MAINTAINERS: Add keystone clock drivers
        MAINTAINERS: Add keystone git tree information
        ARM: s3c64xx: dt: Fix boot failure due to double clock initialization
        ARM: shmobile: r8a7790: Fix GPIO resources in DTS
        irqchip: renesas-intc-irqpin: Fix register bitfield shift calculation
        ARM: shmobile: lager: phy fixup needs CONFIG_PHYLIB
      93579aee
    • Linus Torvalds's avatar
      Merge tag 'firewire-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394 · ba8b844f
      Linus Torvalds authored
      Pull firewire fixlet from Stefan Richter:
       "A one-liner to reenable WRITE SAME over SBP-2 like in v3.8...v3.12.
        Buggy targets which could malfunction when being subjected to this
        command are already sufficiently protected by a scsi_level check in sd
        + SCSI core"
      
      * tag 'firewire-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394:
        firewire: sbp2: bring back WRITE SAME support
      ba8b844f
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · 1733348b
      Linus Torvalds authored
      Pull SCSI target fixes from Nicholas Bellinger:
       "Mostly minor items this time around, the most notable being a FILEIO
        backend change to enforce hw_max_sectors based upon the current
        block_size to address a bug where large sized I/Os (> 1M) where being
        rejected"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
        qla2xxx: Fix scsi_host leak on qlt_lport_register callback failure
        target: Remove extra percpu_ref_init
        target/file: Update hw_max_sectors based on current block_size
        iser-target: Move INIT_WORK setup into isert_create_device_ib_res
        iscsi-target: Fix incorrect np->np_thread NULL assignment
        qla2xxx: Fix schedule_delayed_work() for target timeout calculations
        iser-target: fix error return code in isert_create_device_ib_res()
        iscsi-target: Fix-up all zero data-length CDBs with R/W_BIT set
        target: Remove write-only stats fields and lock from struct se_node_acl
        iscsi-target: return -EINVAL on oversized configfs parameter
      1733348b
    • Linus Torvalds's avatar
      Merge git://git.kvack.org/~bcrl/aio-next · a8472b4b
      Linus Torvalds authored
      Pull AIO leak fixes from Ben LaHaise:
       "I've put these two patches plus Linus's change through a round of
        tests, and it passes millions of iterations of the aio numa
        migratepage test, as well as a number of repetitions of a few simple
        read and write tests.
      
        The first patch fixes the memory leak Kent introduced, while the
        second patch makes aio_migratepage() much more paranoid and robust"
      
      * git://git.kvack.org/~bcrl/aio-next:
        aio/migratepages: make aio migrate pages sane
        aio: fix kioctx leak introduced by "aio: Fix a trinity splat"
      a8472b4b
    • Linus Torvalds's avatar
      aio: clean up and fix aio_setup_ring page mapping · 3dc9acb6
      Linus Torvalds authored
      Since commit 36bc08cc ("fs/aio: Add support to aio ring pages
      migration") the aio ring setup code has used a special per-ring backing
      inode for the page allocations, rather than just using random anonymous
      pages.
      
      However, rather than remembering the pages as it allocated them, it
      would allocate the pages, insert them into the file mapping (dirty, so
      that they couldn't be free'd), and then forget about them.  And then to
      look them up again, it would mmap the mapping, and then use
      "get_user_pages()" to get back an array of the pages we just created.
      
      Now, not only is that incredibly inefficient, it also leaked all the
      pages if the mmap failed (which could happen due to excessive number of
      mappings, for example).
      
      So clean it all up, making it much more straightforward.  Also remove
      some left-overs of the previous (broken) mm_populate() usage that was
      removed in commit d6c355c7 ("aio: fix race in ring buffer page
      lookup introduced by page migration support") but left the pointless and
      now misleading MAP_POPULATE flag around.
      Tested-and-acked-by: default avatarBenjamin LaHaise <bcrl@kvack.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3dc9acb6
    • Jacob Pan's avatar
      powercap / RAPL: add support for ValleyView Soc · ed93b714
      Jacob Pan authored
      This patch adds support for RAPL on Intel ValleyView based SoC
      platforms, such as Baytrail.
      
      Besides adding CPU ID, special energy unit encoding is handled
      for ValleyView.
      Signed-off-by: default avatarJacob Pan <jacob.jun.pan@linux.intel.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      ed93b714
  3. 21 Dec, 2013 6 commits
    • Masami Ichikawa's avatar
      PM / sleep: Fix memory leak in pm_vt_switch_unregister(). · c6068504
      Masami Ichikawa authored
      kmemleak reported a memory leak as below.
      
      unreferenced object 0xffff880118f14700 (size 32):
        comm "swapper/0", pid 1, jiffies 4294877401 (age 123.283s)
        hex dump (first 32 bytes):
          00 01 10 00 00 00 ad de 00 02 20 00 00 00 ad de  .......... .....
          00 d4 d2 18 01 88 ff ff 01 00 00 00 00 04 00 00  ................
        backtrace:
          [<ffffffff814edb1e>] kmemleak_alloc+0x4e/0xb0
          [<ffffffff811889dc>] kmem_cache_alloc_trace+0x1ec/0x260
          [<ffffffff810aba66>] pm_vt_switch_required+0x76/0xb0
          [<ffffffff812f39f5>] register_framebuffer+0x195/0x320
          [<ffffffff8130af18>] efifb_probe+0x718/0x780
          [<ffffffff81391495>] platform_drv_probe+0x45/0xb0
          [<ffffffff8138f407>] driver_probe_device+0x87/0x3a0
          [<ffffffff8138f7f3>] __driver_attach+0x93/0xa0
          [<ffffffff8138d413>] bus_for_each_dev+0x63/0xa0
          [<ffffffff8138ee5e>] driver_attach+0x1e/0x20
          [<ffffffff8138ea40>] bus_add_driver+0x180/0x250
          [<ffffffff8138fe74>] driver_register+0x64/0xf0
          [<ffffffff813913ba>] __platform_driver_register+0x4a/0x50
          [<ffffffff8191e028>] efifb_driver_init+0x12/0x14
          [<ffffffff8100214a>] do_one_initcall+0xfa/0x1b0
          [<ffffffff818e40e0>] kernel_init_freeable+0x17b/0x201
      
      In pm_vt_switch_required(), "entry" variable is allocated via kmalloc().
      So, in pm_vt_switch_unregister(), it needs to call kfree() when object
      is deleted from list.
      Signed-off-by: default avatarMasami Ichikawa <masami256@gmail.com>
      Reviewed-by: default avatarPavel Machek <pavel@ucw.cz>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      c6068504
    • Jason Baron's avatar
      cpufreq: Use CONFIG_CPU_FREQ_DEFAULT_* to set initial policy for setpolicy drivers · a27a9ab7
      Jason Baron authored
      When configuring a default governor (via CONFIG_CPU_FREQ_DEFAULT_*) with the
      intel_pstate driver, the desired default policy is not properly set. For
      example, setting 'CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE' ends up with the
      'powersave' policy being set.
      
      Fix by configuring the correct default policy, if either 'powersave' or
      'performance' are requested. Otherwise, fallback to what the driver originally
      set via its 'init' routine.
      Signed-off-by: default avatarJason Baron <jbaron@akamai.com>
      Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      a27a9ab7
    • Viresh Kumar's avatar
      cpufreq: remove sysfs files for CPUs which failed to come back after resume · 42f921a6
      Viresh Kumar authored
      There are cases where cpufreq_add_dev() may fail for some CPUs
      during system resume. With the current code we will still have
      sysfs cpufreq files for those CPUs and struct cpufreq_policy
      would be already freed for them. Hence any operation on those
      sysfs files would result in kernel warnings.
      
      Example of problems resulting from resume errors (from Bjørn Mork):
      
      WARNING: CPU: 0 PID: 6055 at fs/sysfs/file.c:343 sysfs_open_file+0x77/0x212()
      missing sysfs attribute operations for kobject: (null)
      Modules linked in: [stripped as irrelevant]
      CPU: 0 PID: 6055 Comm: grep Tainted: G      D      3.13.0-rc2 #153
      Hardware name: LENOVO 2776LEG/2776LEG, BIOS 6EET55WW (3.15 ) 12/19/2011
       0000000000000009 ffff8802327ebb78 ffffffff81380b0e 0000000000000006
       ffff8802327ebbc8 ffff8802327ebbb8 ffffffff81038635 0000000000000000
       ffffffff811823c7 ffff88021a19e688 ffff88021a19e688 ffff8802302f9310
      Call Trace:
       [<ffffffff81380b0e>] dump_stack+0x55/0x76
       [<ffffffff81038635>] warn_slowpath_common+0x7c/0x96
       [<ffffffff811823c7>] ? sysfs_open_file+0x77/0x212
       [<ffffffff810386e3>] warn_slowpath_fmt+0x41/0x43
       [<ffffffff81182dec>] ? sysfs_get_active+0x6b/0x82
       [<ffffffff81182382>] ? sysfs_open_file+0x32/0x212
       [<ffffffff811823c7>] sysfs_open_file+0x77/0x212
       [<ffffffff81182350>] ? sysfs_schedule_callback+0x1ac/0x1ac
       [<ffffffff81122562>] do_dentry_open+0x17c/0x257
       [<ffffffff8112267e>] finish_open+0x41/0x4f
       [<ffffffff81130225>] do_last+0x80c/0x9ba
       [<ffffffff8112dbbd>] ? inode_permission+0x40/0x42
       [<ffffffff81130606>] path_openat+0x233/0x4a1
       [<ffffffff81130b7e>] do_filp_open+0x35/0x85
       [<ffffffff8113b787>] ? __alloc_fd+0x172/0x184
       [<ffffffff811232ea>] do_sys_open+0x6b/0xfa
       [<ffffffff811233a7>] SyS_openat+0xf/0x11
       [<ffffffff8138c812>] system_call_fastpath+0x16/0x1b
      
      To fix this, remove those sysfs files or put the associated kobject
      in case of such errors. Also, to make it simple, remove the cpufreq
      sysfs links from all the CPUs (except for the policy->cpu) during
      suspend, as that operation won't result in a loss of sysfs file
      permissions and we can create those links during resume just fine.
      
      Fixes: 5302c3fb ("cpufreq: Perform light-weight init/teardown during suspend/resume")
      Reported-and-tested-by: default avatarBjørn Mork <bjorn@mork.no>
      Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Cc: 3.12+ <stable@vger.kernel.org> # 3.12+
      [rjw: Changelog]
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      42f921a6
    • Benjamin LaHaise's avatar
      aio/migratepages: make aio migrate pages sane · 8e321fef
      Benjamin LaHaise authored
      The arbitrary restriction on page counts offered by the core
      migrate_page_move_mapping() code results in rather suspicious looking
      fiddling with page reference counts in the aio_migratepage() operation.
      To fix this, make migrate_page_move_mapping() take an extra_count parameter
      that allows aio to tell the code about its own reference count on the page
      being migrated.
      
      While cleaning up aio_migratepage(), make it validate that the old page
      being passed in is actually what aio_migratepage() expects to prevent
      misbehaviour in the case of races.
      Signed-off-by: default avatarBenjamin LaHaise <bcrl@kvack.org>
      8e321fef
    • Benjamin LaHaise's avatar
      aio: fix kioctx leak introduced by "aio: Fix a trinity splat" · 1881686f
      Benjamin LaHaise authored
      e34ecee2 reworked the percpu reference
      counting to correct a bug trinity found.  Unfortunately, the change lead
      to kioctxes being leaked because there was no final reference count to
      put.  Add that reference count back in to fix things.
      Signed-off-by: default avatarBenjamin LaHaise <bcrl@kvack.org>
      Cc: stable@vger.kernel.org
      1881686f
    • Linus Torvalds's avatar
      Don't set the INITRD_COMPRESS environment variable automatically · b7000ade
      Linus Torvalds authored
      Commit 1bf49dd4 ("./Makefile: export initial ramdisk compression
      config option") started setting the INITRD_COMPRESS environment variable
      depending on which decompression models the kernel had available.
      
      That is completely broken.
      
      For example, we by default have CONFIG_RD_LZ4 enabled, and are able to
      decompress such an initrd, but the user tools to *create* such an initrd
      may not be availble.  So trying to tell dracut to generate an
      lz4-compressed image just because we can decode such an image is
      completely inappropriate.
      
      Cc: J P <ppandit@redhat.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Jan Beulich <JBeulich@suse.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b7000ade
  4. 20 Dec, 2013 16 commits
    • Linus Torvalds's avatar
      Merge tag 'xfs-for-linus-v3.13-rc5' of git://oss.sgi.com/xfs/xfs · a6ddeee3
      Linus Torvalds authored
      Pull xfs bugfixes from Ben Myers:
       "This contains fixes for some asserts
         related to project quotas, a memory leak, a hang when disabling group or
         project quotas before disabling user quotas, Dave's email address, several
         fixes for the alignment of file allocation to stripe unit/width geometry, a
         fix for an assertion with xfs_zero_remaining_bytes, and the behavior of
         metadata writeback in the face of IO errors.
      
         Details:
         - fix memory leak in xfs_dir2_node_removename
         - fix quota assertion in xfs_setattr_size
         - fix quota assertions in xfs_qm_vop_create_dqattach
         - fix for hang when disabling group and project quotas before
           disabling user quotas
         - fix Dave Chinner's email address in MAINTAINERS
         - fix for file allocation alignment
         - fix for assertion in xfs_buf_stale by removing xfsbdstrat
         - fix for alignment with swalloc mount option
         - fix for "retry forever" semantics on IO errors"
      
      * tag 'xfs-for-linus-v3.13-rc5' of git://oss.sgi.com/xfs/xfs:
        xfs: abort metadata writeback on permanent errors
        xfs: swalloc doesn't align allocations properly
        xfs: remove xfsbdstrat error
        xfs: align initial file allocations correctly
        MAINTAINERS: fix incorrect mail address of XFS maintainer
        xfs: fix infinite loop by detaching the group/project hints from user dquot
        xfs: fix assertion failure at xfs_setattr_nonsize
        xfs: fix false assertion at xfs_qm_vop_create_dqattach
        xfs: fix memory leak in xfs_dir2_node_removename
      a6ddeee3
    • Olof Johansson's avatar
      mm: fix build of split ptlock code · 40b64acd
      Olof Johansson authored
      Commit 597d795a ('mm: do not allocate page->ptl dynamically, if
      spinlock_t fits to long') restructures some allocators that are compiled
      even if USE_SPLIT_PTLOCKS arn't used.  It results in compilation
      failure:
      
        mm/memory.c:4282:6: error: 'struct page' has no member named 'ptl'
        mm/memory.c:4288:12: error: 'struct page' has no member named 'ptl'
      
      Add in the missing ifdef.
      
      Fixes: 597d795a ('mm: do not allocate page->ptl dynamically, if spinlock_t fits to long')
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Cc: Hugh Dickins <hughd@google.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      40b64acd
    • Linus Torvalds's avatar
      Merge tag 'arc-fixes-for-3.13-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc · 4773ef22
      Linus Torvalds authored
      Pull ARC fix from Vineet Gupta:
       "Fix busted syscall table due to unistd header inclusion issue"
      
      * tag 'arc-fixes-for-3.13-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
        ARC: Allow conditional multiple inclusion of uapi/asm/unistd.h
      4773ef22
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · a81ce79b
      Linus Torvalds authored
      Pull arm64 ptrace fix from Catalin Marinas.
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: ptrace: avoid using HW_BREAKPOINT_EMPTY for disabled events
      a81ce79b
    • Luck, Tony's avatar
      pstore: Don't allow high traffic options on fragile devices · df36ac1b
      Luck, Tony authored
      Some pstore backing devices use on board flash as persistent
      storage. These have limited numbers of write cycles so it
      is a poor idea to use them from high frequency operations.
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      df36ac1b
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-fixes-3.13-rc4' of... · eaadcfeb
      Linus Torvalds authored
      Merge tag 'dmaengine-fixes-3.13-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/dmaengine
      
      Pull dmaengine fixes from Dan Williams:
      
       - deprecation of net_dma to be removed in 3.14
      
       - crash regression fix in pl330 from the dmaengine_unmap rework
      
       - crash regression fix for any channel running raid ops without
         CONFIG_ASYNC_TX_DMA from dmaengine_unmap
      
       - memory leak regression in mv_xor from dmaengine_unmap
      
       - build warning regressions in mv_xor, fsldma, ppc4xx, txx9, and
         at_hdmac from dmaengine_unmap
      
       - sleep in atomic regression in dma_async_memcpy_pg_to_pg
      
       - new fix in mv_xor for handling channel initialization failures
      
      * tag 'dmaengine-fixes-3.13-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/dmaengine:
        net_dma: mark broken
        dma: pl330: ensure DMA descriptors are zero-initialised
        dmaengine: fix sleep in atomic
        dmaengine: mv_xor: fix oops when channels fail to initialise
        dma: mv_xor: Use dmaengine_unmap_data for the self-tests
        dmaengine: fix enable for high order unmap pools
        dma: fix build warnings in txx9
        dmatest: fix build warning on mips
        dma: fix fsldma build warnings
        dma: fix build warnings in ppc4xx
        dmaengine: at_hdmac: remove unused function
        dma: mv_xor: remove mv_desc_get_dest_addr()
      eaadcfeb
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 46dd0835
      Linus Torvalds authored
      Pull KVM fixes from Paolo Bonzini:
       "The PPC folks had a large amount of changes queued for 3.13, and now
        they are fixing the bugs"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: PPC: Book3S HV: Don't drop low-order page address bits
        powerpc: book3s: kvm: Don't abuse host r2 in exit path
        powerpc/kvm/booke: Fix build break due to stack frame size warning
        KVM: PPC: Book3S: PR: Enable interrupts earlier
        KVM: PPC: Book3S: PR: Make svcpu -> vcpu store preempt savvy
        KVM: PPC: Book3S: PR: Export kvmppc_copy_to|from_svcpu
        KVM: PPC: Book3S: PR: Don't clobber our exit handler id
        powerpc: kvm: fix rare but potential deadlock scene
        KVM: PPC: Book3S HV: Take SRCU read lock around kvm_read_guest() call
        KVM: PPC: Book3S HV: Make tbacct_lock irq-safe
        KVM: PPC: Book3S HV: Refine barriers in guest entry/exit
        KVM: PPC: Book3S HV: Fix physical address calculations
      46dd0835
    • Kirill A. Shutemov's avatar
      mm: do not allocate page->ptl dynamically, if spinlock_t fits to long · 597d795a
      Kirill A. Shutemov authored
      In struct page we have enough space to fit long-size page->ptl there,
      but we use dynamically-allocated page->ptl if size(spinlock_t) is larger
      than sizeof(int).
      
      It hurts 64-bit architectures with CONFIG_GENERIC_LOCKBREAK, where
      sizeof(spinlock_t) == 8, but it easily fits into struct page.
      Signed-off-by: default avatarKirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Acked-by: default avatarHugh Dickins <hughd@google.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      597d795a
    • Johannes Weiner's avatar
      mm: page_alloc: revert NUMA aspect of fair allocation policy · fff4068c
      Johannes Weiner authored
      Commit 81c0a2bb ("mm: page_alloc: fair zone allocator policy") meant
      to bring aging fairness among zones in system, but it was overzealous
      and badly regressed basic workloads on NUMA systems.
      
      Due to the way kswapd and page allocator interacts, we still want to
      make sure that all zones in any given node are used equally for all
      allocations to maximize memory utilization and prevent thrashing on the
      highest zone in the node.
      
      While the same principle applies to NUMA nodes - memory utilization is
      obviously improved by spreading allocations throughout all nodes -
      remote references can be costly and so many workloads prefer locality
      over memory utilization.  The original change assumed that
      zone_reclaim_mode would be a good enough predictor for that, but it
      turned out to be as indicative as a coin flip.
      
      Revert the NUMA aspect of the fairness until we can find a proper way to
      make it configurable and agree on a sane default.
      Signed-off-by: default avatarJohannes Weiner <hannes@cmpxchg.org>
      Reviewed-by: default avatarMichal Hocko <mhocko@suse.cz>
      Signed-off-by: default avatarMel Gorman <mgorman@suse.de>
      Cc: <stable@kernel.org> # 3.12
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fff4068c
    • Mel Gorman's avatar
      Revert "mm: page_alloc: exclude unreclaimable allocations from zone fairness policy" · 8798cee2
      Mel Gorman authored
      This reverts commit 73f038b8.  The NUMA behaviour of this patch is
      less than ideal.  An alternative approch is to interleave allocations
      only within local zones which is implemented in the next patch.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarMel Gorman <mgorman@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8798cee2
    • Kirill A. Shutemov's avatar
      mm: Fix NULL pointer dereference in madvise(MADV_WILLNEED) support · ee53664b
      Kirill A. Shutemov authored
      Sasha Levin found a NULL pointer dereference that is due to a missing
      page table lock, which in turn is due to the pmd entry in question being
      a transparent huge-table entry.
      
      The code - introduced in commit 1998cc04 ("mm: make
      madvise(MADV_WILLNEED) support swap file prefetch") - correctly checks
      for this situation using pmd_none_or_trans_huge_or_clear_bad(), but it
      turns out that that function doesn't work correctly.
      
      pmd_none_or_trans_huge_or_clear_bad() expected that pmd_bad() would
      trigger if the transparent hugepage bit was set, but it doesn't do that
      if pmd_numa() is also set. Note that the NUMA bit only gets set on real
      NUMA machines, so people trying to reproduce this on most normal
      development systems would never actually trigger this.
      
      Fix it by removing the very subtle (and subtly incorrect) expectation,
      and instead just checking pmd_trans_huge() explicitly.
      Reported-by: default avatarSasha Levin <sasha.levin@oracle.com>
      Acked-by: default avatarAndrea Arcangeli <aarcange@redhat.com>
      [ Additionally remove the now stale test for pmd_trans_huge() inside the
        pmd_bad() case - Linus ]
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ee53664b
    • Kevin Hilman's avatar
      Merge tag 'renesas-fixes-for-v3.13' of... · 95fcfa70
      Kevin Hilman authored
      Merge tag 'renesas-fixes-for-v3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into fixes
      
      From Simon Horman:
      Renesas ARM based SoC fixes for v3.13
      
      * r8a7790 (R-Car H1) SoC
        - Correct GPIO resources in DT.
      
          This problem has been present since GPIOs were added to the r8a7790 SoC
          by f98e10c8 ("ARM: shmobile: r8a7790: Add GPIO controller
          devices to device tree") in v3.12-rc1.
      
      * irqchip renesas-intc-irqpin
        - Correct register bitfield shift calculation
      
          This bug has been present since the renesas-intc-irqpin driver was
          introduced by 44358048 ("irqchip: Renesas INTC External IRQ pin
          driver") in v3.10-rc1
      
      * Lager board
        - Do not build the phy fixup unless CONFIG_PHYLIB is enabled
      
          This problem was introduced by 48c8b96f
      
      * tag 'renesas-fixes-for-v3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
        ARM: shmobile: r8a7790: Fix GPIO resources in DTS
        irqchip: renesas-intc-irqpin: Fix register bitfield shift calculation
        ARM: shmobile: lager: phy fixup needs CONFIG_PHYLIB
      Signed-off-by: default avatarKevin Hilman <khilman@linaro.org>
      95fcfa70
    • Paolo Bonzini's avatar
      Merge tag 'signed-for-3.13' of git://github.com/agraf/linux-2.6 into kvm-master · 5e6d26cf
      Paolo Bonzini authored
      Patch queue for 3.13 - 2013-12-18
      
      This fixes some grave issues we've only found after 3.13-rc1:
      
        - Make the modularized HV/PR book3s kvm work well as modules
        - Fix some race conditions
        - Fix compilation with certain compilers (booke)
        - Fix THP for book3s_hv
        - Fix preemption for book3s_pr
      
      Alexander Graf (4):
            KVM: PPC: Book3S: PR: Don't clobber our exit handler id
            KVM: PPC: Book3S: PR: Export kvmppc_copy_to|from_svcpu
            KVM: PPC: Book3S: PR: Make svcpu -> vcpu store preempt savvy
            KVM: PPC: Book3S: PR: Enable interrupts earlier
      
      Aneesh Kumar K.V (1):
            powerpc: book3s: kvm: Don't abuse host r2 in exit path
      
      Paul Mackerras (5):
            KVM: PPC: Book3S HV: Fix physical address calculations
            KVM: PPC: Book3S HV: Refine barriers in guest entry/exit
            KVM: PPC: Book3S HV: Make tbacct_lock irq-safe
            KVM: PPC: Book3S HV: Take SRCU read lock around kvm_read_guest() call
            KVM: PPC: Book3S HV: Don't drop low-order page address bits
      
      Scott Wood (1):
            powerpc/kvm/booke: Fix build break due to stack frame size warning
      
      pingfan liu (1):
            powerpc: kvm: fix rare but potential deadlock scene
      5e6d26cf
    • Linus Torvalds's avatar
      Merge tag 'stable/for-linus-3.13-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 4203d0eb
      Linus Torvalds authored
      Pull Xen bugfixes from Konrad Rzeszutek Wilk:
       - Fix balloon driver for auto-translate guests (PVHVM, ARM) to not use
         scratch pages.
       - Fix block API header for ARM32 and ARM64 to have proper layout
       - On ARM when mapping guests, stick on PTE_SPECIAL
       - When using SWIOTLB under ARM, don't call swiotlb functions twice
       - When unmapping guests memory and if we fail, don't return pages which
         failed to be unmapped.
       - Grant driver was using the wrong address on ARM.
      
      * tag 'stable/for-linus-3.13-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen/balloon: Seperate the auto-translate logic properly (v2)
        xen/block: Correctly define structures in public headers on ARM32 and ARM64
        arm: xen: foreign mapping PTEs are special.
        xen/arm64: do not call the swiotlb functions twice
        xen: privcmd: do not return pages which we have failed to unmap
        XEN: Grant table address, xen_hvm_resume_frames, is a phys_addr not a pfn
      4203d0eb
    • Linus Torvalds's avatar
      Merge tag 'trace-fixes-v3.13-rc2' of... · 5263f0a8
      Linus Torvalds authored
      Merge tag 'trace-fixes-v3.13-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
      
      Pull ftrace fix from Steven Rostedt:
       "This fixes a long standing bug in the ftrace profiler.  The problem is
        that the profiler only initializes the online CPUs, and not possible
        CPUs.  This causes issues if the user takes CPUs online or offline
        while the profiler is running.
      
        If we online a CPU after starting the profiler, we lose all the trace
        information on the CPU going online.
      
        If we offline a CPU after running a test and start a new test, it will
        not clear the old data from that CPU.
      
        This bug causes incorrect data to be reported to the user if they
        online or offline CPUs during the profiling"
      
      * tag 'trace-fixes-v3.13-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        ftrace: Initialize the ftrace profiler for each possible cpu
      5263f0a8
    • Kevin Hilman's avatar
      Merge tag 'omap-for-v3.13/display-fix' of... · cd15c51d
      Kevin Hilman authored
      Merge tag 'omap-for-v3.13/display-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes
      
      I accidentally removed some mux code for omap4 that I thought was
      dead code as omap4 has been booting with device tree only since
      v3.10. Turns out I also removed some display related mux code,
      so let's revert that except for the dead code parts.
      
      * tag 'omap-for-v3.13/display-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (439 commits)
        Revert "ARM: OMAP2+: Remove legacy mux code for display.c"
        +Linux 3.13-rc4
      cd15c51d
  5. 19 Dec, 2013 9 commits