lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200128074850.GA27168@gmail.com>
Date:   Tue, 28 Jan 2020 08:48:50 +0100
From:   Ingo Molnar <mingo@...nel.org>
To:     Linus Torvalds <torvalds@...ux-foundation.org>
Cc:     linux-kernel@...r.kernel.org,
        Ard Biesheuvel <ard.biesheuvel@...aro.org>,
        Thomas Gleixner <tglx@...utronix.de>,
        Borislav Petkov <bp@...en8.de>,
        Peter Zijlstra <a.p.zijlstra@...llo.nl>,
        Andrew Morton <akpm@...ux-foundation.org>
Subject: [GIT PULL] EFI changes for v5.6

Linus,

Please pull the latest efi-core-for-linus git tree from:

   git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git efi-core-for-linus

   # HEAD: ac6119e7f25b842fc061e8aec88c4f32d3bc28ef efi/x86: Disable instrumentation in the EFI runtime handling code

The main changes in this cycle were:

 - Cleanup of the GOP [graphics output] handling code in the EFI stub
 - Complete refactoring of the mixed mode handling in the x86 EFI stub
 - Overhaul of the x86 EFI boot/runtime code
 - Increase robustness for mixed mode code
 - Add the ability to disable DMA at the root port level in the EFI stub
 - Get rid of RWX mappings in the EFI memory map and page tables, where possible
 - Move the support code for the old EFI memory mapping style into its only
   user, the SGI UV1+ support code.
 - plus misc fixes, updates, smaller cleanups.

 - And due to interactions with the RWX changes, another round of PAT 
   cleanups make a guest appearance via the EFI tree - with no side 
   effects intended.

 Thanks,

	Ingo

------------------>
Anshuman Khandual (1):
      efi: Fix comment for efi_mem_type() wrt absent physical addresses

Ard Biesheuvel (46):
      efi/libstub: Remove unused __efi_call_early() macro
      efi/x86: Rename efi_is_native() to efi_is_mixed()
      efi/libstub: Use a helper to iterate over a EFI handle array
      efi/libstub: Extend native protocol definitions with mixed_mode aliases
      efi/libstub: Distinguish between native/mixed not 32/64 bit
      efi/libstub: Drop explicit 32/64-bit protocol definitions
      efi/libstub: Use stricter typing for firmware function pointers
      efi/libstub: Annotate firmware routines as __efiapi
      efi/libstub/x86: Avoid thunking for native firmware calls
      efi/libstub: Avoid protocol wrapper for file I/O routines
      efi/libstub: Get rid of 'sys_table_arg' macro parameter
      efi/libstub: Unify the efi_char16_printk implementations
      efi/libstub/x86: Drop __efi_early() export and efi_config struct
      efi/libstub: Drop sys_table_arg from printk routines
      efi/libstub: Remove 'sys_table_arg' from all function prototypes
      efi/libstub/x86: Work around page freeing issue in mixed mode
      efi/libstub: Drop protocol argument from efi_call_proto() macro
      efi/libstub: Drop 'table' argument from efi_table_attr() macro
      efi/libstub: Rename efi_call_early/_runtime macros to be more intuitive
      efi/libstub: Tidy up types and names of global cmdline variables
      efi/libstub/x86: Avoid globals to store context during mixed mode calls
      efi/libstub: Fix boot argument handling in mixed mode entry code
      efi/libstub/x86: Force 'hidden' visibility for extern declarations
      efi/x86: Re-disable RT services for 32-bit kernels running on 64-bit EFI
      efi/x86: Map the entire EFI vendor string before copying it
      efi/x86: Avoid redundant cast of EFI firmware service pointer
      efi/x86: Split off some old memmap handling into separate routines
      efi/x86: Split SetVirtualAddresMap() wrappers into 32 and 64 bit versions
      efi/x86: Simplify i386 efi_call_phys() firmware call wrapper
      efi/x86: Simplify 64-bit EFI firmware call wrapper
      efi/x86: Simplify mixed mode call wrapper
      efi/x86: Drop two near identical versions of efi_runtime_init()
      efi/x86: Clean up efi_systab_init() routine for legibility
      efi/x86: Don't panic or BUG() on non-critical error conditions
      efi/x86: Remove unreachable code in kexec_enter_virtual_mode()
      efi/libstub/x86: Use const attribute for efi_is_64bit()
      efi/libstub/x86: Use mandatory 16-byte stack alignment in mixed mode
      x86/mm: Fix NX bit clearing issue in kernel_map_pages_in_pgd
      efi/x86: Don't map the entire kernel text RW for mixed mode
      efi/x86: Avoid RWX mappings for all of DRAM
      efi/x86: Limit EFI old memory map to SGI UV machines
      efi/arm: Defer probe of PCIe backed efifb on DT systems
      efi/x86: avoid KASAN false positives when accessing the 1: 1 mapping
      x86/boot/compressed: Relax sed symbol type regex for LLVM ld.lld
      efi/x86: Disallow efi=old_map in mixed mode
      efi/x86: Disable instrumentation in the EFI runtime handling code

