Skip to content

Commits

Permalink
efi-tpm2
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Commits on Nov 29, 2018

  1. more tpm stuff

    vathpela committed Nov 29, 2018
    Copy the full SHA
    b982214 View commit details
    Browse the repository at this point in the history
  2. More tpm2. More cyber.

    vathpela committed Nov 29, 2018
    Copy the full SHA
    f864179 View commit details
    Browse the repository at this point in the history
  3. efi tpm2...

    vathpela committed Nov 29, 2018
    Copy the full SHA
    7a7d12f View commit details
    Browse the repository at this point in the history

Commits on Nov 28, 2018

  1. efi/x86: earlyprintk - Fix infinite loop on some screen widths

    An affected screen resolution is 1366 x 768, which width is not
    divisible by 8, the default font width. On such screens, when longer
    lines are earlyprintk'ed, overflow-to-next-line can never trigger,
    due to the left-most x-coordinate of the next character always less
    than the screen width. Earlyprintk will infinite loop in trying to
    print the rest of the string but unable to, due to the line being
    full.
    
    This patch makes the trigger consider the right-most x-coordinate,
    instead of left-most, as the value to compare against the screen
    width threshold.
    
    Signed-off-by: YiFei Zhu <zhuyifei1999@gmail.com>
    Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    zhuyifei1999 authored and Ard Biesheuvel committed Nov 28, 2018
    Copy the full SHA
    1d29afd View commit details
    Browse the repository at this point in the history
  2. efi: reduce the amount of memblock reservations for persistent alloca…

    …tions
    
    The current implementation of efi_mem_reserve_persistent() is rather
    naive, in the sense that for each invocation, it creates a separate
    linked list entry to describe the reservation. Since the linked list
    entries themselves need to persist across subsequent kexec reboots,
    every reservation created this way results in two memblock_reserve()
    calls at the next boot.
    
    On arm64 systems with 100s of CPUs, this may result in a excessive
    number of memblock reservations, and needless fragmentation.
    
    So instead, make use of the newly updated struct linux_efi_memreserve
    layout to put multiple reservations into a single linked list entry.
    This should get rid of the numerous tiny memblock reservations, and
    effectively cut the total number of reservations in half on arm64
    systems with many CPUs.
    
    Tested-by: Marc Zyngier <marc.zyngier@arm.com>
    Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Ard Biesheuvel committed Nov 28, 2018
    Copy the full SHA
    0075dd2 View commit details
    Browse the repository at this point in the history
  3. efi: permit multiple entries in persistent memreserve data structure

    In preparation of updating efi_mem_reserve_persistent() to cause less
    fragmentation when dealing with many persistent reservations, update
    the struct definition and the code that handles it currently so it
    can describe an arbitrary number of reservations using a single linked
    list entry. The actual optimization will be implemented in a subsequent
    patch.
    
    Tested-by: Marc Zyngier <marc.zyngier@arm.com>
    Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Ard Biesheuvel committed Nov 28, 2018
    Copy the full SHA
    eb3ccc6 View commit details
    Browse the repository at this point in the history
  4. firmware: efi: add NULL pointer checks in efivars api functions

    Since commit:
    
       ce2e6db ("brcmfmac: Add support for getting nvram contents from
                     EFI variables")
    
    we have a device driver accessing the efivars API. Several functions in
    the efivars API assume __efivars is set, i.e., that they will be accessed
    only after efivars_register() has been called. However, the following NULL
    pointer access was reported calling efivar_entry_size() from the brcmfmac
    device driver.
    
      Unable to handle kernel NULL pointer dereference at virtual address 00000008
      pgd = 60bfa5f1
      [00000008] *pgd=00000000
      Internal error: Oops: 5 [#1] SMP ARM
      ...
      Hardware name: NVIDIA Tegra SoC (Flattened Device Tree)
      Workqueue: events request_firmware_work_func
      PC is at efivar_entry_size+0x28/0x90
      LR is at brcmf_fw_complete_request+0x3f8/0x8d4 [brcmfmac]
      pc : [<c0c40718>]    lr : [<bf2a3ef4>]    psr: a00d0113
      sp : ede7fe28  ip : ee983410  fp : c1787f30
      r10: 00000000  r9 : 00000000  r8 : bf2b2258
      r7 : ee983000  r6 : c1604c48  r5 : ede7fe88  r4 : edf337c0
      r3 : 00000000  r2 : 00000000  r1 : ede7fe88  r0 : c17712c8
      Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
      Control: 10c5387d  Table: ad16804a  DAC: 00000051
    
    Disassembly showed that the local static variable __efivars is NULL,
    which is not entirely unexpected given that it is a non-EFI platform.
    So add a NULL pointer check to efivar_entry_size(), and to related
    functions while at it. In efivars_register() a couple of sanity checks
    are added as well.
    
    Cc: Hans de Goede <hdegoede@redhat.com>
    Reported-by: Jon Hunter <jonathanh@nvidia.com>
    Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
    Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Arend van Spriel authored and Ard Biesheuvel committed Nov 28, 2018
    Copy the full SHA
    e99811b View commit details
    Browse the repository at this point in the history
  5. efi/libstub: Disable some warnings for x86{,_64}

    When building the kernel with Clang, some disabled warnings appear
    because this Makefile overrides KBUILD_CFLAGS for x86{,_64}. Add them to
    this list so that the build is clean again.
    
    -Wpointer-sign was disabled for the whole kernel before the beginning
    of git history.
    
    -Waddress-of-packed-member was disabled for the whole kernel in
    commit bfb3898 ("kbuild: clang: Disable 'address-of-packed-member'
    warning") and for x86/boot/compressed in commit 20c6c18 ("x86/boot:
    Disable the address-of-packed-member compiler warning").
    
    -Wgnu was disabled for the whole kernel in commit 61163ef ("kbuild:
    LLVMLinux: Add Kbuild support for building kernel with Clang") and for
    x86/boot/compressed in commit 6c3b56b ("x86/boot: Disable Clang
    warnings about GNU extensions").
    
    Link: ClangBuiltLinux#112
    Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
    Reviewed-by: Sedat Dilek <sedat.dilek@gmail.com>
    Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
    Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    nathanchance authored and Ard Biesheuvel committed Nov 28, 2018
    Copy the full SHA
    0f5ba8b View commit details
    Browse the repository at this point in the history
  6. x86/efi: Move efi_<reserve/free>_boot_services() to arch/x86

    efi_<reserve/free>_boot_services() are x86 specific quirks and as such
    should be in asm/efi.h, so move them from linux/efi.h. Also, call
    efi_free_boot_services() from __efi_enter_virtual_mode() as it is x86
    specific call and ideally shouldn't be part of init/main.c
    
    Signed-off-by: Sai Praneeth Prakhya <sai.praneeth.prakhya@intel.com>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Dave Hansen <dave.hansen@intel.com>
    Cc: Bhupesh Sharma <bhsharma@redhat.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Acked-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Sai Praneeth Prakhya authored and Ard Biesheuvel committed Nov 28, 2018
    Copy the full SHA
    d2b4068 View commit details
    Browse the repository at this point in the history
  7. x86/efi: Unmap EFI boot services code/data regions from efi_pgd

    efi_free_boot_services(), as the name suggests, frees EFI boot services
    code/data regions but forgets to unmap these regions from efi_pgd. This
    means that any code that's running in efi_pgd address space (e.g:
    any EFI runtime service) would still be able to access these regions but
    the contents of these regions would have long been over written by
    someone else. So, it's important to unmap these regions. Hence,
    introduce efi_unmap_pages() to unmap these regions from efi_pgd.
    
    After unmapping EFI boot services code/data regions, any illegal access
    by buggy firmware to these regions would result in page fault which will
    be handled by EFI specific fault handler.
    
    Signed-off-by: Sai Praneeth Prakhya <sai.praneeth.prakhya@intel.com>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Dave Hansen <dave.hansen@intel.com>
    Cc: Bhupesh Sharma <bhsharma@redhat.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Acked-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Sai Praneeth Prakhya authored and Ard Biesheuvel committed Nov 28, 2018
    Copy the full SHA
    d5052a7 View commit details
    Browse the repository at this point in the history
  8. x86/mm/pageattr: Introduce helper function to unmap EFI boot services

    Ideally, after kernel assumes control of the platform, firmware
    shouldn't access EFI boot services code/data regions. But, it's noticed
    that this is not so true in many x86 platforms. Hence, during boot,
    kernel reserves EFI boot services code/data regions [1] and maps [2]
    them to efi_pgd so that call to set_virtual_address_map() doesn't fail.
    After returning from set_virtual_address_map(), kernel frees the
    reserved regions [3] but they still remain mapped. Hence, introduce
    kernel_unmap_pages_in_pgd() which will later be used to unmap EFI boot
    services code/data regions.
    
    While at it modify kernel_map_pages_in_pgd() by
    1. Adding __init modifier because it's always used *only* during boot.
    2. Add a warning if it's used after SMP is initialized because it uses
       __flush_tlb_all() which flushes mappings only on current CPU.
    
    Unmapping EFI boot services code/data regions will result in clearing
    PAGE_PRESENT bit and it shouldn't bother L1TF cases because it's already
    handled by protnone_mask() at arch/x86/include/asm/pgtable-invert.h.
    
    [1] efi_reserve_boot_services()
    [2] efi_map_region() -> __map_region() -> kernel_map_pages_in_pgd()
    [3] efi_free_boot_services()
    
    Signed-off-by: Sai Praneeth Prakhya <sai.praneeth.prakhya@intel.com>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Dave Hansen <dave.hansen@intel.com>
    Cc: Bhupesh Sharma <bhsharma@redhat.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Sai Praneeth Prakhya authored and Ard Biesheuvel committed Nov 28, 2018
    Copy the full SHA
    57e741b View commit details
    Browse the repository at this point in the history
  9. efi/fdt: Simplify get_fdt flow

    Reorganize get_fdt lookup loop, clearly showing that:
    - Nothing is done for table entries that do not have fdt_guid
    - Once an entry with fdt_guid is found, break out of the loop
    
    No functional changes.
    
    Suggested-by: Joe Perches <joe@perches.com>
    Signed-off-by: Julien Thierry <julien.thierry@arm.com>
    Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Julien Thierry authored and Ard Biesheuvel committed Nov 28, 2018
    Copy the full SHA
    971d38b View commit details
    Browse the repository at this point in the history
  10. efi/fdt: Indentation fix

    Closing bracket seems to end a for statement when it is actually ending
    the contained if. Add some brackets to have clear delimitation of each
    scope.
    
    No functional change/fix, just fix the indentation.
    
    Signed-off-by: Julien Thierry <julien.thierry@arm.com>
    Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Julien Thierry authored and Ard Biesheuvel committed Nov 28, 2018
    Copy the full SHA
    d2a586f View commit details
    Browse the repository at this point in the history
  11. x86/efi: Allocate e820 buffer before calling efi_exit_boot_service

    Commit d649340 ("x86/efi: Use efi_exit_boot_services()")
    introduced a regression on systems with large memory maps
    causing them to hang on boot. The first "goto get_map" that was removed
    from exit_boot insured there was enough room for the memory map when
    efi_call_early(exit_boot_services) was called. This happens when
    (nr_desc > ARRAY_SIZE(params->e820_table).
    
    Chain of events:
      exit_boot()
        efi_exit_boot_services()
          efi_get_memory_map <- at this point the mm can't grow over 8 desc
          priv_func()
            exit_boot_func()
              allocate_e820ext() <- new mm grows over 8 desc from e820 alloc
          efi_call_early(exit_boot_services) <- mm key doesn't match so retry
          efi_call_early(get_memory_map) <- not enough room for new mm
          system hangs
    
    This patch allocates the e820 buffer before calling efi_exit_boot_services
    and fixes the regression.
    
    Signed-off-by: Eric Snowberg <eric.snowberg@oracle.com>
    Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    esnowberg authored and Ard Biesheuvel committed Nov 28, 2018
    Copy the full SHA
    27b6567 View commit details
    Browse the repository at this point in the history

Commits on Nov 27, 2018

  1. efi: Prevent GICv3 WARN() by mapping the memreserve table before firs…

    …t use
    
    Mapping the MEMRESERVE EFI configuration table from an early initcall
    is too late: the GICv3 ITS code that creates persistent reservations
    for the boot CPU's LPI tables is invoked from init_IRQ(), which runs
    much earlier than the handling of the initcalls. This results in a
    WARN() splat because the LPI tables cannot be reserved persistently,
    which will result in silent memory corruption after a kexec reboot.
    
    So instead, invoke the initialization performed by the initcall from
    efi_mem_reserve_persistent() itself as well, but keep the initcall so
    that the init is guaranteed to have been called before SMP boot.
    
    Tested-by: Marc Zyngier <marc.zyngier@arm.com>
    Tested-by: Jan Glauber <jglauber@cavium.com>
    Tested-by: John Garry <john.garry@huawei.com>
    Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: linux-efi@vger.kernel.org
    Fixes: 63eb322 ("efi: Permit calling efi_mem_reserve_persistent() ...")
    Link: http://lkml.kernel.org/r/20181123215132.7951-2-ard.biesheuvel@linaro.org
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Ard Biesheuvel authored and Ingo Molnar committed Nov 27, 2018
    Copy the full SHA
    976b489 View commit details
    Browse the repository at this point in the history

Commits on Nov 25, 2018

  1. Linux 4.20-rc4

    torvalds committed Nov 25, 2018
    Copy the full SHA
    2e6e902 View commit details
    Browse the repository at this point in the history
  2. Merge tag 'dma-mapping-4.20-3' of git://git.infradead.org/users/hch/d…

    …ma-mapping
    
    Pull dma-mapping fixes from Christoph Hellwig:
     "Two dma-direct / swiotlb regressions fixes:
    
       - zero is a valid physical address on some arm boards, we can't use
         it as the error value
    
       - don't try to cache flush the error return value (no matter what it
         is)"
    
    * tag 'dma-mapping-4.20-3' of git://git.infradead.org/users/hch/dma-mapping:
      swiotlb: Skip cache maintenance on map error
      dma-direct: Make DIRECT_MAPPING_ERROR viable for SWIOTLB
    torvalds committed Nov 25, 2018
    Copy the full SHA
    d6d460b View commit details
    Browse the repository at this point in the history
  3. Merge tag 'nfs-for-4.20-4' of git://git.linux-nfs.org/projects/trondm…

    …y/linux-nfs
    
    Pull NFS client bugfixes from Trond Myklebust:
    
     - Fix a NFSv4 state manager deadlock when returning a delegation
    
     - NFSv4.2 copy do not allocate memory under the lock
    
     - flexfiles: Use the correct stateid for IO in the tightly coupled case
    
    * tag 'nfs-for-4.20-4' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
      flexfiles: use per-mirror specified stateid for IO
      NFSv4.2 copy do not allocate memory under the lock
      NFSv4: Fix a NFSv4 state manager deadlock
    torvalds committed Nov 25, 2018
    Copy the full SHA
    17c2f54 View commit details
    Browse the repository at this point in the history
  4. MAINTAINERS: change Sparse's maintainer

    I'm taking over the maintainance of Sparse so add myself as
    maintainer and move Christopher's info to CREDITS.
    
    Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    lucvoo authored and torvalds committed Nov 25, 2018
    Copy the full SHA
    4e962ff View commit details
    Browse the repository at this point in the history
  5. Merge tag 'xarray-4.20-rc4' of git://git.infradead.org/users/willy/li…

    …nux-dax
    
    Pull XArray updates from Matthew Wilcox:
     "We found some bugs in the DAX conversion to XArray (and one bug which
      predated the XArray conversion). There were a couple of bugs in some
      of the higher-level functions, which aren't actually being called in
      today's kernel, but surfaced as a result of converting existing radix
      tree & IDR users over to the XArray.
    
      Some of the other changes to how the higher-level APIs work were also
      motivated by converting various users; again, they're not in use in
      today's kernel, so changing them has a low probability of introducing
      a bug.
    
      Dan can still trigger a bug in the DAX code with hot-offline/online,
      and we're working on tracking that down"
    
    * tag 'xarray-4.20-rc4' of git://git.infradead.org/users/willy/linux-dax:
      XArray tests: Add missing locking
      dax: Avoid losing wakeup in dax_lock_mapping_entry
      dax: Fix huge page faults
      dax: Fix dax_unlock_mapping_entry for PMD pages
      dax: Reinstate RCU protection of inode
      dax: Make sure the unlocking entry isn't locked
      dax: Remove optimisation from dax_lock_mapping_entry
      XArray tests: Correct some 64-bit assumptions
      XArray: Correct xa_store_range
      XArray: Fix Documentation
      XArray: Handle NULL pointers differently for allocation
      XArray: Unify xa_store and __xa_store
      XArray: Add xa_store_bh() and xa_store_irq()
      XArray: Turn xa_erase into an exported function
      XArray: Unify xa_cmpxchg and __xa_cmpxchg
      XArray: Regularise xa_reserve
      nilfs2: Use xa_erase_irq
      XArray: Export __xa_foo to non-GPL modules
      XArray: Fix xa_for_each with a single element at 0
    torvalds committed Nov 25, 2018
    Copy the full SHA
    e2125da View commit details
    Browse the repository at this point in the history

Commits on Nov 24, 2018

  1. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/hid/hid
    
    Pull HID fixes from Jiri Kosina:
    
     - revert of the high-resolution scrolling feature, as it breaks certain
       hardware due to incompatibilities between Logitech and Microsoft
       worlds. Peter Hutterer is working on a fixed implementation. Until
       that is finished, revert by Benjamin Tissoires.
    
     - revert of incorrect strncpy->strlcpy conversion in uhid, from David
       Herrmann
    
     - fix for buggy sendfile() implementation on uhid device node, from
       Eric Biggers
    
     - a few assorted device-ID specific quirks
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid:
      Revert "Input: Add the `REL_WHEEL_HI_RES` event code"
      Revert "HID: input: Create a utility class for counting scroll events"
      Revert "HID: logitech: Add function to enable HID++ 1.0 "scrolling acceleration""
      Revert "HID: logitech: Enable high-resolution scrolling on Logitech mice"
      Revert "HID: logitech: Use LDJ_DEVICE macro for existing Logitech mice"
      Revert "HID: logitech: fix a used uninitialized GCC warning"
      Revert "HID: input: simplify/fix high-res scroll event handling"
      HID: Add quirk for Primax PIXART OEM mice
      HID: i2c-hid: Disable runtime PM for LG touchscreen
      HID: multitouch: Add pointstick support for Cirque Touchpad
      HID: steam: remove input device when a hid client is running.
      Revert "HID: uhid: use strlcpy() instead of strncpy()"
      HID: uhid: forbid UHID_CREATE under KERNEL_DS or elevated privileges
      HID: input: Ignore battery reported by Symbol DS4308
      HID: Add quirk for Microsoft PIXART OEM mouse
    torvalds committed Nov 24, 2018
    Copy the full SHA
    e195ca6 View commit details
    Browse the repository at this point in the history
  2. Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/arm64/linux
    
    Pull arm64 fixes from Catalin Marinas::
    
     - Fix wrong conflict resolution around CONFIG_ARM64_SSBD
    
     - Fix sparse warning on unsigned long constant
    
    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
      arm64: cpufeature: Fix mismerge of CONFIG_ARM64_SSBD block
      arm64: sysreg: fix sparse warnings
    torvalds committed Nov 24, 2018
    Copy the full SHA
    d146194 View commit details
    Browse the repository at this point in the history
  3. Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net

    Pull networking fixes from David Miller:
    
     1) Need to take mutex in ath9k_add_interface(), from Dan Carpenter.
    
     2) Fix mt76 build without CONFIG_LEDS_CLASS, from Arnd Bergmann.
    
     3) Fix socket wmem accounting in SCTP, from Xin Long.
    
     4) Fix failed resume crash in ena driver, from Arthur Kiyanovski.
    
     5) qed driver passes bytes instead of bits into second arg of
        bitmap_weight(). From Denis Bolotin.
    
     6) Fix reset deadlock in ibmvnic, from Juliet Kim.
    
     7) skb_scrube_packet() needs to scrub the fwd marks too, from Petr
        Machata.
    
     8) Make sure older TCP stacks see enough dup ACKs, and avoid doing SACK
        compression during this period, from Eric Dumazet.
    
     9) Add atomicity to SMC protocol cursor handling, from Ursula Braun.
    
    10) Don't leave dangling error pointer if bpf_prog_add() fails in
        thunderx driver, from Lorenzo Bianconi. Also, when we unmap TSO
        headers, set sq->tso_hdrs to NULL.
    
    11) Fix race condition over state variables in act_police, from Davide
        Caratti.
    
    12) Disable guest csum in the presence of XDP in virtio_net, from Jason
        Wang.
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (64 commits)
      net: gemini: Fix copy/paste error
      net: phy: mscc: fix deadlock in vsc85xx_default_config
      dt-bindings: dsa: Fix typo in "probed"
      net: thunderx: set tso_hdrs pointer to NULL in nicvf_free_snd_queue
      net: amd: add missing of_node_put()
      team: no need to do team_notify_peers or team_mcast_rejoin when disabling port
      virtio-net: fail XDP set if guest csum is negotiated
      virtio-net: disable guest csum during XDP set
      net/sched: act_police: add missing spinlock initialization
      net: don't keep lonely packets forever in the gro hash
      net/ipv6: re-do dad when interface has IFF_NOARP flag change
      packet: copy user buffers before orphan or clone
      ibmvnic: Update driver queues after change in ring size support
      ibmvnic: Fix RX queue buffer cleanup
      net: thunderx: set xdp_prog to NULL if bpf_prog_add fails
      net/dim: Update DIM start sample after each DIM iteration
      net: faraday: ftmac100: remove netif_running(netdev) check before disabling interrupts
      net/smc: use after free fix in smc_wr_tx_put_slot()
      net/smc: atomic SMCD cursor handling
      net/smc: add SMC-D shutdown signal
      ...
    torvalds committed Nov 24, 2018
    Copy the full SHA
    857fa62 View commit details
    Browse the repository at this point in the history
  4. Merge tag 'xfs-4.20-fixes-2' of git://git.kernel.org/pub/scm/fs/xfs/x…

    …fs-linux
    
    Pull xfs fixes from Darrick Wong:
     "Dave and I have continued our work fixing corruption problems that can
      be found when running long-term burn-in exercisers on xfs. Here are
      some patches fixing most of the problems, but there will likely be
      more. :/
    
       - Numerous corruption fixes for copy on write
    
       - Numerous corruption fixes for blocksize < pagesize writes
    
       - Don't miscalculate AG reservations for small final AGs
    
       - Fix page cache truncation to work properly for reflink and extent
         shifting
    
       - Fix use-after-free when retrying failed inode/dquot buffer logging
    
       - Fix corruptions seen when using copy_file_range in directio mode"
    
    * tag 'xfs-4.20-fixes-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
      iomap: readpages doesn't zero page tail beyond EOF
      vfs: vfs_dedupe_file_range() doesn't return EOPNOTSUPP
      iomap: dio data corruption and spurious errors when pipes fill
      iomap: sub-block dio needs to zeroout beyond EOF
      iomap: FUA is wrong for DIO O_DSYNC writes into unwritten extents
      xfs: delalloc -> unwritten COW fork allocation can go wrong
      xfs: flush removing page cache in xfs_reflink_remap_prep
      xfs: extent shifting doesn't fully invalidate page cache
      xfs: finobt AG reserves don't consider last AG can be a runt
      xfs: fix transient reference count error in xfs_buf_resubmit_failed_buffers
      xfs: uncached buffer tracing needs to print bno
      xfs: make xfs_file_remap_range() static
      xfs: fix shared extent data corruption due to missing cow reservation
    torvalds committed Nov 24, 2018
    Copy the full SHA
    abe72ff View commit details
    Browse the repository at this point in the history
  5. net: gemini: Fix copy/paste error

    The TX stats should be started with the tx_stats_syncp,
    there seems to be a copy/paste error in the driver.
    
    Signed-off-by: Andreas Fiedler <andreas.fiedler@gmx.net>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Andreas Fiedler authored and davem330 committed Nov 24, 2018
    Copy the full SHA
    07093b7 View commit details
    Browse the repository at this point in the history
  6. net: phy: mscc: fix deadlock in vsc85xx_default_config

    The vsc85xx_default_config function called in the vsc85xx_config_init
    function which is used by VSC8530, VSC8531, VSC8540 and VSC8541 PHYs
    mistakenly calls phy_read and phy_write in-between phy_select_page and
    phy_restore_page.
    
    phy_select_page and phy_restore_page actually take and release the MDIO
    bus lock and phy_write and phy_read take and release the lock to write
    or read to a PHY register.
    
    Let's fix this deadlock by using phy_modify_paged which handles
    correctly a read followed by a write in a non-standard page.
    
    Fixes: 6a0bfbb ("net: phy: mscc: migrate to phy_select/restore_page functions")
    Signed-off-by: Quentin Schulz <quentin.schulz@bootlin.com>
    Reviewed-by: Andrew Lunn <andrew@lunn.ch>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    QSchulz authored and davem330 committed Nov 24, 2018
    Copy the full SHA
    3fa528b View commit details
    Browse the repository at this point in the history
  7. dt-bindings: dsa: Fix typo in "probed"

    The correct form is "can be probed", so fix the typo.
    
    Signed-off-by: Fabio Estevam <festevam@gmail.com>
    Reviewed-by: Andrew Lunn <andrew@lunn.ch>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    fabioestevam authored and davem330 committed Nov 24, 2018
    Copy the full SHA
    e7b9fb4 View commit details
    Browse the repository at this point in the history
  8. net: thunderx: set tso_hdrs pointer to NULL in nicvf_free_snd_queue

    Reset snd_queue tso_hdrs pointer to NULL in nicvf_free_snd_queue routine
    since it is used to check if tso dma descriptor queue has been previously
    allocated. The issue can be triggered with the following reproducer:
    
    $ip link set dev enP2p1s0v0 xdpdrv obj xdp_dummy.o
    $ip link set dev enP2p1s0v0 xdpdrv off
    
    [  341.467649] WARNING: CPU: 74 PID: 2158 at mm/vmalloc.c:1511 __vunmap+0x98/0xe0
    [  341.515010] Hardware name: GIGABYTE H270-T70/MT70-HD0, BIOS T49 02/02/2018
    [  341.521874] pstate: 60400005 (nZCv daif +PAN -UAO)
    [  341.526654] pc : __vunmap+0x98/0xe0
    [  341.530132] lr : __vunmap+0x98/0xe0
    [  341.533609] sp : ffff00001c5db860
    [  341.536913] x29: ffff00001c5db860 x28: 0000000000020000
    [  341.542214] x27: ffff810feb5090b0 x26: ffff000017e57000
    [  341.547515] x25: 0000000000000000 x24: 00000000fbd00000
    [  341.552816] x23: 0000000000000000 x22: ffff810feb5090b0
    [  341.558117] x21: 0000000000000000 x20: 0000000000000000
    [  341.563418] x19: ffff000017e57000 x18: 0000000000000000
    [  341.568719] x17: 0000000000000000 x16: 0000000000000000
    [  341.574020] x15: 0000000000000010 x14: ffffffffffffffff
    [  341.579321] x13: ffff00008985eb27 x12: ffff00000985eb2f
    [  341.584622] x11: ffff0000096b3000 x10: ffff00001c5db510
    [  341.589923] x9 : 00000000ffffffd0 x8 : ffff0000086868e8
    [  341.595224] x7 : 3430303030303030 x6 : 00000000000006ef
    [  341.600525] x5 : 00000000003fffff x4 : 0000000000000000
    [  341.605825] x3 : 0000000000000000 x2 : ffffffffffffffff
    [  341.611126] x1 : ffff0000096b3728 x0 : 0000000000000038
    [  341.616428] Call trace:
    [  341.618866]  __vunmap+0x98/0xe0
    [  341.621997]  vunmap+0x3c/0x50
    [  341.624961]  arch_dma_free+0x68/0xa0
    [  341.628534]  dma_direct_free+0x50/0x80
    [  341.632285]  nicvf_free_resources+0x160/0x2d8 [nicvf]
    [  341.637327]  nicvf_config_data_transfer+0x174/0x5e8 [nicvf]
    [  341.642890]  nicvf_stop+0x298/0x340 [nicvf]
    [  341.647066]  __dev_close_many+0x9c/0x108
    [  341.650977]  dev_close_many+0xa4/0x158
    [  341.654720]  rollback_registered_many+0x140/0x530
    [  341.659414]  rollback_registered+0x54/0x80
    [  341.663499]  unregister_netdevice_queue+0x9c/0xe8
    [  341.668192]  unregister_netdev+0x28/0x38
    [  341.672106]  nicvf_remove+0xa4/0xa8 [nicvf]
    [  341.676280]  nicvf_shutdown+0x20/0x30 [nicvf]
    [  341.680630]  pci_device_shutdown+0x44/0x88
    [  341.684720]  device_shutdown+0x144/0x250
    [  341.688640]  kernel_restart_prepare+0x44/0x50
    [  341.692986]  kernel_restart+0x20/0x68
    [  341.696638]  __se_sys_reboot+0x210/0x238
    [  341.700550]  __arm64_sys_reboot+0x24/0x30
    [  341.704555]  el0_svc_handler+0x94/0x110
    [  341.708382]  el0_svc+0x8/0xc
    [  341.711252] ---[ end trace 3f4019c8439959c9 ]---
    [  341.715874] page:ffff7e0003ef4000 count:0 mapcount:0 mapping:0000000000000000 index:0x4
    [  341.723872] flags: 0x1fffe000000000()
    [  341.727527] raw: 001fffe000000000 ffff7e0003f1a008 ffff7e0003ef4048 0000000000000000
    [  341.735263] raw: 0000000000000004 0000000000000000 00000000ffffffff 0000000000000000
    [  341.742994] page dumped because: VM_BUG_ON_PAGE(page_ref_count(page) == 0)
    
    where xdp_dummy.c is a simple bpf program that forwards the incoming
    frames to the network stack (available here:
    https://github.com/altoor/xdp_walkthrough_examples/blob/master/sample_1/xdp_dummy.c)
    
    Fixes: 05c773f ("net: thunderx: Add basic XDP support")
    Fixes: 4863dea ("net: Adding support for Cavium ThunderX network controller")
    Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    LorenzoBianconi authored and davem330 committed Nov 24, 2018
    Copy the full SHA
    ef2a7cf View commit details
    Browse the repository at this point in the history
  9. net: amd: add missing of_node_put()

    of_find_node_by_path() acquires a reference to the node
    returned by it and that reference needs to be dropped by its caller.
    This place doesn't do that, so fix it.
    
    Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    TinyWindzz authored and davem330 committed Nov 24, 2018
    Copy the full SHA
    c44c749 View commit details
    Browse the repository at this point in the history
  10. team: no need to do team_notify_peers or team_mcast_rejoin when disab…

    …ling port
    
    team_notify_peers() will send ARP and NA to notify peers. team_mcast_rejoin()
    will send multicast join group message to notify peers. We should do this when
    enabling/changed to a new port. But it doesn't make sense to do it when a port
    is disabled.
    
    On the other hand, when we set mcast_rejoin_count to 2, and do a failover,
    team_port_disable() will increase mcast_rejoin.count_pending to 2 and then
    team_port_enable() will increase mcast_rejoin.count_pending to 4. We will send
    4 mcast rejoin messages at latest, which will make user confused. The same
    with notify_peers.count.
    
    Fix it by deleting team_notify_peers() and team_mcast_rejoin() in
    team_port_disable().
    
    Reported-by: Liang Li <liali@redhat.com>
    Fixes: fc423ff ("team: add peer notification")
    Fixes: 492b200 ("team: add support for sending multicast rejoins")
    Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    liuhangbin authored and davem330 committed Nov 24, 2018
    Copy the full SHA
    5ed9dc9 View commit details
    Browse the repository at this point in the history

Commits on Nov 23, 2018

  1. virtio-net: fail XDP set if guest csum is negotiated

    We don't support partial csumed packet since its metadata will be lost
    or incorrect during XDP processing. So fail the XDP set if guest_csum
    feature is negotiated.
    
    Fixes: f600b69 ("virtio_net: Add XDP support")
    Reported-by: Jesper Dangaard Brouer <brouer@redhat.com>
    Cc: Jesper Dangaard Brouer <brouer@redhat.com>
    Cc: Pavel Popa <pashinho1990@gmail.com>
    Cc: David Ahern <dsahern@gmail.com>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    jasowang authored and davem330 committed Nov 23, 2018
    Copy the full SHA
    18ba58e View commit details
    Browse the repository at this point in the history
  2. virtio-net: disable guest csum during XDP set

    We don't disable VIRTIO_NET_F_GUEST_CSUM if XDP was set. This means we
    can receive partial csumed packets with metadata kept in the
    vnet_hdr. This may have several side effects:
    
    - It could be overridden by header adjustment, thus is might be not
      correct after XDP processing.
    - There's no way to pass such metadata information through
      XDP_REDIRECT to another driver.
    - XDP does not support checksum offload right now.
    
    So simply disable guest csum if possible in this the case of XDP.
    
    Fixes: 3f93522 ("virtio-net: switch off offloads on demand if possible on XDP set")
    Reported-by: Jesper Dangaard Brouer <brouer@redhat.com>
    Cc: Jesper Dangaard Brouer <brouer@redhat.com>
    Cc: Pavel Popa <pashinho1990@gmail.com>
    Cc: David Ahern <dsahern@gmail.com>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    jasowang authored and davem330 committed Nov 23, 2018
    Copy the full SHA
    e59ff2c View commit details
    Browse the repository at this point in the history
  3. Merge tag 'ceph-for-4.20-rc4' of https://github.com/ceph/ceph-client

    Pullk ceph fix from Ilya Dryomov:
     "A messenger fix, marked for stable"
    
    * tag 'ceph-for-4.20-rc4' of https://github.com/ceph/ceph-client:
      libceph: fall back to sendmsg for slab pages
    torvalds committed Nov 23, 2018
    Copy the full SHA
    7c98a42 View commit details
    Browse the repository at this point in the history
  4. Merge tag 'for-linus-20181123' of git://git.kernel.dk/linux-block

    Pull block fix from Jens Axboe:
     "Just a single fix for this week, fixing an issue with nvme-fc"
    
    * tag 'for-linus-20181123' of git://git.kernel.dk/linux-block:
      nvme-fc: resolve io failures during connect
    torvalds committed Nov 23, 2018
    Copy the full SHA
    3381918 View commit details
    Browse the repository at this point in the history
  5. net/sched: act_police: add missing spinlock initialization

    commit f2cbd48 ("net/sched: act_police: fix race condition on state
    variables") introduces a new spinlock, but forgets its initialization.
    Ensure that tcf_police_init() initializes 'tcfp_lock' every time a 'police'
    action is newly created, to avoid the following lockdep splat:
    
     INFO: trying to register non-static key.
     the code is fine but needs lockdep annotation.
     turning off the locking correctness validator.
     <...>
     Call Trace:
      dump_stack+0x85/0xcb
      register_lock_class+0x581/0x590
      __lock_acquire+0xd4/0x1330
      ? tcf_police_init+0x2fa/0x650 [act_police]
      ? lock_acquire+0x9e/0x1a0
      lock_acquire+0x9e/0x1a0
      ? tcf_police_init+0x2fa/0x650 [act_police]
      ? tcf_police_init+0x55a/0x650 [act_police]
      _raw_spin_lock_bh+0x34/0x40
      ? tcf_police_init+0x2fa/0x650 [act_police]
      tcf_police_init+0x2fa/0x650 [act_police]
      tcf_action_init_1+0x384/0x4c0
      tcf_action_init+0xf6/0x160
      tcf_action_add+0x73/0x170
      tc_ctl_action+0x122/0x160
      rtnetlink_rcv_msg+0x2a4/0x490
      ? netlink_deliver_tap+0x99/0x400
      ? validate_linkmsg+0x370/0x370
      netlink_rcv_skb+0x4d/0x130
      netlink_unicast+0x196/0x230
      netlink_sendmsg+0x2e5/0x3e0
      sock_sendmsg+0x36/0x40
      ___sys_sendmsg+0x280/0x2f0
      ? _raw_spin_unlock+0x24/0x30
      ? handle_pte_fault+0xafe/0xf30
      ? find_held_lock+0x2d/0x90
      ? syscall_trace_enter+0x1df/0x360
      ? __sys_sendmsg+0x5e/0xa0
      __sys_sendmsg+0x5e/0xa0
      do_syscall_64+0x60/0x210
      entry_SYSCALL_64_after_hwframe+0x49/0xbe
     RIP: 0033:0x7f1841c7cf10
     Code: c3 48 8b 05 82 6f 2c 00 f7 db 64 89 18 48 83 cb ff eb dd 0f 1f 80 00 00 00 00 83 3d 8d d0 2c 00 00 75 10 b8 2e 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 31 c3 48 83 ec 08 e8 ae cc 00 00 48 89 04 24
     RSP: 002b:00007ffcf9df4d68 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
     RAX: ffffffffffffffda RBX: 0000000000000001 RCX: 00007f1841c7cf10
     RDX: 0000000000000000 RSI: 00007ffcf9df4dc0 RDI: 0000000000000003
     RBP: 000000005bf56105 R08: 0000000000000002 R09: 00007ffcf9df8edc
     R10: 00007ffcf9df47e0 R11: 0000000000000246 R12: 0000000000671be0
     R13: 00007ffcf9df4e84 R14: 0000000000000008 R15: 0000000000000000
    
    Fixes: f2cbd48 ("net/sched: act_police: fix race condition on state variables")
    Reported-by: Cong Wang <xiyou.wangcong@gmail.com>
    Signed-off-by: Davide Caratti <dcaratti@redhat.com>
    Acked-by: Cong Wang <xiyou.wangcong@gmail.com>
    Acked-by: Jiri Pirko <jiri@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    dcaratti authored and davem330 committed Nov 23, 2018
    Copy the full SHA
    484afd1 View commit details
    Browse the repository at this point in the history
Older