Skip to content
  1. Aug 24, 2015
  2. Aug 23, 2015
  3. Aug 22, 2015
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d0b89bd5
      Linus Torvalds authored
      Pull x86 fixes from Ingo Molnar:
       "Various low level fixes: fix more fallout from the FPU rework and the
        asm entry code rework, plus an MSI rework fix, and an idle-tracing fix"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/fpu/math-emu: Fix crash in fork()
        x86/fpu/math-emu: Fix math-emu boot crash
        x86/idle: Restore trace_cpu_idle to mwait_idle() calls
        x86/irq: Build correct vector mapping for multiple MSI interrupts
        Revert "sched/x86_64: Don't save flags on context switch"
      d0b89bd5
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c3a06514
      Linus Torvalds authored
      Pull perf fixes from Ingo Molnar:
       "Tooling fixes: a 'perf record' deadlock fix plus debuggability fixes"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf top: Show backtrace when handling a SIGSEGV on --stdio mode
        perf tools: Fix buildid processing
        perf tools: Make fork event processing more resilient
        perf tools: Avoid deadlock when map_groups are broken
      c3a06514
    • Linus Torvalds's avatar
      Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 84f3fe46
      Linus Torvalds authored
      Pull irq fixes from Thomas Gleixner:
       "A series of small fixlets for a regression visible on OMAP devices
        caused by the conversion of the OMAP interrupt chips to hierarchical
        interrupt domains.  Mostly one liners on the driver side plus a small
        helper function in the core to avoid open coded mess in the drivers"
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/crossbar: Restore set_wake functionality
        irqchip/crossbar: Restore the mask on suspend behaviour
        ARM: OMAP: wakeupgen: Restore the irq_set_type() mechanism
        irqchip/crossbar: Restore the irq_set_type() mechanism
        genirq: Introduce irq_chip_set_type_parent() helper
        genirq: Don't return ENOSYS in irq_chip_retrigger_hierarchy
      84f3fe46
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f8a89fc0
      Linus Torvalds authored
      Pull timer fixes from Thomas Gleixner:
       "Two minimalistic fixes for 4.2 regressions:
      
         - Eric fixed a thinko in the timer_list base switching code caused by
           the overhaul of the timer wheel.  It can cause a cpu to see the
           wrong base for a timer while we move the timer around.
      
         - Guenter fixed a regression for IMX if booted w/o device tree, where
           the timer interrupt is not initialized and therefor the machine
           fails to boot"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        clocksource/imx: Fix boot with non-DT systems
        timer: Write timer->flags atomically
      f8a89fc0
    • Ingo Molnar's avatar
      x86/fpu/math-emu: Fix crash in fork() · 827409b2
      Ingo Molnar authored
      
      
      During later stages of math-emu bootup the following crash triggers:
      
      	 math_emulate: 0060:c100d0a8
      	 Kernel panic - not syncing: Math emulation needed in kernel
      	 CPU: 0 PID: 1511 Comm: login Not tainted 4.2.0-rc7+ #1012
      	 [...]
      	 Call Trace:
      	  [<c181d50d>] dump_stack+0x41/0x52
      	  [<c181c918>] panic+0x77/0x189
      	  [<c1003530>] ? math_error+0x140/0x140
      	  [<c164c2d7>] math_emulate+0xba7/0xbd0
      	  [<c100d0a8>] ? fpu__copy+0x138/0x1c0
      	  [<c1109c3c>] ? __alloc_pages_nodemask+0x12c/0x870
      	  [<c136ac20>] ? proc_clear_tty+0x40/0x70
      	  [<c136ac6e>] ? session_clear_tty+0x1e/0x30
      	  [<c1003530>] ? math_error+0x140/0x140
      	  [<c1003575>] do_device_not_available+0x45/0x70
      	  [<c100d0a8>] ? fpu__copy+0x138/0x1c0
      	  [<c18258e6>] error_code+0x5a/0x60
      	  [<c1003530>] ? math_error+0x140/0x140
      	  [<c100d0a8>] ? fpu__copy+0x138/0x1c0
      	  [<c100c205>] arch_dup_task_struct+0x25/0x30
      	  [<c1048cea>] copy_process.part.51+0xea/0x1480
      	  [<c115a8e5>] ? dput+0x175/0x200
      	  [<c136af70>] ? no_tty+0x30/0x30
      	  [<c1157242>] ? do_vfs_ioctl+0x322/0x540
      	  [<c104a21a>] _do_fork+0xca/0x340
      	  [<c1057b06>] ? SyS_rt_sigaction+0x66/0x90
      	  [<c104a557>] SyS_clone+0x27/0x30
      	  [<c1824a80>] sysenter_do_call+0x12/0x12
      
      The reason is the incorrect assumption in fpu_copy(), that FNSAVE
      can be executed from math-emu kernels as well.
      
      Don't try to copy the registers, the soft state will be copied
      by fork anyway, so the child task inherits the parent task's
      soft math state.
      
      With this fix applied math-emu kernels boot up fine on modern
      hardware and the 'no387 nofxsr' boot options.
      
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Bobby Powers <bobbypowers@gmail.com>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Brian Gerst <brgerst@gmail.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Denys Vlasenko <dvlasenk@redhat.com>
      Cc: Fenghua Yu <fenghua.yu@intel.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Quentin Casasnovas <quentin.casasnovas@oracle.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      827409b2
    • Ingo Molnar's avatar
      x86/fpu/math-emu: Fix math-emu boot crash · 5fc96038
      Ingo Molnar authored
      On a math-emu bootup the following crash occurs:
      
      	Initializing CPU#0
      	------------[ cut here ]------------
      	kernel BUG at arch/x86/kernel/traps.c:779!
      	invalid opcode: 0000 [#1] SMP
      	[...]
      	EIP is at do_device_not_available+0xe/0x70
      	[...]
      	Call Trace:
      	 [<c18238e6>] error_code+0x5a/0x60
      	 [<c1002bd0>] ? math_error+0x140/0x140
      	 [<c100bbd9>] ? fpu__init_cpu+0x59/0xa0
      	 [<c1012322>] cpu_init+0x202/0x330
      	 [<c104509f>] ? __native_set_fixmap+0x1f/0x30
      	 [<c1b56ab0>] trap_init+0x305/0x346
      	 [<c1b548af>] start_kernel+0x1a5/0x35d
      	 [<c1b542b4>] i386_start_kernel+0x82/0x86
      
      The reason is that in the following commit:
      
        b1276c48
      
       ("x86/fpu: Initialize fpregs in fpu__init_cpu_generic()")
      
      I failed to consider math-emu's limitation that it cannot execute the
      FNINIT instruction in kernel mode.
      
      The long term fix might be to allow math-emu to execute (certain) kernel
      mode FPU instructions, but for now apply the safe (albeit somewhat ugly)
      fix: initialize the emulation state explicitly without trapping out to
      the FPU emulator.
      
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Brian Gerst <brgerst@gmail.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Denys Vlasenko <dvlasenk@redhat.com>
      Cc: Fenghua Yu <fenghua.yu@intel.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Quentin Casasnovas <quentin.casasnovas@oracle.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      5fc96038
  4. Aug 21, 2015
    • Christoph Hellwig's avatar
      Add hch to .get_maintainer.ignore · e525293d
      Christoph Hellwig authored
      
      
      While the idea behind get_maintainer seems highly useful it's
      unfortunately way to trigger happy to grab people that once had a few
      commits to files.  For someone like me who does a lot of tree-wide API
      work that leads to an incredible amount of Cc spam.
      
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Cc: Joe Perches <joe@perches.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e525293d
    • Michal Hocko's avatar
      mm: make page pfmemalloc check more robust · 2f064f34
      Michal Hocko authored
      Commit c48a11c7 ("netvm: propagate page->pfmemalloc to skb") added
      checks for page->pfmemalloc to __skb_fill_page_desc():
      
              if (page->pfmemalloc && !page->mapping)
                      skb->pfmemalloc = true;
      
      It assumes page->mapping == NULL implies that page->pfmemalloc can be
      trusted.  However, __delete_from_page_cache() can set set page->mapping
      to NULL and leave page->index value alone.  Due to being in union, a
      non-zero page->index will be interpreted as true page->pfmemalloc.
      
      So the assumption is invalid if the networking code can see such a page.
      And it seems it can.  We have encountered this with a NFS over loopback
      setup when such a page is attached to a new skbuf.  There is no copying
      going on in this case so the page confuses __skb_fill_page_desc which
      interprets the index as pfmemalloc flag and the network stack drops
      packets that have been allocated using the reserves unless they are to
      be queued on sockets handling the swapping which is the case here and
      that leads to hangs when the nfs client waits for a response from the
      server which has been dropped and thus never arrive.
      
      The struct page is already heavily packed so rather than finding another
      hole to put it in, let's do a trick instead.  We can reuse the index
      again but define it to an impossible value (-1UL).  This is the page
      index so it should never see the value that large.  Replace all direct
      users of page->pfmemalloc by page_is_pfmemalloc which will hide this
      nastiness from unspoiled eyes.
      
      The information will get lost if somebody wants to use page->index
      obviously but that was the case before and the original code expected
      that the information should be persisted somewhere else if that is
      really needed (e.g.  what SLAB and SLUB do).
      
      [akpm@linux-foundation.org: fix blooper in slub]
      Fixes: c48a11c7
      
       ("netvm: propagate page->pfmemalloc to skb")
      Signed-off-by: default avatarMichal Hocko <mhocko@suse.com>
      Debugged-by: default avatarVlastimil Babka <vbabka@suse.com>
      Debugged-by: default avatarJiri Bohac <jbohac@suse.com>
      Cc: Eric Dumazet <eric.dumazet@gmail.com>
      Cc: David Miller <davem@davemloft.net>
      Acked-by: default avatarMel Gorman <mgorman@suse.de>
      Cc: <stable@vger.kernel.org>	[3.6+]
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2f064f34
    • Linus Torvalds's avatar
      Merge tag 'pci-v4.2-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · e45fc85a
      Linus Torvalds authored
      Pull PCI fixes from Bjorn Helgaas:
       "These are fixes for ASPM-related NULL pointer dereference crashes on
        Sparc and PowerPC and 64-bit PCI address-related HPMC crashes on
        PA-RISC.  These are both caused by things we merged in the v4.2 merge
        window.  Details:
      
        Resource management
          - Don't use 64-bit bus addresses on PA-RISC
      
        Miscellaneous
          - Tolerate hierarchies with no Root Port"
      
      * tag 'pci-v4.2-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
        PCI: Don't use 64-bit bus addresses on PA-RISC
        PCI: Tolerate hierarchies with no Root Port
      e45fc85a
    • Linus Torvalds's avatar
      Merge tag 'media/v4.2-3' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 00f76410
      Linus Torvalds authored
      Pull media fixes from Mauro Carvalho Chehab:
      
       - a regression fix at the videobuf2 core driver
      
       - fix error handling at mantis probing code
      
       - revert the IR encode patches, as the API is not mature enough.
         So, better to postpone the changes to a latter Kernel
      
       - fix Kconfig breakages on some randconfig scenarios.
      
      * tag 'media/v4.2-3' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
        [media] mantis: Fix error handling in mantis_dma_init()
        Revert "[media] rc: rc-ir-raw: Add scancode encoder callback"
        Revert "[media] rc: rc-ir-raw: Add Manchester encoder (phase encoder) helper"
        Revert "[media] rc: ir-rc5-decoder: Add encode capability"
        Revert "[media] rc: ir-rc6-decoder: Add encode capability"
        Revert "[media] rc: rc-core: Add support for encode_wakeup drivers"
        Revert "[media] rc: rc-loopback: Add loopback of filter scancodes"
        Revert "[media] rc: nuvoton-cir: Add support for writing wakeup samples via sysfs filter callback"
        [media] vb2: Fix compilation breakage when !CONFIG_BUG
        [media] vb2: Only requeue buffers immediately once streaming is started
        [media] media/pci/cobalt: fix Kconfig and build when SND is not enabled
        [media] media/dvb: fix ts2020.c Kconfig and build
      00f76410
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 7e08117d
      Linus Torvalds authored
      Pull input layer fix from Dmitry Torokhov:
       "A small fixup to gpio_keys_polled driver"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: gpio_keys_polled - request GPIO pin as input.
      7e08117d
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · dc9c12f4
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "A bunch of i915 fixes, one revert a VBT fix that was a bit premature,
        and some braswell feature removal that the hw actually didn't support.
      
        One radeon race fix at boot, and one hlcdc build fix, one fix from
        Russell that fixes build as well with new audio features.
      
        This is hopefully all I have until -next"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/radeon: fix hotplug race at startup
        drm/edid: add function to help find SADs
        drm/i915: Avoid TP3 on CHV
        drm/i915: remove HBR2 from chv supported list
        Revert "drm/i915: Add eDP intermediate frequencies for CHV"
        Revert "drm/i915: Allow parsing of variable size child device entries from VBT"
        drm/atmel-hlcdc: Compile suspend/resume for PM_SLEEP only
        drm/i915: Flag the execlists context object as dirty after every use
      dc9c12f4
    • Dave Airlie's avatar
      drm/radeon: fix hotplug race at startup · 7f98ca45
      Dave Airlie authored
      
      
      We apparantly get a hotplug irq before we've initialised
      modesetting,
      
      [drm] Loading R100 Microcode
      BUG: unable to handle kernel NULL pointer dereference at   (null)
      IP: [<c125f56f>] __mutex_lock_slowpath+0x23/0x91
      *pde = 00000000
      Oops: 0002 [#1]
      Modules linked in: radeon(+) drm_kms_helper ttm drm i2c_algo_bit backlight pcspkr psmouse evdev sr_mod input_leds led_class cdrom sg parport_pc parport floppy intel_agp intel_gtt lpc_ich acpi_cpufreq processor button mfd_core agpgart uhci_hcd ehci_hcd rng_core snd_intel8x0 snd_ac97_codec ac97_bus snd_pcm usbcore usb_common i2c_i801 i2c_core snd_timer snd soundcore thermal_sys
      CPU: 0 PID: 15 Comm: kworker/0:1 Not tainted 4.2.0-rc7-00015-gbf67402 #111
      Hardware name: MicroLink                               /D850MV                         , BIOS MV85010A.86A.0067.P24.0304081124 04/08/2003
      Workqueue: events radeon_hotplug_work_func [radeon]
      task: f6ca5900 ti: f6d3e000 task.ti: f6d3e000
      EIP: 0060:[<c125f56f>] EFLAGS: 00010282 CPU: 0
      EIP is at __mutex_lock_slowpath+0x23/0x91
      EAX: 00000000 EBX: f5e900fc ECX: 00000000 EDX: fffffffe
      ESI: f6ca5900 EDI: f5e90100 EBP: f5e90000 ESP: f6d3ff0c
       DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068
      CR0: 8005003b CR2: 00000000 CR3: 36f61000 CR4: 000006d0
      Stack:
       f5e90100 00000000 c103c4c1 f6d2a5a0 f5e900fc f6df394c c125f162 f8b0faca
       f6d2a5a0 c138ca00 f6df394c f7395600 c1034741 00d40000 00000000 f6d2a5a0
       c138ca00 f6d2a5b8 c138ca10 c1034b58 00000001 f6d40000 f6ca5900 f6d0c940
      Call Trace:
       [<c103c4c1>] ? dequeue_task_fair+0xa4/0xb7
       [<c125f162>] ? mutex_lock+0x9/0xa
       [<f8b0faca>] ? radeon_hotplug_work_func+0x17/0x57 [radeon]
       [<c1034741>] ? process_one_work+0xfc/0x194
       [<c1034b58>] ? worker_thread+0x18d/0x218
       [<c10349cb>] ? rescuer_thread+0x1d5/0x1d5
       [<c103742a>] ? kthread+0x7b/0x80
       [<c12601c0>] ? ret_from_kernel_thread+0x20/0x30
       [<c10373af>] ? init_completion+0x18/0x18
      Code: 42 08 e8 8e a6 dd ff c3 57 56 53 83 ec 0c 8b 35 48 f7 37 c1 8b 10 4a 74 1a 89 c3 8d 78 04 8b 40 08 89 63
      
      Reported-and-Tested-by: default avatarMeelis Roos <mroos@linux.ee>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      7f98ca45
    • Dave Airlie's avatar
      Merge tag 'drm-intel-fixes-2015-08-20' of git://anongit.freedesktop.org/drm-intel into drm-fixes · bef7d196
      Dave Airlie authored
      Revert of a VBT parsing commit that should've been queued for drm-next,
      not v4.2. The revert unbreaks Braswell among other things.
      
      Also on Braswell removal of DP HBR2/TP3 and intermediate eDP frequency
      support. The code was optimistically added based on incorrect
      documentation; the platform does not support them. These are cc: stable.
      
      Finally a gpu state fix from Chris, also cc: stable.
      
      * tag 'drm-intel-fixes-2015-08-20' of git://anongit.freedesktop.org/drm-intel:
        drm/i915: Avoid TP3 on CHV
        drm/i915: remove HBR2 from chv supported list
        Revert "drm/i915: Add eDP intermediate frequencies for CHV"
        Revert "drm/i915: Allow parsing of variable size child device entries from VBT"
        drm/i915: Flag the execlists context object as dirty after every use
      bef7d196
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-4.2-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 0bad9098
      Linus Torvalds authored
      Pull power management and ACPI fixes from Rafael Wysocki:
       "These fix a recent regression in the ACPI backlight code and a memory
        leak in the Exynos cpufreq driver.
      
        Specifics:
      
         - Fix a recently introduced issue in the ACPI backlight code which
           causes lockdep to complain about a circular lock dependency during
           initialization (Hans de Goede).
      
         - Fix a possible memory during initialization in the Exynos cpufreq
           driver (Shailendra Verma)"
      
      * tag 'pm+acpi-4.2-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        cpufreq: exynos: Fix for memory leak in case SoC name does not match
        ACPI / video: Fix circular lock dependency issue in the video-detect code
      0bad9098
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-video' and 'cpufreq-fixes' · b8a1171f
      Rafael J. Wysocki authored
      * acpi-video:
        ACPI / video: Fix circular lock dependency issue in the video-detect code
      
      * cpufreq-fixes:
        cpufreq: exynos: Fix for memory leak in case SoC name does not match
      b8a1171f
    • Bjorn Helgaas's avatar
      PCI: Don't use 64-bit bus addresses on PA-RISC · 45ea2a5f
      Bjorn Helgaas authored
      Meelis and Helge reported that 3a9ad0b4 ("PCI: Add pci_bus_addr_t")
      caused HPMCs on A500 and hangs on rp5470.
      
      PA-RISC does not set ARCH_DMA_ADDR_T_64BIT, even for 64-bit kernels, so
      prior to 3a9ad0b4, we always used 32-bit PCI addresses.  After
      3a9ad0b4, we do use 64-bit PCI addresses in 64-bit kernels, and
      apparently there's some PA-RISC problem related to them.
      
      Fixes: 3a9ad0b4 ("PCI: Add pci_bus_addr_t")
      Link: http://lkml.kernel.org/r/alpine.LRH.2.11.1507260929000.30065@math.ut.ee
      
      
      Reported-by: default avatarMeelis Roos <mroos@linux.ee>
      Reported-by: default avatarHelge Deller <deller@gmx.de>
      Tested-by: default avatarHelge Deller <deller@gmx.de>
      Based-on-idea-by: default avatarYinghai Lu <yinghai@kernel.org>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Acked-by: default avatarYinghai Lu <yinghai@kernel.org>
      CC: stable@vger.kernel.org	# v3.19+
      45ea2a5f
  5. Aug 20, 2015