Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Mar 28, 2015
  1. Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/l…

    authored
    …inux/kernel/git/tip/tip
    
    Pull x86 fix from Ingo Molnar:
     "Fix x86 syscall exit code bug that resulted in spurious non-execution
      of TIF-driven user-return worklets, causing big trouble for things
      like KVM that rely on user notifiers for correctness of their vcpu
      model, causing crashes like double faults"
    
    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/asm/entry: Check for syscall exit work with IRQs disabled
  2. Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/sc…

    authored
    …m/linux/kernel/git/tip/tip
    
    Pull timer fixes from Ingo Molnar:
     "Two clocksource driver fixes, and an idle loop RCU warning fix"
    
    * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      clocksource/drivers/sun5i: Fix cpufreq interaction with sched_clock()
      clocksource/drivers: Fix various !CONFIG_HAS_IOMEM build errors
      timers/tick/broadcast-hrtimer: Fix suspicious RCU usage in idle loop
  3. Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm…

    authored
    …/linux/kernel/git/tip/tip
    
    Pull scheduler fix from Ingo Molnar:
     "A single sched/rt corner case fix for RLIMIT_RTIME correctness"
    
    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      sched: Fix RLIMIT_RTTIME when PI-boosting to RT
  4. Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/…

    authored
    …linux/kernel/git/tip/tip
    
    Pull perf fix from Ingo Molnar:
     "A perf kernel side fix for a fuzzer triggered lockup"
    
    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      perf: Fix irq_work 'tail' recursion
  5. Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/s…

    authored
    …cm/linux/kernel/git/tip/tip
    
    Pull locking fix from Ingo Molnar:
     "A module unload lockdep race fix"
    
    * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      lockdep: Fix the module unload key range freeing logic
  6. Merge branch 'parisc-4.0-1' of git://git.kernel.org/pub/scm/linux/ker…

    authored
    …nel/git/deller/parisc-linux
    
    Pull parsic fixes from Helge Deller:
     "One patch from Mikulas fixes a bug on parisc by artifically
      incrementing the counter in pmd_free when the kernel tries to free
      the preallocated pmd.
    
      Other than that we now prevent that syscalls gets added without
      incrementing __NR_Linux_syscalls and fix the initial pmd setup code
      if a default page size greater than 4k has been selected"
    
    * 'parisc-4.0-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
      parisc: Fix pmd code to depend on PT_NLEVELS value, not on CONFIG_64BIT
      parisc: mm: don't count preallocated pmds
      parisc: Add compile-time check when adding new syscalls
  7. Merge git://git.kernel.org/pub/scm/virt/kvm/kvm

    authored
    Pull kvm ppc bugfixes from Marcelo Tosatti.
    
    * git://git.kernel.org/pub/scm/virt/kvm/kvm:
      KVM: PPC: Book3S HV: Fix instruction emulation
      KVM: PPC: Book3S HV: Endian fix for accessing VPA yield count
      KVM: PPC: Book3S HV: Fix spinlock/mutex ordering issue in kvmppc_set_lpcr()
  8. Merge tag 'arc-4.0-fixes-part-2' of git://git.kernel.org/pub/scm/linu…

    authored
    …x/kernel/git/vgupta/arc
    
    Pull ARC fixes from Vineet Gupta:
     "We found some issues with signal handling taking down the system.  I
      know its late, but these are important and all marked for stable.
    
      ARC signal handling related fixes uncovered during recent testing of
      NPTL tools"
    
    * tag 'arc-4.0-fixes-part-2' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
      ARC: signal handling robustify
      ARC: SA_SIGINFO ucontext regs off-by-one
  9. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    authored
    …/git/jmorris/linux-security
    
    Pull selinux bugfix from James Morris.
    
    Fix broken return value.
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
      selinux: fix sel_write_enforce broken return value
