1. 23 Jul, 2020 3 commits
    • Gustavo A. R. Silva's avatar
      mei: hdcp: Replace one-element array with flexible-array member · c56967d6
      Gustavo A. R. Silva authored
      There is a regular need in the kernel to provide a way to declare
      having a dynamically sized set of trailing elements in a structure.
      Kernel code should always use “flexible array members”[1] for these
      cases. The older style of one-element or zero-length arrays should
      no longer be used[2].
      
      Also, make use of the array_size() helper instead of the open-coded
      version in memcpy(). These sorts of multiplication factors need to
      be wrapped in array_size().
      
      And while there, use the preferred form for passing a size of a struct.
      The alternative form where struct name is spelled out hurts readability
      and introduces an opportunity for a bug when the pointer variable type is
      changed but the corresponding sizeof that is passed as argument is not.
      
      [1] https://en.wikipedia.org/wiki/Flexible_array_member
      [2] https://github.com/KSPP/linux/issues/79Signed-off-by: default avatarGustavo A. R. Silva <gustavoars@kernel.org>
      Link: https://lore.kernel.org/r/20200722181534.GA31357@embeddedorSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      c56967d6
    • Greg Kroah-Hartman's avatar
      Merge tag 'fpga-for-5.9' of... · cb0cec23
      Greg Kroah-Hartman authored
      Merge tag 'fpga-for-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/mdf/linux-fpga into char-misc-next
      
      Moritz writes:
      
      FPGA Manager changes for 5.9-rc1
      
      Here is the (slightly larger than usual) patch set for the 5.9-rc1 merge
      window.
      
      DFL:
      - Xu's changes add support for AFU interrupt handling and puts them to
        use for error handling.
      - Xu's other change also adds another device-id for the Intel FPGA PAC N3000.
      - John's change converts from using get_user_pages() to
        pin_user_pages().
      - Gustavo's patch cleans up some of the allocation by using
        struct_size().
      
      Xilinx:
      - Luca's changes clean up the xilinx-spi and xilinx-slave-serial drivers
        and updates the comments and dt-bindings to reflect the fact it also
        supports 7 series devices.
      
      Core:
      - Tom cleaned up the fpga-bridge / fpga-mgr core by removing some
        dead-stores.
      
      All patches have been reviewed on the mailing list, and have been in the
      last few linux-next releases (as part of my for-next branch) without issues.
      Signed-off-by: default avatarMoritz Fischer <mdf@kernel.org>
      
      * tag 'fpga-for-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/mdf/linux-fpga:
        fpga: dfl: pci: add device id for Intel FPGA PAC N3000
        Documentation: fpga: dfl: add descriptions for interrupt related interfaces.
        fpga: dfl: afu: add AFU interrupt support
        fpga: dfl: fme: add interrupt support for global error reporting
        fpga: dfl: afu: add interrupt support for port error reporting
        fpga: dfl: introduce interrupt trigger setting API
        fpga: dfl: pci: add irq info for feature devices enumeration
        fpga: dfl: parse interrupt info for feature devices on enumeration
        fpga manager: xilinx-spi: check INIT_B pin during write_init
        dt-bindings: fpga: xilinx-slave-serial: add optional INIT_B GPIO
        fpga: Fix dead store in fpga-bridge.c
        fpga: Fix dead store fpga-mgr.c
        fpga: dfl: Use struct_size() in kzalloc()
        fpga manager: xilinx-spi: remove unneeded, mistyped variables
        fpga manager: xilinx-spi: valid for the 7 Series too
        dt-bindings: fpga: xilinx-slave-serial: valid for the 7 Series too
        fpga: dfl: afu: convert get_user_pages() --> pin_user_pages()
      cb0cec23
    • Greg Kroah-Hartman's avatar
      Merge tag 'soundwire-5.9-rc1' of... · 575ec5e5
      Greg Kroah-Hartman authored
      Merge tag 'soundwire-5.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire into char-misc-next
      
      Vinod writes:
      
      soundwire updates for 5.9-rc1
      
      This contains few core changes and bunch of Intel driver updates:
      
       - Adds definitions for 1.2 spec
       - Sanyog left as a MAINTAINER and Bard took his place while Sanyog
         is a reviewer now.
       - Intel: Lots of updates to stream/dai handling, wake support and link
         synchronization.
      
      * tag 'soundwire-5.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire: (31 commits)
        Soundwire: intel_init: save Slave(s) _ADR info in sdw_intel_ctx
        soundwire: intel: add wake interrupt support
        soundwire: intel/cadence: merge Soundwire interrupt handlers/threads
        soundwire: intel_init: use EXPORT_SYMBOL_NS
        soundwire: intel_init: add implementation of sdw_intel_enable_irq()
        soundwire: intel: introduce helper for link synchronization
        soundwire: intel: introduce a helper to arm link synchronization
        soundwire: intel: revisit SHIM programming sequences.
        soundwire: intel: reuse code for wait loops to set/clear bits
        soundwire: fix the kernel-doc comment
        soundwire: sdw.h: fix indentation
        soundwire: sdw.h: fix PRBS/Static_1 swapped definitions
        soundwire: intel: don't free dma_data in DAI shutdown
        soundwire: cadence: allocate/free dma_data in set_sdw_stream
        soundwire: intel: remove stream allocation/free
        soundwire: stream: add helper to startup/shutdown streams
        soundwire: intel: implement get_sdw_stream() operations
        MAINTAINERS: change SoundWire maintainer
        soundwire: bus: initialize bus clock base and scale registers
        soundwire: extend SDW_SLAVE_ENTRY
        ...
      575ec5e5
  2. 22 Jul, 2020 5 commits
  3. 21 Jul, 2020 26 commits
  4. 20 Jul, 2020 1 commit
  5. 19 Jul, 2020 5 commits
    • Linus Torvalds's avatar
      Linux 5.8-rc6 · ba47d845
      Linus Torvalds authored
      ba47d845
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-fixes-2020-07-19' of... · 92188b41
      Linus Torvalds authored
      Merge tag 'perf-tools-fixes-2020-07-19' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into master
      
      Pull perf tooling fixes from Arnaldo Carvalho de Melo:
      
       - Update hashmap.h from libbpf and kvm.h from x86's kernel UAPI.
      
       - Set opt->set in libsubcmd's OPT_CALLBACK_SET(). This fixes
         'perf record --switch-output-event event-name' usage"
      
      * tag 'perf-tools-fixes-2020-07-19' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux:
        tools arch kvm: Sync kvm headers with the kernel sources
        perf tools: Sync hashmap.h with libbpf's
        libsubcmd: Fix OPT_CALLBACK_SET()
      92188b41
    • Linus Torvalds's avatar
      Merge tag 'x86-urgent-2020-07-19' of... · efb9666e
      Linus Torvalds authored
      Merge tag 'x86-urgent-2020-07-19' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into master
      
      Pull x86 fixes from Thomas Gleixner:
       "A pile of fixes for x86:
      
         - Fix the I/O bitmap invalidation on XEN PV, which was overlooked in
           the recent ioperm/iopl rework. This caused the TSS and XEN's I/O
           bitmap to get out of sync.
      
         - Use the proper vectors for HYPERV.
      
         - Make disabling of stack protector for the entry code work with GCC
           builds which enable stack protector by default. Removing the option
           is not sufficient, it needs an explicit -fno-stack-protector to
           shut it off.
      
         - Mark check_user_regs() noinstr as it is called from noinstr code.
           The missing annotation causes it to be placed in the text section
           which makes it instrumentable.
      
         - Add the missing interrupt disable in exc_alignment_check()
      
         - Fixup a XEN_PV build dependency in the 32bit entry code
      
         - A few fixes to make the Clang integrated assembler happy
      
         - Move EFI stub build to the right place for out of tree builds
      
         - Make prepare_exit_to_usermode() static. It's not longer called from
           ASM code"
      
      * tag 'x86-urgent-2020-07-19' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/boot: Don't add the EFI stub to targets
        x86/entry: Actually disable stack protector
        x86/ioperm: Fix io bitmap invalidation on Xen PV
        x86: math-emu: Fix up 'cmp' insn for clang ias
        x86/entry: Fix vectors to IDTENTRY_SYSVEC for CONFIG_HYPERV
        x86/entry: Add compatibility with IAS
        x86/entry/common: Make prepare_exit_to_usermode() static
        x86/entry: Mark check_user_regs() noinstr
        x86/traps: Disable interrupts in exc_aligment_check()
        x86/entry/32: Fix XEN_PV build dependency
      efb9666e
    • Linus Torvalds's avatar
      Merge tag 'timers-urgent-2020-07-19' of... · 66e4b636
      Linus Torvalds authored
      Merge tag 'timers-urgent-2020-07-19' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into master
      
      Pull timer fixes from Thomas Gleixner:
       "Two fixes for the timer wheel:
      
         - A timer which is already expired at enqueue time can set the
           base->next_expiry value backwards. As a consequence base->clk can
           be set back as well. This can lead to timers expiring early. Add a
           sanity check to prevent this.
      
         - When a timer is queued with an expiry time beyond the wheel
           capacity then it should be queued in the bucket of the last wheel
           level which is expiring last.
      
           The code adjusted the expiry time to the maximum wheel capacity,
           which is only correct when the wheel clock is 0. Aside of that the
           check whether the delta is larger than wheel capacity does not
           check the delta, it checks the expiry value itself. As a result
           timers can expire at random.
      
           Fix this by checking the right variable and adjust expiry time so
           it becomes base->clock plus capacity which places it into the
           outmost bucket in the last wheel level"
      
      * tag 'timers-urgent-2020-07-19' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        timer: Fix wheel index calculation on last level
        timer: Prevent base->clk from moving backward
      66e4b636
    • Linus Torvalds's avatar
      Merge tag 'sched-urgent-2020-07-19' of... · 43768f7c
      Linus Torvalds authored
      Merge tag 'sched-urgent-2020-07-19' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into master
      
      Pull scheduler fixes from Thomas Gleixner:
       "A set of scheduler fixes:
      
         - Plug a load average accounting race which was introduced with a
           recent optimization casing load average to show bogus numbers.
      
         - Fix the rseq CPU id initialization for new tasks. sched_fork() does
           not update the rseq CPU id so the id is the stale id of the parent
           task, which can cause user space data corruption.
      
         - Handle a 0 return value of task_h_load() correctly in the load
           balancer, which does not decrease imbalance and therefore pulls
           until the maximum number of loops is reached, which might be all
           tasks just created by a fork bomb"
      
      * tag 'sched-urgent-2020-07-19' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/fair: handle case of task_h_load() returning 0
        sched: Fix unreliable rseq cpu_id for new tasks
        sched: Fix loadavg accounting race
      43768f7c