1. 04 Oct, 2014 5 commits
  2. 03 Oct, 2014 2 commits
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-3.17-final' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 58586869
      Linus Torvalds authored
      Pull ACPI and power management fixes from Rafael Wysocki:
       "These are three regression fixes (cpufreq core, pcc-cpufreq, i915 /
        ACPI) and one trivial fix for a callback return value mismatch in the
        cpufreq integrator driver.
      
        Specifics:
      
         - A recent cpufreq core fix went too far and introduced a regression
           in the system suspend code path.  Fix from Viresh Kumar.
      
         - An ACPI-related commit in the i915 driver that fixed backlight
           problems for some Thinkpads inadvertently broke a Dell machine (in
           3.16).  Fix from Aaron Lu.
      
         - The pcc-cpufreq driver was broken during the 3.15 cycle by a commit
           that put wait_event() under a spinlock by mistake.  Fix that
           (Rafael J Wysocki).
      
         - The return value type of integrator_cpufreq_remove() is void, but
           should be int.  Fix from Arnd Bergmann"
      
      * tag 'pm+acpi-3.17-final' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        cpufreq: update 'cpufreq_suspended' after stopping governors
        ACPI / i915: Update the condition to ignore firmware backlight change request
        cpufreq: integrator: fix integrator_cpufreq_remove return type
        cpufreq: pcc-cpufreq: Fix wait_event() under spinlock
      58586869
    • Rafael J. Wysocki's avatar
      Merge branches 'pm-cpufreq' and 'acpi-video' · abcadddc
      Rafael J. Wysocki authored
      * pm-cpufreq:
        cpufreq: update 'cpufreq_suspended' after stopping governors
        cpufreq: integrator: fix integrator_cpufreq_remove return type
        cpufreq: pcc-cpufreq: Fix wait_event() under spinlock
      
      * acpi-video:
        ACPI / i915: Update the condition to ignore firmware backlight change request
      abcadddc
  3. 02 Oct, 2014 14 commits
    • Linus Torvalds's avatar
      Merge branch 'akpm' (fixes from Andrew Morton) · f929d399
      Linus Torvalds authored
      Merge fixes from Andrew Morton:
       "5 fixes"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        mm: page_alloc: fix zone allocation fairness on UP
        perf: fix perf bug in fork()
        MAINTAINERS: change git URL for mpc5xxx tree
        mm: memcontrol: do not iterate uninitialized memcgs
        ocfs2/dlm: should put mle when goto kill in dlm_assert_master_handler
      f929d399
    • Johannes Weiner's avatar
      mm: page_alloc: fix zone allocation fairness on UP · abe5f972
      Johannes Weiner authored
      The zone allocation batches can easily underflow due to higher-order
      allocations or spills to remote nodes.  On SMP that's fine, because
      underflows are expected from concurrency and dealt with by returning 0.
      But on UP, zone_page_state will just return a wrapped unsigned long,
      which will get past the <= 0 check and then consider the zone eligible
      until its watermarks are hit.
      
      Commit 3a025760 ("mm: page_alloc: spill to remote nodes before
      waking kswapd") already made the counter-resetting use
      atomic_long_read() to accomodate underflows from remote spills, but it
      didn't go all the way with it.
      
      Make it clear that these batches are expected to go negative regardless
      of concurrency, and use atomic_long_read() everywhere.
      
      Fixes: 81c0a2bb ("mm: page_alloc: fair zone allocator policy")
      Reported-by: default avatarVlastimil Babka <vbabka@suse.cz>
      Reported-by: default avatarLeon Romanovsky <leon@leon.nu>
      Signed-off-by: default avatarJohannes Weiner <hannes@cmpxchg.org>
      Acked-by: default avatarMel Gorman <mgorman@suse.de>
      Cc: <stable@vger.kernel.org>	[3.12+]
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      abe5f972
    • Peter Zijlstra's avatar
      perf: fix perf bug in fork() · 6c72e350
      Peter Zijlstra authored
      Oleg noticed that a cleanup by Sylvain actually uncovered a bug; by
      calling perf_event_free_task() when failing sched_fork() we will not yet
      have done the memset() on ->perf_event_ctxp[] and will therefore try and
      'free' the inherited contexts, which are still in use by the parent
      process.  This is bad..
      Suggested-by: default avatarOleg Nesterov <oleg@redhat.com>
      Reported-by: default avatarOleg Nesterov <oleg@redhat.com>
      Reported-by: default avatarSylvain 'ythier' Hitier <sylvain.hitier@gmail.com>
      Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6c72e350
    • Anatolij Gustschin's avatar
      MAINTAINERS: change git URL for mpc5xxx tree · cba5b1c6
      Anatolij Gustschin authored
      The repository for mpc5xxx has been moved, update git URL to new
      location.
      Signed-off-by: default avatarAnatolij Gustschin <agust@denx.de>
      Cc: David Howells <dhowells@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      cba5b1c6
    • Johannes Weiner's avatar
      mm: memcontrol: do not iterate uninitialized memcgs · 2f7dd7a4
      Johannes Weiner authored
      The cgroup iterators yield css objects that have not yet gone through
      css_online(), but they are not complete memcgs at this point and so the
      memcg iterators should not return them.  Commit d8ad3055 ("mm/memcg:
      iteration skip memcgs not yet fully initialized") set out to implement
      exactly this, but it uses CSS_ONLINE, a cgroup-internal flag that does
      not meet the ordering requirements for memcg, and so the iterator may
      skip over initialized groups, or return partially initialized memcgs.
      
      The cgroup core can not reasonably provide a clear answer on whether the
      object around the css has been fully initialized, as that depends on
      controller-specific locking and lifetime rules.  Thus, introduce a
      memcg-specific flag that is set after the memcg has been initialized in
      css_online(), and read before mem_cgroup_iter() callers access the memcg
      members.
      Signed-off-by: default avatarJohannes Weiner <hannes@cmpxchg.org>
      Cc: Tejun Heo <tj@kernel.org>
      Acked-by: default avatarMichal Hocko <mhocko@suse.cz>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: <stable@vger.kernel.org>	[3.12+]
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2f7dd7a4
    • alex chen's avatar
      ocfs2/dlm: should put mle when goto kill in dlm_assert_master_handler · 55dacd22
      alex chen authored
      In dlm_assert_master_handler, the mle is get in dlm_find_mle, should be
      put when goto kill, otherwise, this mle will never be released.
      Signed-off-by: default avatarAlex Chen <alex.chen@huawei.com>
      Reviewed-by: default avatarJoseph Qi <joseph.qi@huawei.com>
      Reviewed-by: default avatarjoyce.xue <xuejiufei@huawei.com>
      Cc: Mark Fasheh <mfasheh@suse.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      55dacd22
    • Linus Torvalds's avatar
      Merge tag 'media/v3.17-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · b601ce0f
      Linus Torvalds authored
      Pull media fix from Mauro Carvalho Chehab:
       "One last time regression fix at em28xx.  The removal of .reset_resume
        broke suspend/resume on this driver for some devices.
      
        There are more fixes to be done for em28xx suspend/resume to be better
        handled, but I'm opting to let them to stay for a while at the media
        devel tree, in order to get more tests.  So, for now, let's just
        revert this patch"
      
      * tag 'media/v3.17-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
        Revert "[media] media: em28xx - remove reset_resume interface"
      b601ce0f
    • Linus Torvalds's avatar
      Merge branch 'parisc-3.17-8' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 80ec7ce7
      Linus Torvalds authored
      Pull parisc fix from Helge Deller:
       "One late but trivial patch to fix the serial console on parisc
        machines which got broken during the 3.17 release cycle"
      
      * 'parisc-3.17-8' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Fix serial console for machines with serial port on superio chip
      80ec7ce7
    • Linus Torvalds's avatar
      Merge branch 'numa-migration-fixes' (fixes from Mel Gorman) · f9220c23
      Linus Torvalds authored
      Merge NUMA balancing related fixlets from Mel Gorman:
       "There were a few minor changes so am resending just the two patches
        that are mostly likely to affect the bug Dave and Sasha saw and marked
        them for stable.
      
        I'm less confident it will address Sasha's problem because while I
        have not kept up to date, I believe he's also seeing memory corruption
        issues in next from an unknown source.  Still, it would be nice to see
        how they affect trinity testing.
      
        I'll send the MPOL_MF_LAZY patch separately because it's not urgent"
      
      * emailed patches from Mel Gorman <mgorman@suse.de>:
        mm: numa: Do not mark PTEs pte_numa when splitting huge pages
        mm: migrate: Close race between migration completion and mprotect
      f9220c23
    • Mel Gorman's avatar
      mm: numa: Do not mark PTEs pte_numa when splitting huge pages · abc40bd2
      Mel Gorman authored
      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: default avatarMel Gorman <mgorman@suse.de>
      Acked-by: default avatarRik van Riel <riel@redhat.com>
      Acked-by: default avatarKirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      abc40bd2
    • Mel Gorman's avatar
      mm: migrate: Close race between migration completion and mprotect · d3cb8bf6
      Mel Gorman authored
      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: default avatarMel Gorman <mgorman@suse.de>
      Acked-by: default avatarRik van Riel <riel@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d3cb8bf6
    • Linus Torvalds's avatar
      Merge tag 'sound-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 7575e4d5
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "Just a few pending bits of random fixes in ASoC.  Nothing exciting,
        but would be nice to be merged in 3.17, as most of them are also for
        stable kernels"
      
      * tag 'sound-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ASoC: ssm2602: do not hardcode type to SSM2602
        ASoC: core: fix possible ZERO_SIZE_PTR pointer dereferencing error.
        MAINTAINERS: add atmel audio alsa driver maintainer entry
        ASoC: rt286: Fix sync function
        ASoC: rt286: Correct default value
        ASoC: soc-compress: fix double unlock of fe card mutex
        ASoC: fsl_ssi: fix kernel panic in probe function
      7575e4d5
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 50dddff3
      Linus Torvalds authored
      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
    • Rasesh Mody's avatar
      bna: Update Maintainer Email · 439e9575
      Rasesh Mody authored
      Update the maintainer email for BNA driver.
      Signed-off-by: default avatarRasesh Mody <rasesh.mody@qlogic.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      439e9575
  4. 01 Oct, 2014 9 commits
  5. 30 Sep, 2014 10 commits
    • hayeswang's avatar
      r8152: fix setting RTL8152_UNPLUG · f561de33
      hayeswang authored
      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: default avatarHayes Wang <hayeswang@realtek.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f561de33
    • David S. Miller's avatar
      Merge branch 'netxen' · 37b9a267
      David S. Miller authored
      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: default avatarDavid S. Miller <davem@davemloft.net>
      37b9a267
    • Manish Chopra's avatar
      netxen: Fix bug in Tx completion path. · 9295f940
      Manish Chopra authored
      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: default avatarManish Chopra <manish.chopra@qlogic.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9295f940
    • Manish Chopra's avatar
      netxen: Fix BUG "sleeping function called from invalid context" · 0d368820
      Manish Chopra authored
      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: default avatarMike Galbraith <umgwanakikbuti@gmail.com>
      Signed-off-by: default avatarManish Chopra <manish.chopra@qlogic.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0d368820
    • J. Bruce Fields's avatar
      nfsd4: fix corruption of NFSv4 read data · 15b23ef5
      J. Bruce Fields authored
      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: default avatarAndrea Arcangeli <aarcange@redhat.com>
      Tested-by: default avatar"Dr. David Alan Gilbert" <dgilbert@redhat.com>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      15b23ef5
    • Viresh Kumar's avatar
      cpufreq: update 'cpufreq_suspended' after stopping governors · b1b12bab
      Viresh Kumar authored
      Commit 8e30444e ("cpufreq: fix cpufreq suspend/resume for intel_pstate")
      introduced a bug where the governors wouldn't be stopped anymore for
      ->target{_index}() drivers during suspend. This happens because
      'cpufreq_suspended' is updated before stopping the governors during suspend
      and due to this __cpufreq_governor() would return early due to this check:
      
      	/* Don't start any governor operations if we are entering suspend */
      	if (cpufreq_suspended)
      		return 0;
      
      Fixes: 8e30444e ("cpufreq: fix cpufreq suspend/resume for intel_pstate")
      Cc: 3.15+ <stable@vger.kernel.org> # 3.15+: 8e30444e "cpufreq: fix cpufreq suspend/resume for intel_pstate"
      Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      b1b12bab
    • Hannes Frederic Sowa's avatar
      ipv6: remove rt6i_genid · 705f1c86
      Hannes Frederic Sowa authored
      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: default avatarHannes Frederic Sowa <hannes@stressinduktion.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      705f1c86
    • Jon Medhurst's avatar
      ARM: 8179/1: kprobes-test: Fix compile error "bad immediate value for offset" · ad684dce
      Jon Medhurst authored
      When compiling kprobes-test-arm.c the following error has been observed
      
      /tmp/ccoT403o.s:21439: Error: bad immediate value for offset (4168)
      
      This is caused by the compiler spilling it's literal pool too far away
      from the site which is trying to reference it with a PC relative load.
      This arises because the compiler is underestimating the size of the
      inline assembler code present, which apparently it approximates as 4
      bytes per line or instruction.
      
      We fix this problem by moving the operations which generate more than
      4 bytes out of the text section. Specifically, moving the .ascii
      directives to the .rodata section.
      Signed-off-by: default avatarJon Medhurst <tixy@linaro.org>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      ad684dce
    • Nathan Lynch's avatar
      ARM: 8178/1: fix set_tls for !CONFIG_KUSER_HELPERS · 9cc6d9e5
      Nathan Lynch authored
      Joachim Eastwood reports that commit fbfb872f "ARM: 8148/1: flush
      TLS and thumbee register state during exec" causes a boot-time crash
      on a Cortex-M4 nommu system:
      
      Freeing unused kernel memory: 68K (281e5000 - 281f6000)
      Unhandled exception: IPSR = 00000005 LR = fffffff1
      CPU: 0 PID: 1 Comm: swapper Not tainted 3.17.0-rc6-00313-gd2205fa30aa7 #191
      task: 29834000 ti: 29832000 task.ti: 29832000
      PC is at flush_thread+0x2e/0x40
      LR is at flush_thread+0x21/0x40
      pc : [<2800954a>] lr : [<2800953d>] psr: 4100000b
      sp : 29833d60 ip : 00000000 fp : 00000001
      r10: 00003cf8 r9 : 29b1f000 r8 : 00000000
      r7 : 29b0bc00 r6 : 29834000 r5 : 29832000 r4 : 29832000
      r3 : ffff0ff0 r2 : 29832000 r1 : 00000000 r0 : 282121f0
      xPSR: 4100000b
      CPU: 0 PID: 1 Comm: swapper Not tainted 3.17.0-rc6-00313-gd2205fa30aa7 #191
      [<2800afa5>] (unwind_backtrace) from [<2800a327>] (show_stack+0xb/0xc)
      [<2800a327>] (show_stack) from [<2800a963>] (__invalid_entry+0x4b/0x4c)
      
      The problem is that set_tls is attempting to clear the TLS location in
      the kernel-user helper page, which isn't set up on V7M.
      
      Fix this by guarding the write to the kuser helper page with
      a CONFIG_KUSER_HELPERS ifdef.
      
      Fixes: fbfb872f ARM: 8148/1: flush TLS and thumbee register state during exec
      Reported-by: default avatarJoachim Eastwood <manabian@gmail.com>
      Tested-by: default avatarJoachim Eastwood <manabian@gmail.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarNathan Lynch <nathan_lynch@mentor.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      9cc6d9e5
    • Krzysztof Kozlowski's avatar
      ARM: 8177/1: cacheflush: Fix v7_exit_coherency_flush exynos build breakage on ARMv6 · ebc77251
      Krzysztof Kozlowski authored
      This fixes build breakage of platsmp.c if ARMv6 was chosen for compile
      time options (e.g. by building allmodconfig):
      
      $ make allmodconfig
      $ make
        CC      arch/arm/mach-exynos/platsmp.o
      /tmp/ccdQM0Eg.s: Assembler messages:
      /tmp/ccdQM0Eg.s:432: Error: selected processor does not support ARM mode `isb '
      /tmp/ccdQM0Eg.s:437: Error: selected processor does not support ARM mode `isb '
      /tmp/ccdQM0Eg.s:438: Error: selected processor does not support ARM mode `dsb '
      make[1]: *** [arch/arm/mach-exynos/platsmp.o] Error 1
      
      The error was introduced in commit "ARM: EXYNOS: Move code from
      hotplug.c to platsmp.c".  Previously code using
      v7_exit_coherency_flush() macro was built with '-march=armv7-a' flag but
      this flag dissapeared during the movement.
      
      Fix this by annotating the v7_exit_coherency_flush() asm code with
      armv7-a architecture.
      Signed-off-by: default avatarKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Reported-by: default avatarMark Brown <broonie@kernel.org>
      Acked-by: default avatarNicolas Pitre <nico@linaro.org>
      Signed-off-by: default avatarKukjin Kim <kgene.kim@samsung.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      ebc77251