Arnd Bergmann (1):
      efi/libstub/x86: Fix unused-variable warning

Arvind Sankar (6):
      efi/gop: Remove bogus packed attribute from GOP structures
      efi/gop: Remove unused typedef
      efi/gop: Convert GOP structures to typedef and clean up some types
      efi/gop: Unify 32/64-bit functions
      efi/x86: Check number of arguments to variadic functions
      efi/x86: Allow translating 64-bit arguments for mixed mode calls

Dan Williams (4):
      efi: Add a flags parameter to efi_memory_map
      efi: Add tracking for dynamically allocated memmaps
      efi: Fix efi_memmap_alloc() leaks
      efi: Fix handling of multiple efi_fake_mem= entries

Ingo Molnar (16):
      x86/setup: Clean up the header portion of setup.c
      x86/setup: Enhance the comments
      x86/mm/pat: Update the comments in pat.c and pat_interval.c and refresh the code a bit
      x86/mm/pat: Disambiguate PAT-disabled boot messages
      x86/mm/pat: Create fixed width output in /sys/kernel/debug/x86/pat_memtype_list, similar to the E820 debug printouts
      x86/mm/pat: Simplify the free_memtype() control flow
      x86/mm/pat: Harmonize 'struct memtype *' local variable and function parameter use
      x86/mm/pat: Clean up PAT initialization flags
      x86/mm/pat: Move the memtype related files to arch/x86/mm/pat/
      x86/mm/pat: Standardize on memtype_*() prefix for APIs
      x86/mm/pat: Rename <asm/pat.h> => <asm/memtype.h>
      x86/mm/pat: Clean up <asm/memtype.h> externs
      x86/mm/pat: Fix typo in the Kconfig help text
      x86/mm: Tabulate the page table encoding definitions
      mm/vmalloc: Add empty <asm/vmalloc.h> headers and use them from <linux/vmalloc.h>
      mm, x86/mm: Untangle address space layout definitions from basic pgtable type definitions

Matthew Garrett (1):
      efi: Allow disabling PCI busmastering on bridges during boot

Qian Cai (1):
      efi/libstub/x86: Fix EFI server boot failure

