1. 05 4月, 2017 8 次提交
    • B
      x86/efi/bgrt: Move efi-bgrt handling out of arch/x86 · 75def552
      Bhupesh Sharma 提交于
      Now with open-source boot firmware (EDK2) supporting ACPI BGRT table
      addition even for architectures like AARCH64, it makes sense to move
      out the 'efi-bgrt.c' file and supporting infrastructure from 'arch/x86'
      directory and house it inside 'drivers/firmware/efi', so that this common
      code can be used across architectures.
      Signed-off-by: NBhupesh Sharma <bhsharma@redhat.com>
      Signed-off-by: NArd Biesheuvel <ard.biesheuvel@linaro.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Matt Fleming <matt@codeblueprint.co.uk>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: linux-efi@vger.kernel.org
      Link: http://lkml.kernel.org/r/20170404160245.27812-7-ard.biesheuvel@linaro.orgSigned-off-by: NIngo Molnar <mingo@kernel.org>
      75def552
    • A
      efi/arm-stub: Round up FDT allocation to mapping size · 24d7c494
      Ard Biesheuvel 提交于
      The FDT is mapped via a fixmap entry that is at least 2 MB in size and
      2 MB aligned on 4 KB page size kernels.
      
      On UEFI systems, the FDT allocation may share this 2 MB mapping with a
      reserved region (or another memory region that we should never map),
      unless we account for this in the size of the allocation (the alignment
      is already 2 MB)
      
      So instead of taking guesses at the needed space, simply allocate 2 MB
      immediately. The allocation will be recorded as EFI_LOADER_DATA, and the
      kernel only memblock_reserve()'s the actual size of the FDT, so the
      unused space will be released back to the kernel.
      Reviewed-By: NJeffrey Hugo <jhugo@codeaurora.org>
      Tested-by: NRichard Ruigrok <rruigrok@codeaurora.org>
      Signed-off-by: NArd Biesheuvel <ard.biesheuvel@linaro.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Matt Fleming <matt@codeblueprint.co.uk>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: linux-efi@vger.kernel.org
      Link: http://lkml.kernel.org/r/20170404160245.27812-6-ard.biesheuvel@linaro.orgSigned-off-by: NIngo Molnar <mingo@kernel.org>
      24d7c494
    • A
      efi/arm-stub: Correct FDT and initrd allocation rules for arm64 · 138728dd
      Ard Biesheuvel 提交于
      On arm64, we have made some changes over the past year to the way the
      kernel itself is allocated and to how it deals with the initrd and FDT.
      This patch brings the allocation logic in the EFI stub in line with that,
      which is necessary because the introduction of KASLR has created the
      possibility for the initrd to be allocated in a place where the kernel
      may not be able to map it. (This is mostly a theoretical scenario, since
      it only affects systems where the physical memory footprint exceeds the
      size of the linear mapping.)
      
      Since we know the kernel itself will be covered by the linear mapping,
      choose a suitably sized window (i.e., based on the size of the linear
      region) covering the kernel when allocating memory for the initrd.
      
      The FDT may be anywhere in memory on arm64 now that we map it via the
      fixmap, so we can lift the address restriction there completely.
      Tested-by: NRichard Ruigrok <rruigrok@codeaurora.org>
      Signed-off-by: NArd Biesheuvel <ard.biesheuvel@linaro.org>
      Reviewed-by: NJeffrey Hugo <jhugo@codeaurora.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Matt Fleming <matt@codeblueprint.co.uk>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: linux-efi@vger.kernel.org
      Link: http://lkml.kernel.org/r/20170404160245.27812-4-ard.biesheuvel@linaro.orgSigned-off-by: NIngo Molnar <mingo@kernel.org>
      138728dd
    • A
      efi/fb: Avoid reconfiguration of BAR that covers the framebuffer · 55d728a4
      Ard Biesheuvel 提交于
      On UEFI systems, the PCI subsystem is enumerated by the firmware,
      and if a graphical framebuffer is exposed via a PCI device, its base
      address and size are exposed to the OS via the Graphics Output
      Protocol (GOP).
      
      On arm64 PCI systems, the entire PCI hierarchy is reconfigured from
      scratch at boot. This may result in the GOP framebuffer address to
      become stale, if the BAR covering the framebuffer is modified. This
      will cause the framebuffer to become unresponsive, and may in some
      cases result in unpredictable behavior if the range is reassigned to
      another device.
      
      So add a non-x86 quirk to the EFI fb driver to find the BAR associated
      with the GOP base address, and claim the BAR resource so that the PCI
      core will not move it.
      Signed-off-by: NArd Biesheuvel <ard.biesheuvel@linaro.org>
      Cc: <stable@vger.kernel.org> # v4.7+
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Matt Fleming <matt@codeblueprint.co.uk>
      Cc: Peter Jones <pjones@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: leif.lindholm@linaro.org
      Cc: linux-efi@vger.kernel.org
      Cc: lorenzo.pieralisi@arm.com
      Fixes: 9822504c ("efifb: Enable the efi-framebuffer platform driver ...")
      Link: http://lkml.kernel.org/r/20170404152744.26687-3-ard.biesheuvel@linaro.orgSigned-off-by: NIngo Molnar <mingo@kernel.org>
      55d728a4
    • C
      efi/libstub: Skip GOP with PIXEL_BLT_ONLY format · 540f4c0e
      Cohen, Eugene 提交于
      The UEFI Specification permits Graphics Output Protocol (GOP) instances
      without direct framebuffer access. This is indicated in the Mode structure
      with a PixelFormat enumeration value of PIXEL_BLT_ONLY. Given that the
      kernel does not know how to drive a Blt() only framebuffer (which is only
      permitted before ExitBootServices() anyway), we should disregard such
      framebuffers when looking for a GOP instance that is suitable for use as
      the boot console.
      
      So modify the EFI GOP initialization to not use a PIXEL_BLT_ONLY instance,
      preventing attempts later in boot to use an invalid screen_info.lfb_base
      address.
      Signed-off-by: NEugene Cohen <eugene@hp.com>
      [ Moved the Blt() only check into the loop and clarified that Blt() only GOPs are unusable by the kernel. ]
      Signed-off-by: NArd Biesheuvel <ard.biesheuvel@linaro.org>
      Cc: <stable@vger.kernel.org> # v4.7+
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Matt Fleming <matt@codeblueprint.co.uk>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: leif.lindholm@linaro.org
      Cc: linux-efi@vger.kernel.org
      Cc: lorenzo.pieralisi@arm.com
      Fixes: 9822504c ("efifb: Enable the efi-framebuffer platform driver ...")
      Link: http://lkml.kernel.org/r/20170404152744.26687-2-ard.biesheuvel@linaro.orgSigned-off-by: NIngo Molnar <mingo@kernel.org>
      540f4c0e
    • L
      Merge tag 'gpio-v4.11-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 308ac756
      Linus Torvalds 提交于
      Pull late GPIO fixes from Linus Walleij:
       "Some late coming ACPI fixes for GPIO.
      
        We're dealing with ACPI issues here. The first is related to wake IRQs
        on Bay Trail/Cherry Trail CPUs which are common in laptops. The second
        is about proper probe deferral when reading _CRS properties.
      
        For my untrained eye it seems there was some quarrel between the BIOS
        and the kernel about who is supposed to deal with wakeups from GPIO
        lines"
      
      * tag 'gpio-v4.11-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
        ACPI / gpio: do not fall back to parsing _CRS when we get a deferral
        gpio: acpi: Call enable_irq_wake for _IAE GpioInts with Wake set
      308ac756
    • L
      Merge tag 'nios2-v4.11-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/lftan/nios2 · b824a957
      Linus Torvalds 提交于
      Pull nios2 fix from Ley Foon Tan:
      
       - nios2: reserve boot memory for device tree
      
      * tag 'nios2-v4.11-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/lftan/nios2:
        nios2: reserve boot memory for device tree
      b824a957
    • L
      Merge tag 'drm-fixes-for-v4.11-rc6' of git://people.freedesktop.org/~airlied/linux · 1a589c04
      Linus Torvalds 提交于
      Pull drm fixes from Dave Airlie:
       "This is just mostly stuff that missed rc5, from vmwgfx and msm
        drivers"
      
      * tag 'drm-fixes-for-v4.11-rc6' of git://people.freedesktop.org/~airlied/linux:
        drm/msm: Make sure to detach the MMU during GPU cleanup
        drm/msm/hdmi: redefinitions of macros not required
        drm/msm/mdp5: Update SSPP_MAX value
        drm/msm/dsi: Fix bug in dsi_mgr_phy_enable
        drm/msm: Don't allow zero sized buffer objects
        drm/msm: Fix wrong pointer check in a5xx_destroy
        drm/msm: adreno: fix build error without debugfs
        drm/vmwgfx: fix integer overflow in vmw_surface_define_ioctl()
        drm/vmwgfx: Remove getparam error message
        drm/ttm: Avoid calling drm_ht_remove from atomic context
        drm/ttm, drm/vmwgfx: Relax permission checking when opening surfaces
        drm/vmwgfx: avoid calling vzalloc with a 0 size in vmw_get_cap_3d_ioctl()
        drm/vmwgfx: NULL pointer dereference in vmw_surface_define_ioctl()
        drm/vmwgfx: Type-check lookups of fence objects
      1a589c04
  2. 04 4月, 2017 10 次提交
  3. 03 4月, 2017 11 次提交
  4. 02 4月, 2017 10 次提交
    • L
      Merge branch 'parisc-4.11-3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 346ce1d7
      Linus Torvalds 提交于
      Pull parisc fixes from Helge Deller:
       "Al Viro reported that - in case of read faults - our copy_from_user()
        implementation may claim to have copied more bytes than it actually
        did. In order to fix this bug and because of the way how gcc optimizes
        register usage for inline assembly in C code, we had to replace our
        pa_memcpy() function with a pure assembler implementation.
      
        While fixing the memcpy bug we noticed some other issues with our
        get_user() and put_user() functions, e.g. nested faults may return
        wrong data. This is now fixed by a common fixup handler for
        get_user/put_user in the exception handler which additionally makes
        generated code smaller and faster.
      
        The third patch is a trivial one-line fix for a patch which went in
        during 4.11-rc and which avoids stalled CPU warnings after power
        shutdown (for parisc machines which can't plug power off themselves).
      
        Due to the rewrite of pa_memcpy() into assembly this patch got bigger
        than what I wanted to have sent at this stage.
      
        Those patches have been running in production during the last few days
        on our debian build servers without any further issues"
      
      * 'parisc-4.11-3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Avoid stalled CPU warnings after system shutdown
        parisc: Clean up fixup routines for get_user()/put_user()
        parisc: Fix access fault handling in pa_memcpy()
      346ce1d7
    • L
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 7d34ddbe
      Linus Torvalds 提交于
      Pull SCSI fixes from James Bottomley:
       "Thirteen small fixes: The hopefully final effort to get the lpfc nvme
        kconfig problems sorted, there's one important sg fix (user can induce
        read after end of buffer) and one minor enhancement (adding an extra
        PCI ID to qedi). The rest are a set of minor fixes, which mostly occur
        as user visible in error legs or on specific devices"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: ufs: remove the duplicated checking for supporting clkscaling
        scsi: lpfc: fix building without debugfs support
        scsi: lpfc: Fix PT2PT PRLI reject
        scsi: hpsa: fix volume offline state
        scsi: libsas: fix ata xfer length
        scsi: scsi_dh_alua: Warn if the first argument of alua_rtpg_queue() is NULL
        scsi: scsi_dh_alua: Ensure that alua_activate() calls the completion function
        scsi: scsi_dh_alua: Check scsi_device_get() return value
        scsi: sg: check length passed to SG_NEXT_CMD_LEN
        scsi: ufshcd-platform: remove the useless cast in ERR_PTR/IS_ERR
        scsi: qedi: Add PCI device-ID for QL41xxx adapters.
        scsi: aacraid: Fix potential null access
        scsi: qla2xxx: Fix crash in qla2xxx_eh_abort on bad ptr
      7d34ddbe
    • L
      Merge branch 'akpm' (patches from Andrew) · 978e0f92
      Linus Torvalds 提交于
      Merge misc fixes from Andrew Morton:
       "11 fixes"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        kasan: do not sanitize kexec purgatory
        drivers/rapidio/devices/tsi721.c: make module parameter variable name unique
        mm/hugetlb.c: don't call region_abort if region_chg fails
        kasan: report only the first error by default
        hugetlbfs: initialize shared policy as part of inode allocation
        mm: fix section name for .data..ro_after_init
        mm, hugetlb: use pte_present() instead of pmd_present() in follow_huge_pmd()
        mm: workingset: fix premature shadow node shrinking with cgroups
        mm: rmap: fix huge file mmap accounting in the memcg stats
        mm: move mm_percpu_wq initialization earlier
        mm: migrate: fix remove_migration_pte() for ksm pages
      978e0f92
    • L
      Merge tag 'usb-4.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · a9f6b6b8
      Linus Torvalds 提交于
      Pull USB fixes from Greg KH:
       "Here are some small USB fixes for 4.11-rc5.
      
        The usual xhci fixes are here, as well as a fix for yet-another-bug-
        found-by-KASAN, those developers are doing great stuff here.
      
        And there's a phy build warning fix that showed up in 4.11-rc1.
      
        All of these have been in linux-next with no reported issues"
      
      * tag 'usb-4.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        usb: phy: isp1301: Fix build warning when CONFIG_OF is disabled
        xhci: Manually give back cancelled URB if we can't queue it for cancel
        xhci: Set URB actual length for stopped control transfers
        xhci: plat: Register shutdown for xhci_plat
        USB: fix linked-list corruption in rh_call_control()
      a9f6b6b8
    • L
      Merge tag 'tty-4.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · b3ff4fac
      Linus Torvalds 提交于
      Pull tty/serial fixes from Greg KH:
       "Here are some small fixes for some serial drivers and Kconfig help
        text for 4.11-rc5. Nothing major here at all, a few things resolving
        reported bugs in some random serial drivers.
      
        I don't think these made the last linux-next due to me getting to them
        yesterday, but I am not sure, they might have snuck in. The patches
        only affect drivers that the maintainers of sent me these patches for,
        so we should be safe here :)"
      
      * tag 'tty-4.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        tty: pl011: fix earlycon work-around for QDF2400 erratum 44
        serial: 8250_EXAR: fix duplicate Kconfig text and add missing help text
        tty/serial: atmel: fix TX path in atmel_console_write()
        tty/serial: atmel: fix race condition (TX+DMA)
        serial: mxs-auart: Fix baudrate calculation
      b3ff4fac
    • L
      Merge tag 'acpi-4.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 7ece03b0
      Linus Torvalds 提交于
      Pull ACPI fixes from Rafael Wysocki:
       "These fix two issues related to IOAPIC hotplug, an overzealous build
        optimization that prevents the function graph tracer from working with
        the ACPI subsystem correctly and an RCU synchronization issue in the
        ACPI APEI code.
      
        Specifics:
      
         - drop the unconditional setting of the '-Os' gcc flag from the ACPI
           Makefile to make the function graph tracer work correctly with the
           ACPI subsystem (Josh Poimboeuf).
      
         - add missing synchronize_rcu() to ghes_remove() which removes an
           element from an RCU-protected list, but fails to synchronize it
           properly afterward (James Morse).
      
         - fix two problems related to IOAPIC hotplug, a local variable
           initialization in setup_res() and the creation of platform device
           objects for IO(x)APICs which are (a) unused and (b) leaked on
           hot-removal (Joerg Roedel)"
      
      * tag 'acpi-4.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI: Fix incompatibility with mcount-based function graph tracing
        ACPI / APEI: Add missing synchronize_rcu() on NOTIFY_SCI removal
        ACPI: Do not create a platform_device for IOAPIC/IOxAPIC
        ACPI: ioapic: Clear on-stack resource before using it
      7ece03b0
    • L
      Merge tag 'pm-4.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 0d2ceec6
      Linus Torvalds 提交于
      Pull power management fixes from Rafael Wysocki:
       "These fix a cpufreq core issue with the initialization of the cpufreq
        sysfs interface and a cpuidle powernv driver initialization issue.
      
        Specifics:
      
         - symbolic links from CPU directories to the corresponding cpufreq
           policy directories in sysfs are not created during initialization
           in some cases which confuses user space, so prevent that from
           happening (Rafael Wysocki).
      
         - the powernv cpuidle driver fails to pass a correct cpumaks to the
           cpuidle core in some cases which causes subsequent failures to
           occur, so fix it (Vaidyanathan Srinivasan)"
      
      * tag 'pm-4.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        cpuidle: powernv: Pass correct drv->cpumask for registration
        cpufreq: Fix creation of symbolic links to policy directories
      0d2ceec6
    • L
      Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 1300dc68
      Linus Torvalds 提交于
      Pull i2c fixes from Wolfram Sang:
       "Two bugfixes from I2C, specifically the I2C mux section. Thanks to
        peda for collecting them"
      
      * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: mux: pca954x: Add missing pca9546 definition to chip_desc
        Revert "i2c: mux: pca954x: Add ACPI support for pca954x"
      1300dc68
    • L
      Merge tag 'arc-4.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc · dcbcb491
      Linus Torvalds 提交于
      Pull ARC fixes from Vineet Gupta:
       "Accumulated fixes for ARC which I've been been sitting on for a while:
      
         - reading clk from driver vs device tree [Vlad]
      
         - fix support for UIO in VDK platform [Alexey]
      
         - SLC busy bit reading workaround
      
         - build warning with kprobes header reorg"
      
      * tag 'arc-4.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
        ARC: fix build warnings with !CONFIG_KPROBES
        ARCv2: SLC: Make sure busy bit is set properly on SLC flushing
        ARC: vdk: Fix support of UIO
        ARCv2: make unimplemented vectors as no-ops rather than halt core
        ARC: get rate from clk driver instead of reading device tree
        ARC: [dts] add cpu nodes to ARCHS SMP device tree
        ARC: [dts] add input clocks for cpu nodes
      dcbcb491
    • L
      Merge tag 'nfsd-4.11-1' of git://linux-nfs.org/~bfields/linux · 09c8b3d1
      Linus Torvalds 提交于
      Pull nfsd fixes from Bruce Fields:
       "The restriction of NFSv4 to TCP went overboard and also broke the
        backchannel; fix.
      
        Also some minor refinements to the nfsd version-setting interface that
        we'd like to get fixed before release"
      
      * tag 'nfsd-4.11-1' of git://linux-nfs.org/~bfields/linux:
        svcrdma: set XPT_CONG_CTRL flag for bc xprt
        NFSD: fix nfsd_reset_versions for NFSv4.
        NFSD: fix nfsd_minorversion(.., NFSD_AVAIL)
        NFSD: further refinement of content of /proc/fs/nfsd/versions
        nfsd: map the ENOKEY to nfserr_perm for avoiding warning
        SUNRPC/backchanel: set XPT_CONG_CTRL flag for bc xprt
      09c8b3d1
  5. 01 4月, 2017 1 次提交