Commits on Mar 27, 2015
  1. Merge git://www.linux-watchdog.org/linux-watchdog

    authored
    Pull watchdog fixes from Wim Van Sebroeck:
    
     - mtk_wdt: signedness bug in mtk_wdt_start()
    
     - imgpdc: Fix NULL pointer dereference during probe and fix the default
       heartbeat
    
    * git://www.linux-watchdog.org/linux-watchdog:
      watchdog: imgpdc: Fix default heartbeat
      watchdog: imgpdc: Fix probe NULL pointer dereference
      watchdog: mtk_wdt: signedness bug in mtk_wdt_start()
  2. Merge tag 'sound-4.0-rc6' of git://git.kernel.org/pub/scm/linux/kerne…

    authored
    …l/git/tiwai/sound
    
    Pull sound fixes from Takashi Iwai:
     "Three trivial oneliner fixes for HD-audio.
    
      Two are device-specific quirks while one is a generic fix for recent
      Realtek codecs"
    
    * tag 'sound-4.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
      ALSA: hda - Add one more node in the EAPD supporting candidate list
      ALSA: hda_intel: apply the Seperate stream_tag for Sunrise Point
      ALSA: hda - Add dock support for Thinkpad T450s (17aa:5036)
  3. Merge branch 'upstream' of git://git.infradead.org/users/pcmoore/seli…

    James Morris authored
    …nux into for-linus
  4. @jahogan

    watchdog: imgpdc: Fix default heartbeat

    jahogan authored Wim Van Sebroeck committed
    The IMG PDC watchdog driver heartbeat module parameter has no default so
    it is initialised to zero. This results in the following warning during
    probe:
    
    imgpdc-wdt 2006000.wdt: Initial timeout out of range! setting max timeout
    
    The module parameter description implies that the default value should
    be PDC_WDT_DEF_TIMEOUT, which isn't yet used, so initialise it to that.
    
    Also tweak the heartbeat module parameter description for consistency.
    
    Fixes: 9393766 ("watchdog: ImgTec PDC Watchdog Timer Driver")
    Signed-off-by: James Hogan <james.hogan@imgtec.com>
    Cc: Ezequiel Garcia <ezequiel.garcia@imgtec.com>
    Cc: Naidu Tellapati <Naidu.Tellapati@imgtec.com>
    Cc: Jude Abraham <Jude.Abraham@imgtec.com>
    Cc: linux-watchdog@vger.kernel.org
    Reviewed-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
  5. @jahogan

    watchdog: imgpdc: Fix probe NULL pointer dereference

    jahogan authored Wim Van Sebroeck committed
    The IMG PDC watchdog probe function calls pdc_wdt_stop() prior to
    watchdog_set_drvdata(), causing a NULL pointer dereference when
    pdc_wdt_stop() retrieves the struct pdc_wdt_dev pointer using
    watchdog_get_drvdata() and reads the register base address through it.
    
    Fix by moving the watchdog_set_drvdata() call earlier, to where various
    other pdc_wdt->wdt_dev fields are initialised.
    
    Fixes: 9393766 ("watchdog: ImgTec PDC Watchdog Timer Driver")
    Signed-off-by: James Hogan <james.hogan@imgtec.com>
    Cc: Ezequiel Garcia <ezequiel.garcia@imgtec.com>
    Cc: Naidu Tellapati <Naidu.Tellapati@imgtec.com>
    Cc: Jude Abraham <Jude.Abraham@imgtec.com>
    Cc: linux-watchdog@vger.kernel.org
    Reviewed-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
  6. watchdog: mtk_wdt: signedness bug in mtk_wdt_start()

    Dan Carpenter authored Wim Van Sebroeck committed
    "ret" should be signed for the error handling to work correctly.  This
    doesn't matter much in real life since mtk_wdt_set_timeout() always
    succeeds.
    
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
    Reviewed-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Commits on Mar 26, 2015
  1. Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux

    authored
    Pull drm refcounting fixes from Dave Airlie:
     "Here is the complete set of i915 bug/warn/refcounting fixes"
    
    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
      drm/i915: Fixup legacy plane->crtc link for initial fb config
      drm/i915: Fix atomic state when reusing the firmware fb
      drm/i915: Keep ring->active_list and ring->requests_list consistent
      drm/i915: Don't try to reference the fb in get_initial_plane_config()
      drm: Fixup racy refcounting in plane_force_disable
  2. Merge tag 'dm-4.0-fix-2' of git://git.kernel.org/pub/scm/linux/kernel…

    authored
    …/git/device-mapper/linux-dm
    
    Pull device mapper fix from Mike Snitzer:
     "Fix DM core device cleanup regression -- due to a latent race that was
      exposed by the bdi changes that were introduced during the 4.0 merge"
    
    * tag 'dm-4.0-fix-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
      dm: fix add_disk() NULL pointer due to race with free_dev()
  3. Merge tag 'linux-kselftest-4.0-rc6' of git://git.kernel.org/pub/scm/l…

    authored
    …inux/kernel/git/shuah/linux-kselftest
    
    Pull kselftest fix from Shuah Khan.
    
    * tag 'linux-kselftest-4.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
      selftests: Fix build failures when invoked from kselftest target
  4. Merge tag 'drm-intel-fixes-2015-03-26' of git://anongit.freedesktop.o…

    Dave Airlie authored
    …rg/drm-intel into drm-fixes
    
    This should cover the final warnings in -rc5 with two more backports
    from our development branch (drm-intel-next-queued). They're the ones
    from Daniel and Damien, with references to the reports.
    
    This is on top of drm-fixes because of the dependency on the two earlier
    fixes not yet in Linus' tree.
    
    There's an additional regression fix from Chris.
    
    * tag 'drm-intel-fixes-2015-03-26' of git://anongit.freedesktop.org/drm-intel:
      drm/i915: Fixup legacy plane->crtc link for initial fb config
      drm/i915: Fix atomic state when reusing the firmware fb
      drm/i915: Keep ring->active_list and ring->requests_list consistent
  5. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    authored
    …/git/s390/linux
    
    Pull s390 fixes from Martin Schwidefsky:
     "A couple of bug fixes for s390.
    
      The ftrace comile fix is quite large for a -rc6 release, but it would
      be nice to have it in 4.0"
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
      s390/smp: reenable smt after resume
      s390/mm: limit STACK_RND_MASK for compat tasks
      s390/ftrace: fix compile error if CONFIG_KPROBES is disabled
      s390/cpum_sf: add diagnostic sampling event only if it is authorized
  6. @danvet @jnikula

    drm/i915: Fixup legacy plane->crtc link for initial fb config

    danvet authored jnikula committed
    This is a very similar bug in the load detect code fixed in
    
    commit 9128b04
    Author: Daniel Vetter <daniel.vetter@ffwll.ch>
    Date:   Tue Mar 3 17:31:21 2015 +0100
    
        drm/i915: Fix modeset state confusion in the load detect code
    
    But this time around it was the initial fb code that forgot to update
    the plane->crtc pointer. Otherwise it's the exact same bug, with the
    exact same restrains (any set_config call/ioctl that doesn't disable
    the pipe papers over the bug for free, so fairly hard to hit in normal
    testing). So if you want the full explanation just go read that one
    over there - it's rather long ...
    
    Cc: Matt Roper <matthew.d.roper@intel.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Josh Boyer <jwboyer@fedoraproject.org>
    Cc: Jani Nikula <jani.nikula@linux.intel.com>
    Reported-and-tested-by: Josh Boyer <jwboyer@fedoraproject.org>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    [Jani: backported to drm-intel-fixes for v4.0-rc]
    Reference: http://mid.gmane.org/CA+5PVA7ChbtJrknqws1qvZcbrg1CW2pQAFkSMURWWgyASRyGXg@mail.gmail.com
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
  7. @jnikula

    drm/i915: Fix atomic state when reusing the firmware fb

    Damien Lespiau authored jnikula committed
    Right now, we get a warning when taking over the firmware fb:
    
      [drm:drm_atomic_plane_check] FB set but no CRTC
    
    with the following backtrace:
    
      [<ffffffffa010339d>] drm_atomic_check_only+0x35d/0x510 [drm]
      [<ffffffffa0103567>] drm_atomic_commit+0x17/0x60 [drm]
      [<ffffffffa00a6ccd>] drm_atomic_helper_plane_set_property+0x8d/0xd0 [drm_kms_helper]
      [<ffffffffa00f1fed>] drm_mode_plane_set_obj_prop+0x2d/0x90 [drm]
      [<ffffffffa00a8a1b>] restore_fbdev_mode+0x6b/0xf0 [drm_kms_helper]
      [<ffffffffa00aa969>] drm_fb_helper_restore_fbdev_mode_unlocked+0x29/0x80 [drm_kms_helper]
      [<ffffffffa00aa9e2>] drm_fb_helper_set_par+0x22/0x50 [drm_kms_helper]
      [<ffffffffa050a71a>] intel_fbdev_set_par+0x1a/0x60 [i915]
      [<ffffffff813ad444>] fbcon_init+0x4f4/0x580
    
    That's because we update the plane state with the fb from the firmware, but we
    never associate the plane to that CRTC.
    
    We don't quite have the full DRM take over from HW state just yet, so
    fake enough of the plane atomic state to pass the checks.
    
    v2: Fix the state on which we set the CRTC in the case we're sharing the
        initial fb with another pipe. (Matt)
    
    Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
    Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    [Jani: backported to drm-intel-fixes for v4.0-rc]
    Reference: http://mid.gmane.org/CA+5PVA7yXH=U757w8V=Zj2U1URG4nYNav20NpjtQ4svVueyPNw@mail.gmail.com
    Reference: http://lkml.kernel.org/r/CA+55aFweWR=nDzc2Y=rCtL_H8JfdprQiCimN5dwc+TgyD4Bjsg@mail.gmail.com
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
  8. @tiwai

    ALSA: hda - Add one more node in the EAPD supporting candidate list

    Hui Wang authored tiwai committed
    We have a HP machine which use the codec node 0x17 connecting the
    internal speaker, and from the node capability, we saw the EAPD,
    if we don't set the EAPD on for this node, the internal speaker
    can't output any sound.
    
    Cc: <stable@vger.kernel.org>
    BugLink: https://bugs.launchpad.net/bugs/1436745
    Signed-off-by: Hui Wang <hui.wang@canonical.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
  9. @mripard

    clocksource/drivers/sun5i: Fix cpufreq interaction with sched_clock()

    mripard authored Ingo Molnar committed
    The sun5i timer is used as the sched-clock on certain systems, and ever
    since we started using cpufreq, the cpu clock (that is one of the
    timer's clock indirect parent) now changes as well, along with the
    actual sched_clock() rate.
    
    This is not accurate and not desirable.
    
    We can safely remove the sun5i sched-clock on those systems, since we
    have other reliable sched_clock() sources in the system.
    
    Tested-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
    Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
    [ Improved the changelog. ]
    Cc: richard@nod.at
    Link: http://lkml.kernel.org/r/1427362029-6511-4-git-send-email-daniel.lezcano@linaro.org
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
  10. @richardweinberger

    clocksource/drivers: Fix various !CONFIG_HAS_IOMEM build errors

    richardweinberger authored Ingo Molnar committed
    Fix !CONFIG_HAS_IOMEM related build failures in three clocksource drivers.
    
    The build failures have the pattern of:
    
      drivers/clocksource/sh_cmt.c: In function ‘sh_cmt_map_memory’: drivers/clocksource/sh_cmt.c:920:2:
      error: implicit declaration of function ‘ioremap_nocache’ [-Werror=implicit-function-declaration]   cmt->mapbase = ioremap_nocache(mem->start, resource_size(mem));
    
    Signed-off-by: Richard Weinberger <richard@nod.at>
    Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
    Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Cc: maxime.ripard@free-electrons.com
    Link: http://lkml.kernel.org/r/1427362029-6511-1-git-send-email-daniel.lezcano@linaro.org
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
  11. @ickle @jnikula

    drm/i915: Keep ring->active_list and ring->requests_list consistent

    ickle authored jnikula committed
    If we retire requests last, we may use a later seqno and so clear
    the requests lists without clearing the active list, leading to
    confusion. Hence we should retire requests first for consistency with
    the early return. The order used to be important as the lifecycle for
    the object on the active list was determined by request->seqno. However,
    the requests themselves are now reference counted removing the
    constraint from the order of retirement.
    
    Fixes regression from
    
    commit 1b5a433
    Author: John Harrison <John.C.Harrison@Intel.com>
    Date:   Mon Nov 24 18:49:42 2014 +0000
    
        drm/i915: Convert 'i915_seqno_passed' calls into 'i915_gem_request_completed
    '
    
    and a
    
    	WARNING: CPU: 0 PID: 1383 at drivers/gpu/drm/i915/i915_gem_evict.c:279 i915_gem_evict_vm+0x10c/0x140()
    	WARN_ON(!list_empty(&vm->active_list))
    
    Identified by updating WATCH_LISTS:
    
    	[drm:i915_verify_lists] *ERROR* blitter ring: active list not empty, but no requests
    	WARNING: CPU: 0 PID: 681 at drivers/gpu/drm/i915/i915_gem.c:2751 i915_gem_retire_requests_ring+0x149/0x230()
    	WARN_ON(i915_verify_lists(ring->dev))
    
    Note that this is only a problem in evict_vm where the following happens
    after a retire_request has cleaned out all requests, but not all active
    bo:
    - intel_ring_idle called from i915_gpu_idle notices that no requests are
      outstanding and immediately returns.
    - i915_gem_retire_requests_ring called from i915_gem_retire_requests also
      immediately returns when there's no request, still leaving the bo on the
      active list.
    - evict_vm hits the WARN_ON(!list_empty(&vm->active_list)) after evicting
      all active objects that there's still stuff left that shouldn't be
      there.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: John Harrison <John.C.Harrison@Intel.com>
    Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
    Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
  12. @libinyang @tiwai

    ALSA: hda_intel: apply the Seperate stream_tag for Sunrise Point

    libinyang authored tiwai committed
    The total stream number of Sunrise Point's input and output stream
    exceeds 15, which will cause some streams do not work because
    of the overflow on SDxCTL.STRM field if using the legacy
    stream tag allocation method.
    
    This patch uses the new stream tag allocation method by add
    the flag AZX_DCAPS_SEPARATE_STREAM_TAG for Skylake platform.
    
    Signed-off-by: Libin Yang <libin.yang@intel.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
  13. @vineetgarc

    ARC: signal handling robustify

    vineetgarc authored
    A malicious signal handler / restorer can DOS the system by fudging the
    user regs saved on stack, causing weird things such as sigreturn returning
    to user mode PC but cpu state still being kernel mode....
    
    Ensure that in sigreturn path status32 always has U bit; any other bogosity
    (gargbage PC etc) will be taken care of by normal user mode exceptions mechanisms.
    
    Reproducer signal handler:
    
        void handle_sig(int signo, siginfo_t *info, void *context)
        {
    	ucontext_t *uc = context;
    	struct user_regs_struct *regs = &(uc->uc_mcontext.regs);
    
    	regs->scratch.status32 = 0;
        }
    
    Before the fix, kernel would go off to weeds like below:
    
        --------->8-----------
        [ARCLinux]$ ./signal-test
        Path: /signal-test
        CPU: 0 PID: 61 Comm: signal-test Not tainted 4.0.0-rc5+ #65
        task: 8f177880 ti: 5ffe6000 task.ti: 8f15c000
    
        [ECR   ]: 0x00220200 => Invalid Write @ 0x00000010 by insn @ 0x00010698
        [EFA   ]: 0x00000010
        [BLINK ]: 0x2007c1ee
        [ERET  ]: 0x10698
        [STAT32]: 0x00000000 :                                   <--------
        BTA: 0x00010680	 SP: 0x5ffe7e48	 FP: 0x00000000
        LPS: 0x20003c6c	LPE: 0x20003c70	LPC: 0x00000000
        ...
        --------->8-----------
    
    Reported-by: Alexey Brodkin <abrodkin@synopsys.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
  14. @vineetgarc

    ARC: SA_SIGINFO ucontext regs off-by-one

    vineetgarc authored
    The regfile provided to SA_SIGINFO signal handler as ucontext was off by
    one due to pt_regs gutter cleanups in 2013.
    
    Before handling signal, user pt_regs are copied onto user_regs_struct and copied
    back later. Both structs are binary compatible. This was all fine until
    commit 2fa9190 (ARC: pt_regs update #2) which removed the empty stack slot
    at top of pt_regs (corresponding to first pad) and made the corresponding
    fixup in struct user_regs_struct (the pad in there was moved out of
    @scratch - not removed altogether as it is part of ptrace ABI)
    
     struct user_regs_struct {
    +       long pad;
            struct {
    -               long pad;
                    long bta, lp_start, lp_end,....
            } scratch;
     ...
     }
    
    This meant that now user_regs_struct was off by 1 reg w.r.t pt_regs and
    signal code needs to user_regs_struct.scratch to reflect it as pt_regs,
    which is what this commit does.
    
    This problem was hidden for 2 years, because both save/restore, despite
    using wrong location, were using the same location. Only an interim
    inspection (reproducer below) exposed the issue.
    
         void handle_segv(int signo, siginfo_t *info, void *context)
         {
     	ucontext_t *uc = context;
    	struct user_regs_struct *regs = &(uc->uc_mcontext.regs);
    
    	printf("regs %x %x\n",               <=== prints 7 8 (vs. 8 9)
                   regs->scratch.r8, regs->scratch.r9);
         }
    
         int main()
         {
    	struct sigaction sa;
    
    	sa.sa_sigaction = handle_segv;
    	sa.sa_flags = SA_SIGINFO;
    	sigemptyset(&sa.sa_mask);
    	sigaction(SIGSEGV, &sa, NULL);
    
    	asm volatile(
    	"mov	r7, 7	\n"
    	"mov	r8, 8	\n"
    	"mov	r9, 9	\n"
    	"mov	r10, 10	\n"
    	:::"r7","r8","r9","r10");
    
    	*((unsigned int*)0x10) = 0;
         }
    
    Fixes: 2fa9190 "ARC: pt_regs update #2: Remove unused gutter at start of pt_regs"
    CC: <stable@vger.kernel.org>
    Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Commits on Mar 25, 2015
  1. Merge tag 'metag-fixes-v4.0-2' of git://git.kernel.org/pub/scm/linux/…

    authored
    …kernel/git/jhogan/metag
    
    Pull arch/metag fix from James Hogan:
     "Another metag architecture fix for v4.0
    
      This is another single fix, for an include dependency problem when
      using ioremap_wc() from asm/io.h without also including asm/pgtable.h"
    
    * tag 'metag-fixes-v4.0-2' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag:
      metag: Fix ioremap_wc/ioremap_cached build errors
  2. Merge branch 'akpm' (patches from Andrew)

    authored
    Merge misc fixes from Andrew Morton:
     "15 fixes"
    
    * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
      mm: numa: mark huge PTEs young when clearing NUMA hinting faults
      mm: numa: slow PTE scan rate if migration failures occur
      mm: numa: preserve PTE write permissions across a NUMA hinting fault
      mm: numa: group related processes based on VMA flags instead of page table flags
      hfsplus: fix B-tree corruption after insertion at position 0
      MAINTAINERS: add Jan as DMI/SMBIOS support maintainer
      fs/affs/file.c: unlock/release page on error
      mm/page_alloc.c: call kernel_map_pages in unset_migrateype_isolate
      mm/slub: fix lockups on PREEMPT && !SMP kernels
      mm/memory hotplug: postpone the reset of obsolete pgdat
      MAINTAINERS: correct rtc armada38x pattern entry
      mm/pagewalk.c: prevent positive return value of walk_page_test() from being passed to callers
      mm: fix anon_vma->degree underflow in anon_vma endless growing prevention
      drivers/rtc/rtc-mrst: fix suspend/resume
      aoe: update aoe maintainer information
  3. Merge tag 'signed-for-4.0' of git://github.com/agraf/linux-2.6

    Marcelo Tosatti authored Marcelo Tosatti committed
    Patch queue for 4.0 - 2015-03-25
    
    A few bug fixes for Book3S HV KVM:
    
      - Fix spinlock ordering
      - Fix idle guests on LE hosts
      - Fix instruction emulation
  4. mm: numa: mark huge PTEs young when clearing NUMA hinting faults

    Mel Gorman authored committed
    Base PTEs are marked young when the NUMA hinting information is cleared
    but the same does not happen for huge pages which this patch addresses.
    
    Note that migrated pages are not marked young as the base page migration
    code does not assume that migrated pages have been referenced.  This
    could be addressed but beyond the scope of this series which is aimed at
    Dave Chinners shrink workload that is unlikely to be affected by this
    issue.
    
    Signed-off-by: Mel Gorman <mgorman@suse.de>
    Cc: Dave Chinner <david@fromorbit.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Aneesh Kumar <aneesh.kumar@linux.vnet.ibm.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  5. mm: numa: slow PTE scan rate if migration failures occur

    Mel Gorman authored committed
    Dave Chinner reported the following on https://lkml.org/lkml/2015/3/1/226
    
      Across the board the 4.0-rc1 numbers are much slower, and the degradation
      is far worse when using the large memory footprint configs. Perf points
      straight at the cause - this is from 4.0-rc1 on the "-o bhash=101073" config:
    
       -   56.07%    56.07%  [kernel]            [k] default_send_IPI_mask_sequence_phys
          - default_send_IPI_mask_sequence_phys
             - 99.99% physflat_send_IPI_mask
                - 99.37% native_send_call_func_ipi
                     smp_call_function_many
                   - native_flush_tlb_others
                      - 99.85% flush_tlb_page
                           ptep_clear_flush
                           try_to_unmap_one
                           rmap_walk
                           try_to_unmap
                           migrate_pages
                           migrate_misplaced_page
                         - handle_mm_fault
                            - 99.73% __do_page_fault
                                 trace_do_page_fault
                                 do_async_page_fault
                               + async_page_fault
                  0.63% native_send_call_func_single_ipi
                     generic_exec_single
                     smp_call_function_single
    
    This is showing excessive migration activity even though excessive
    migrations are meant to get throttled.  Normally, the scan rate is tuned
    on a per-task basis depending on the locality of faults.  However, if
    migrations fail for any reason then the PTE scanner may scan faster if
    the faults continue to be remote.  This means there is higher system CPU
    overhead and fault trapping at exactly the time we know that migrations
    cannot happen.  This patch tracks when migration failures occur and
    slows the PTE scanner.
    
    Signed-off-by: Mel Gorman <mgorman@suse.de>
    Reported-by: Dave Chinner <david@fromorbit.com>
    Tested-by: Dave Chinner <david@fromorbit.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Aneesh Kumar <aneesh.kumar@linux.vnet.ibm.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  6. mm: numa: preserve PTE write permissions across a NUMA hinting fault

    Mel Gorman authored committed
    Protecting a PTE to trap a NUMA hinting fault clears the writable bit
    and further faults are needed after trapping a NUMA hinting fault to set
    the writable bit again.  This patch preserves the writable bit when
    trapping NUMA hinting faults.  The impact is obvious from the number of
    minor faults trapped during the basis balancing benchmark and the system
    CPU usage;
    
      autonumabench
                                                 4.0.0-rc4             4.0.0-rc4
                                                  baseline              preserve
      Time System-NUMA01                  107.13 (  0.00%)      103.13 (  3.73%)
      Time System-NUMA01_THEADLOCAL       131.87 (  0.00%)       83.30 ( 36.83%)
      Time System-NUMA02                    8.95 (  0.00%)       10.72 (-19.78%)
      Time System-NUMA02_SMT                4.57 (  0.00%)        3.99 ( 12.69%)
      Time Elapsed-NUMA01                 515.78 (  0.00%)      517.26 ( -0.29%)
      Time Elapsed-NUMA01_THEADLOCAL      384.10 (  0.00%)      384.31 ( -0.05%)
      Time Elapsed-NUMA02                  48.86 (  0.00%)       48.78 (  0.16%)
      Time Elapsed-NUMA02_SMT              47.98 (  0.00%)       48.12 ( -0.29%)
    
                   4.0.0-rc4   4.0.0-rc4
                    baseline    preserve
      User          44383.95    43971.89
      System          252.61      201.24
      Elapsed         998.68     1000.94
    
      Minor Faults   2597249     1981230
      Major Faults       365         364
    
    There is a similar drop in system CPU usage using Dave Chinner's xfsrepair
    workload
    
                                          4.0.0-rc4             4.0.0-rc4
                                           baseline              preserve
      Amean    real-xfsrepair      454.14 (  0.00%)      442.36 (  2.60%)
      Amean    syst-xfsrepair      277.20 (  0.00%)      204.68 ( 26.16%)
    
    The patch looks hacky but the alternatives looked worse.  The tidest was
    to rewalk the page tables after a hinting fault but it was more complex
    than this approach and the performance was worse.  It's not generally
    safe to just mark the page writable during the fault if it's a write
    fault as it may have been read-only for COW so that approach was
    discarded.
    
    Signed-off-by: Mel Gorman <mgorman@suse.de>
    Reported-by: Dave Chinner <david@fromorbit.com>
    Tested-by: Dave Chinner <david@fromorbit.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Aneesh Kumar <aneesh.kumar@linux.vnet.ibm.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Something went wrong with that request. Please try again.