kbuild test robot (1):
      x86/mm/pat: Mark __cpa_flush_tlb() as static


 Documentation/admin-guide/kernel-parameters.txt |  10 +-
 arch/alpha/include/asm/vmalloc.h                |   4 +
 arch/arc/include/asm/vmalloc.h                  |   4 +
 arch/arm/include/asm/efi.h                      |  17 +-
 arch/arm/include/asm/vmalloc.h                  |   4 +
 arch/arm64/include/asm/efi.h                    |  16 +-
 arch/arm64/include/asm/vmalloc.h                |   4 +
 arch/c6x/include/asm/vmalloc.h                  |   4 +
 arch/csky/include/asm/vmalloc.h                 |   4 +
 arch/h8300/include/asm/vmalloc.h                |   4 +
 arch/hexagon/include/asm/vmalloc.h              |   4 +
 arch/ia64/include/asm/vmalloc.h                 |   4 +
 arch/m68k/include/asm/vmalloc.h                 |   4 +
 arch/microblaze/include/asm/vmalloc.h           |   4 +
 arch/mips/include/asm/vmalloc.h                 |   4 +
 arch/nds32/include/asm/vmalloc.h                |   4 +
 arch/nios2/include/asm/vmalloc.h                |   4 +
 arch/openrisc/include/asm/vmalloc.h             |   4 +
 arch/parisc/include/asm/vmalloc.h               |   4 +
 arch/powerpc/include/asm/vmalloc.h              |   4 +
 arch/riscv/include/asm/vmalloc.h                |   4 +
 arch/s390/include/asm/vmalloc.h                 |   4 +
 arch/sh/include/asm/vmalloc.h                   |   4 +
 arch/sparc/include/asm/vmalloc.h                |   4 +
 arch/um/include/asm/vmalloc.h                   |   4 +
 arch/unicore32/include/asm/vmalloc.h            |   4 +
 arch/x86/Kconfig                                |  13 +-
 arch/x86/boot/Makefile                          |   2 +-
 arch/x86/boot/compressed/Makefile               |   2 +-
 arch/x86/boot/compressed/eboot.c                | 278 ++++-----
 arch/x86/boot/compressed/eboot.h                |  30 +-
 arch/x86/boot/compressed/efi_stub_32.S          |  87 ---
 arch/x86/boot/compressed/efi_stub_64.S          |   5 -
 arch/x86/boot/compressed/efi_thunk_64.S         |  65 +-
 arch/x86/boot/compressed/head_32.S              |  64 +-
 arch/x86/boot/compressed/head_64.S              |  97 +--
 arch/x86/include/asm/cpu_entry_area.h           |  10 +-
 arch/x86/include/asm/efi.h                      | 244 +++++---
 arch/x86/include/asm/memtype.h                  |  27 +
 arch/x86/include/asm/mmu_context.h              |  86 +--
 arch/x86/include/asm/mtrr.h                     |   4 +-
 arch/x86/include/asm/pat.h                      |  27 -
 arch/x86/include/asm/pci.h                      |   2 +-
 arch/x86/include/asm/pgtable_32_areas.h         |  53 ++
 arch/x86/include/asm/pgtable_32_types.h         |  57 +-
 arch/x86/include/asm/pgtable_areas.h            |  16 +
 arch/x86/include/asm/pgtable_types.h            | 143 ++---
 arch/x86/include/asm/vmalloc.h                  |   6 +
 arch/x86/kernel/cpu/common.c                    |   2 +-
 arch/x86/kernel/cpu/mtrr/generic.c              |   2 +-
 arch/x86/kernel/cpu/mtrr/mtrr.c                 |   2 +-
 arch/x86/kernel/cpu/scattered.c                 |   2 +-
 arch/x86/kernel/cpu/topology.c                  |   2 +-
 arch/x86/kernel/kexec-bzimage64.c               |   2 +-
 arch/x86/kernel/ldt.c                           |  83 +++
 arch/x86/kernel/setup.c                         | 164 ++---
 arch/x86/kernel/x86_init.c                      |   2 +-
 arch/x86/kvm/mmu/mmu.c                          |   2 +-
 arch/x86/mm/Makefile                            |   8 +-
 arch/x86/mm/fault.c                             |   1 +
 arch/x86/mm/init_32.c                           |   1 +
 arch/x86/mm/iomap_32.c                          |   6 +-
 arch/x86/mm/ioremap.c                           |  12 +-
 arch/x86/mm/pat/Makefile                        |   5 +
 arch/x86/mm/{pageattr-test.c => pat/cpa-test.c} |   0
 arch/x86/mm/{pat.c => pat/memtype.c}            | 203 ++++---
 arch/x86/mm/{pat_internal.h => pat/memtype.h}   |  12 +-
 arch/x86/mm/pat/memtype_interval.c              | 194 ++++++
 arch/x86/mm/{pageattr.c => pat/set_memory.c}    |  32 +-
 arch/x86/mm/pat_interval.c                      | 185 ------
 arch/x86/mm/pgtable_32.c                        |   1 +
 arch/x86/mm/physaddr.c                          |   1 +
 arch/x86/pci/i386.c                             |   2 +-
 arch/x86/platform/efi/Makefile                  |   3 +-
 arch/x86/platform/efi/efi.c                     | 398 ++++--------
 arch/x86/platform/efi/efi_32.c                  |  22 +-
 arch/x86/platform/efi/efi_64.c                  | 317 ++++------
 arch/x86/platform/efi/efi_stub_32.S             | 109 +---
 arch/x86/platform/efi/efi_stub_64.S             |  43 +-
 arch/x86/platform/efi/efi_thunk_64.S            | 121 +---
 arch/x86/platform/efi/quirks.c                  |  46 +-
 arch/x86/platform/uv/bios_uv.c                  | 169 +++++-
 arch/x86/xen/efi.c                              |   2 +-
 arch/x86/xen/mmu_pv.c                           |   2 +-
 arch/xtensa/include/asm/vmalloc.h               |   4 +
 drivers/firmware/efi/Kconfig                    |  22 +
 drivers/firmware/efi/arm-init.c                 | 107 +++-
 drivers/firmware/efi/efi.c                      |   2 +-
 drivers/firmware/efi/fake_mem.c                 |  43 +-
 drivers/firmware/efi/libstub/Makefile           |   2 +-
 drivers/firmware/efi/libstub/arm-stub.c         | 110 ++--
 drivers/firmware/efi/libstub/arm32-stub.c       |  70 +--
 drivers/firmware/efi/libstub/arm64-stub.c       |  32 +-
 drivers/firmware/efi/libstub/efi-stub-helper.c  | 290 +++++----
 drivers/firmware/efi/libstub/efistub.h          |  48 +-
 drivers/firmware/efi/libstub/fdt.c              |  53 +-
 drivers/firmware/efi/libstub/gop.c              | 163 +----
 drivers/firmware/efi/libstub/pci.c              | 114 ++++
 drivers/firmware/efi/libstub/random.c           |  77 ++-
 drivers/firmware/efi/libstub/secureboot.c       |  11 +-
 drivers/firmware/efi/libstub/tpm.c              |  48 +-
 drivers/firmware/efi/memmap.c                   |  95 ++-
 drivers/infiniband/hw/mlx5/main.c               |   2 +-
 drivers/media/pci/ivtv/ivtvfb.c                 |   2 +-
 include/linux/efi.h                             | 772 ++++++++++--------------
 include/linux/mm.h                              |  15 +-
 include/linux/vmalloc.h                         |   2 +
 mm/highmem.c                                    |   2 +-
 mm/vmalloc.c                                    |   8 +
 109 files changed, 2697 insertions(+), 3008 deletions(-)
 create mode 100644 arch/alpha/include/asm/vmalloc.h
 create mode 100644 arch/arc/include/asm/vmalloc.h
 create mode 100644 arch/arm/include/asm/vmalloc.h
 create mode 100644 arch/arm64/include/asm/vmalloc.h
 create mode 100644 arch/c6x/include/asm/vmalloc.h
 create mode 100644 arch/csky/include/asm/vmalloc.h
 create mode 100644 arch/h8300/include/asm/vmalloc.h
 create mode 100644 arch/hexagon/include/asm/vmalloc.h
 create mode 100644 arch/ia64/include/asm/vmalloc.h
 create mode 100644 arch/m68k/include/asm/vmalloc.h
 create mode 100644 arch/microblaze/include/asm/vmalloc.h
 create mode 100644 arch/mips/include/asm/vmalloc.h
 create mode 100644 arch/nds32/include/asm/vmalloc.h
 create mode 100644 arch/nios2/include/asm/vmalloc.h
 create mode 100644 arch/openrisc/include/asm/vmalloc.h
 create mode 100644 arch/parisc/include/asm/vmalloc.h
 create mode 100644 arch/powerpc/include/asm/vmalloc.h
 create mode 100644 arch/riscv/include/asm/vmalloc.h
 create mode 100644 arch/s390/include/asm/vmalloc.h
 create mode 100644 arch/sh/include/asm/vmalloc.h
 create mode 100644 arch/sparc/include/asm/vmalloc.h
 create mode 100644 arch/um/include/asm/vmalloc.h
 create mode 100644 arch/unicore32/include/asm/vmalloc.h
 delete mode 100644 arch/x86/boot/compressed/efi_stub_32.S
 delete mode 100644 arch/x86/boot/compressed/efi_stub_64.S
 create mode 100644 arch/x86/include/asm/memtype.h
 delete mode 100644 arch/x86/include/asm/pat.h
 create mode 100644 arch/x86/include/asm/pgtable_32_areas.h
 create mode 100644 arch/x86/include/asm/pgtable_areas.h
 create mode 100644 arch/x86/include/asm/vmalloc.h
 create mode 100644 arch/x86/mm/pat/Makefile
 rename arch/x86/mm/{pageattr-test.c => pat/cpa-test.c} (100%)
 rename arch/x86/mm/{pat.c => pat/memtype.c} (84%)
 rename arch/x86/mm/{pat_internal.h => pat/memtype.h} (81%)
 create mode 100644 arch/x86/mm/pat/memtype_interval.c
 rename arch/x86/mm/{pageattr.c => pat/set_memory.c} (98%)
 delete mode 100644 arch/x86/mm/pat_interval.c
 create mode 100644 arch/xtensa/include/asm/vmalloc.h
 create mode 100644 drivers/firmware/efi/libstub/pci.c

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