1. 01 Feb, 2017 10 commits
  2. 28 Jan, 2017 1 commit
    • Jiri Kosina's avatar
      x86/efi: Always map the first physical page into the EFI pagetables · bf29bddf
      Jiri Kosina authored
      Commit:
      
        12976670 ("x86/efi: Only map RAM into EFI page tables if in mixed-mode")
      
      stopped creating 1:1 mappings for all RAM, when running in native 64-bit mode.
      
      It turns out though that there are 64-bit EFI implementations in the wild
      (this particular problem has been reported on a Lenovo Yoga 710-11IKB),
      which still make use of the first physical page for their own private use,
      even though they explicitly mark it EFI_CONVENTIONAL_MEMORY in the memory
      map.
      
      In case there is no mapping for this particular frame in the EFI pagetables,
      as soon as firmware tries to make use of it, a triple fault occurs and the
      system reboots (in case of the Yoga 710-11IKB this is very early during bootup).
      
      Fix that by always mapping the first page of physical memory into the EFI
      pagetables. We're free to hand this page to the BIOS, as trim_bios_range()
      will reserve the first page and isolate it away from memory allocators anyway.
      
      Note that just reverting 12976670 alone is not enough on v4.9-rc1+ to fix the
      regression on affected hardware, as this commit:
      
         ab72a27d ("x86/efi: Consolidate region mapping logic")
      
      later made the first physical frame not to be mapped anyway.
      Reported-by: default avatarHanka Pavlikova <hanka@ucw.cz>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      Signed-off-by: default avatarMatt Fleming <matt@codeblueprint.co.uk>
      Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: Laura Abbott <labbott@redhat.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Vojtech Pavlik <vojtech@ucw.cz>
      Cc: Waiman Long <waiman.long@hpe.com>
      Cc: linux-efi@vger.kernel.org
      Cc: stable@kernel.org # v4.8+
      Fixes: 12976670 ("x86/efi: Only map RAM into EFI page tables if in mixed-mode")
      Link: http://lkml.kernel.org/r/20170127222552.22336-1-matt@codeblueprint.co.uk
      [ Tidied up the changelog and the comment. ]
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      bf29bddf
  3. 25 Jan, 2017 27 commits
  4. 24 Jan, 2017 2 commits
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v4.10-4' of git://git.infradead.org/linux-platform-drivers-x86 · 0263d4eb
      Linus Torvalds authored
      Pull x86 platform-driver fixes from Andy Shevchenko:
       "This is my first pull request since I become a co-maintainer of
        Platform Drivers x86 subsystem. It's a bit bigger than usual due to
        material collected for almost two weeks in a row.
      
        MAINTAINERS:
         - Add myself to X86 PLATFORM DRIVERS as a co-maintainer
      
        ideapad-laptop:
         - handle ACPI event 1
      
        intel_mid_powerbtn:
         - Set IRQ_ONESHOT
      
        surface3-wmi:
         - fix uninitialized symbol
         - Shut up unused-function warning
      
        mlx-platform:
         - free first dev on error"
      
      * tag 'platform-drivers-x86-v4.10-4' of git://git.infradead.org/linux-platform-drivers-x86:
        MAINTAINERS: Add myself to X86 PLATFORM DRIVERS as a co-maintainer
        platform/x86: ideapad-laptop: handle ACPI event 1
        platform/x86: intel_mid_powerbtn: Set IRQ_ONESHOT
        platform/x86: surface3-wmi: fix uninitialized symbol
        platform/x86: surface3-wmi: Shut up unused-function warning
        platform/x86: mlx-platform: free first dev on error
      0263d4eb
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace · 19ca2c8f
      Linus Torvalds authored
      Pull namespace fix from Eric Biederman:
       "This has a single brown bag fix.
      
        The possible deadlock with dec_pid_namespaces that I had thought was
        fixed earlier turned out only to have been moved. So instead of being
        cleaver this change takes ucounts_lock with irqs disabled. So
        dec_ucount can be used from any context without fear of deadlock.
      
        The items accounted for dec_ucount and inc_ucount are all
        comparatively heavy weight objects so I don't exepct this will have
        any measurable performance impact"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
        userns: Make ucounts lock irq-safe
      19ca2c8f