30 Oct, 2020

8 commits

  • 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].

    [1] https://en.wikipedia.org/wiki/Flexible_array_member
    [2] https://www.kernel.org/doc/html/v5.9-rc1/process/deprecated.html#zero-length-and-one-element-arrays

    Signed-off-by: Gustavo A. R. Silva

    Gustavo A. R. Silva
     
  • 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].

    [1] https://en.wikipedia.org/wiki/Flexible_array_member
    [2] https://www.kernel.org/doc/html/v5.9-rc1/process/deprecated.html#zero-length-and-one-element-arrays

    Signed-off-by: Gustavo A. R. Silva

    Gustavo A. R. Silva
     
  • 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].

    [1] https://en.wikipedia.org/wiki/Flexible_array_member
    [2] https://www.kernel.org/doc/html/v5.9-rc1/process/deprecated.html#zero-length-and-one-element-arrays

    Signed-off-by: Gustavo A. R. Silva

    Gustavo A. R. Silva
     
  • 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].

    [1] https://en.wikipedia.org/wiki/Flexible_array_member
    [2] https://www.kernel.org/doc/html/v5.9-rc1/process/deprecated.html#zero-length-and-one-element-arrays

    Signed-off-by: Gustavo A. R. Silva

    Gustavo A. R. Silva
     
  • 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].

    [1] https://en.wikipedia.org/wiki/Flexible_array_member
    [2] https://www.kernel.org/doc/html/v5.9-rc1/process/deprecated.html#zero-length-and-one-element-arrays

    Signed-off-by: Gustavo A. R. Silva

    Gustavo A. R. Silva
     
  • 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].

    [1] https://en.wikipedia.org/wiki/Flexible_array_member
    [2] https://www.kernel.org/doc/html/v5.9-rc1/process/deprecated.html#zero-length-and-one-element-arrays

    Signed-off-by: Gustavo A. R. Silva

    Gustavo A. R. Silva
     
  • 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].

    [1] https://en.wikipedia.org/wiki/Flexible_array_member
    [2] https://www.kernel.org/doc/html/v5.9-rc1/process/deprecated.html#zero-length-and-one-element-arrays

    Signed-off-by: Gustavo A. R. Silva

    Gustavo A. R. Silva
     
  • 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].

    [1] https://en.wikipedia.org/wiki/Flexible_array_member
    [2] https://www.kernel.org/doc/html/v5.9-rc1/process/deprecated.html#zero-length-and-one-element-arrays

    Signed-off-by: Gustavo A. R. Silva

    Gustavo A. R. Silva
     

26 Oct, 2020

16 commits

  • Linus Torvalds
     
  • Use a more generic form for __section that requires quotes to avoid
    complications with clang and gcc differences.

    Remove the quote operator # from compiler_attributes.h __section macro.

    Convert all unquoted __section(foo) uses to quoted __section("foo").
    Also convert __attribute__((section("foo"))) uses to __section("foo")
    even if the __attribute__ has multiple list entry forms.

    Conversion done using the script at:

    https://lore.kernel.org/lkml/75393e5ddc272dc7403de74d645e6c6e0f4e70eb.camel@perches.com/2-convert_section.pl

    Signed-off-by: Joe Perches
    Reviewed-by: Nick Desaulniers
    Reviewed-by: Miguel Ojeda
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • tid_addr is not a "pointer to (pointer to int in userspace)"; it is in
    fact a "pointer to (pointer to int in userspace) in userspace". So
    sparse rightfully complains about passing a kernel pointer to
    put_user().

    Reported-by: kernel test robot
    Signed-off-by: Rasmus Villemoes
    Signed-off-by: Linus Torvalds

    Rasmus Villemoes
     
  • Commit 453431a54934 ("mm, treewide: rename kzfree() to
    kfree_sensitive()") renamed kzfree() to kfree_sensitive(),
    but it left a compatibility definition of kzfree() to avoid
    being too disruptive.

    Since then a few more instances of kzfree() have slipped in.

    Just get rid of them and remove the compatibility definition
    once and for all.

    Signed-off-by: Eric Biggers
    Signed-off-by: Linus Torvalds

    Eric Biggers
     
  • If set, use the environment variable GIT_DIR to change the default .git
    location of the kernel git tree.

    If GIT_DIR is unset, keep using the current ".git" default.

    Link: https://lkml.kernel.org/r/c5e23b45562373d632fccb8bc04e563abba4dd1d.camel@perches.com
    Signed-off-by: Joe Perches
    Tested-by: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Pull timer fixes from Thomas Gleixner:
    "A time namespace fix and a matching selftest. The futex absolute
    timeouts which are based on CLOCK_MONOTONIC require time namespace
    corrected. This was missed in the original time namesapce support"

    * tag 'timers-urgent-2020-10-25' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    selftests/timens: Add a test for futex()
    futex: Adjust absolute futex timeouts with per time namespace offset

    Linus Torvalds
     
  • Pull scheduler fixes from Thomas Gleixner:
    "Two scheduler fixes:

    - A trivial build fix for sched_feat() to compile correctly with
    CONFIG_JUMP_LABEL=n

    - Replace a zero lenght array with a flexible array"

    * tag 'sched-urgent-2020-10-25' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    sched/features: Fix !CONFIG_JUMP_LABEL case
    sched: Replace zero-length array with flexible-array

    Linus Torvalds
     
  • Pull perf fix from Thomas Gleixner:
    "A single fix to compute the field offset of the SNOOPX bit in the data
    source bitmask of perf events correctly"

    * tag 'perf-urgent-2020-10-25' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf: correct SNOOPX field offset

    Linus Torvalds
     
  • Pull locking fix from Thomas Gleixner:
    "Just a trivial fix for kernel-doc warnings"

    * tag 'locking-urgent-2020-10-25' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    locking/seqlocks: Fix kernel-doc warnings

    Linus Torvalds
     
  • Pull NTB fixes from Jon Mason.

    * tag 'ntb-5.10' of git://github.com/jonmason/ntb:
    NTB: Use struct_size() helper in devm_kzalloc()
    ntb: intel: Fix memleak in intel_ntb_pci_probe
    NTB: hw: amd: fix an issue about leak system resources

    Linus Torvalds
     
  • Pull i2c fix from Wolfram Sang:
    "Regression fix for rc1 and stable kernels as well"

    * 'i2c/for-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
    i2c: core: Restore acpi_walk_dep_device_list() getting called after registering the ACPI i2c devs

    Linus Torvalds
     
  • Pull more cifs updates from Steve French:
    "Add support for stat of various special file types (WSL reparse points
    for char, block, fifo)"

    * tag '5.10-rc-smb3-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6:
    cifs: update internal module version number
    smb3: add some missing definitions from MS-FSCC
    smb3: remove two unused variables
    smb3: add support for stat of WSL reparse points for special file types

    Linus Torvalds
     
  • Pull more parisc updates from Helge Deller:

    - During this merge window O_NONBLOCK was changed to become 000200000,
    but we missed that the syscalls timerfd_create(), signalfd4(),
    eventfd2(), pipe2(), inotify_init1() and userfaultfd() do a strict
    bit-wise check of the flags parameter.

    To provide backward compatibility with existing userspace we
    introduce parisc specific wrappers for those syscalls which filter
    out the old O_NONBLOCK value and replaces it with the new one.

    - Prevent HIL bus driver to get stuck when keyboard or mouse isn't
    attached

    - Improve error return codes when setting rtc time

    - Minor documentation fix in pata_ns87415.c

    * 'parisc-5.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
    ata: pata_ns87415.c: Document support on parisc with superio chip
    parisc: Add wrapper syscalls to fix O_NONBLOCK flag usage
    hil/parisc: Disable HIL driver when it gets stuck
    parisc: Improve error return codes when setting rtc time

    Linus Torvalds
     
  • Pull more xen updates from Juergen Gross:

    - a series for the Xen pv block drivers adding module parameters for
    better control of resource usge

    - a cleanup series for the Xen event driver

    * tag 'for-linus-5.10b-rc1c-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
    Documentation: add xen.fifo_events kernel parameter description
    xen/events: unmask a fifo event channel only if it was masked
    xen/events: only register debug interrupt for 2-level events
    xen/events: make struct irq_info private to events_base.c
    xen: remove no longer used functions
    xen-blkfront: Apply changed parameter name to the document
    xen-blkfront: add a parameter for disabling of persistent grants
    xen-blkback: add a parameter for disabling of persistent grants

    Linus Torvalds
     
  • Pull SafeSetID updates from Micah Morton:
    "The changes are mostly contained to within the SafeSetID LSM, with the
    exception of a few 1-line changes to change some ns_capable() calls to
    ns_capable_setid() -- causing a flag (CAP_OPT_INSETID) to be set that
    is examined by SafeSetID code and nothing else in the kernel.

    The changes to SafeSetID internally allow for setting up GID
    transition security policies, as already existed for UIDs"

    * tag 'safesetid-5.10' of git://github.com/micah-morton/linux:
    LSM: SafeSetID: Fix warnings reported by test bot
    LSM: SafeSetID: Add GID security policy handling
    LSM: Signal to SafeSetID when setting group IDs

    Linus Torvalds
     
  • Pull random32 updates from Willy Tarreau:
    "Make prandom_u32() less predictable.

    This is the cleanup of the latest series of prandom_u32
    experimentations consisting in using SipHash instead of Tausworthe to
    produce the randoms used by the network stack.

    The changes to the files were kept minimal, and the controversial
    commit that used to take noise from the fast_pool (f227e3ec3b5c) was
    reverted. Instead, a dedicated "net_rand_noise" per_cpu variable is
    fed from various sources of activities (networking, scheduling) to
    perturb the SipHash state using fast, non-trivially predictable data,
    instead of keeping it fully deterministic. The goal is essentially to
    make any occasional memory leakage or brute-force attempt useless.

    The resulting code was verified to be very slightly faster on x86_64
    than what is was with the controversial commit above, though this
    remains barely above measurement noise. It was also tested on i386 and
    arm, and build- tested only on arm64"

    Link: https://lore.kernel.org/netdev/20200808152628.GA27941@SDF.ORG/

    * tag '20201024-v4-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/wtarreau/prandom:
    random32: add a selftest for the prandom32 code
    random32: add noise from network and scheduling activity
    random32: make prandom_u32() output unpredictable

    Linus Torvalds
     

25 Oct, 2020

16 commits

  • Commit 21653a4181ff ("i2c: core: Call i2c_acpi_install_space_handler()
    before i2c_acpi_register_devices()")'s intention was to only move the
    acpi_install_address_space_handler() call to the point before where
    the ACPI declared i2c-children of the adapter where instantiated by
    i2c_acpi_register_devices().

    But i2c_acpi_install_space_handler() had a call to
    acpi_walk_dep_device_list() hidden (that is I missed it) at the end
    of it, so as an unwanted side-effect now acpi_walk_dep_device_list()
    was also being called before i2c_acpi_register_devices().

    Move the acpi_walk_dep_device_list() call to the end of
    i2c_acpi_register_devices(), so that it is once again called *after*
    the i2c_client-s hanging of the adapter have been created.

    This fixes the Microsoft Surface Go 2 hanging at boot.

    Fixes: 21653a4181ff ("i2c: core: Call i2c_acpi_install_space_handler() before i2c_acpi_register_devices()")
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=209627
    Reported-by: Rainer Finke
    Reported-by: Kieran Bingham
    Suggested-by: Maximilian Luz
    Tested-by: Kieran Bingham
    Signed-off-by: Hans de Goede
    Signed-off-by: Wolfram Sang

    Hans de Goede
     
  • Pull block fixes from Jens Axboe:

    - NVMe pull request from Christoph
    - rdma error handling fixes (Chao Leng)
    - fc error handling and reconnect fixes (James Smart)
    - fix the qid displace when tracing ioctl command (Keith Busch)
    - don't use BLK_MQ_REQ_NOWAIT for passthru (Chaitanya Kulkarni)
    - fix MTDT for passthru (Logan Gunthorpe)
    - blacklist Write Same on more devices (Kai-Heng Feng)
    - fix an uninitialized work struct (zhenwei pi)"

    - lightnvm out-of-bounds fix (Colin)

    - SG allocation leak fix (Doug)

    - rnbd fixes (Gioh, Guoqing, Jack)

    - zone error translation fixes (Keith)

    - kerneldoc markup fix (Mauro)

    - zram lockdep fix (Peter)

    - Kill unused io_context members (Yufen)

    - NUMA memory allocation cleanup (Xianting)

    - NBD config wakeup fix (Xiubo)

    * tag 'block-5.10-2020-10-24' of git://git.kernel.dk/linux-block: (27 commits)
    block: blk-mq: fix a kernel-doc markup
    nvme-fc: shorten reconnect delay if possible for FC
    nvme-fc: wait for queues to freeze before calling update_hr_hw_queues
    nvme-fc: fix error loop in create_hw_io_queues
    nvme-fc: fix io timeout to abort I/O
    null_blk: use zone status for max active/open
    nvmet: don't use BLK_MQ_REQ_NOWAIT for passthru
    nvmet: cleanup nvmet_passthru_map_sg()
    nvmet: limit passthru MTDS by BIO_MAX_PAGES
    nvmet: fix uninitialized work for zero kato
    nvme-pci: disable Write Zeroes on Sandisk Skyhawk
    nvme: use queuedata for nvme_req_qid
    nvme-rdma: fix crash due to incorrect cqe
    nvme-rdma: fix crash when connect rejected
    block: remove unused members for io_context
    blk-mq: remove the calling of local_memory_node()
    zram: Fix __zram_bvec_{read,write}() locking order
    skd_main: remove unused including
    sgl_alloc_order: fix memory leak
    lightnvm: fix out-of-bounds write to array devices->info[]
    ...

    Linus Torvalds
     
  • Pull io_uring fixes from Jens Axboe:

    - fsize was missed in previous unification of work flags

    - Few fixes cleaning up the flags unification creds cases (Pavel)

    - Fix NUMA affinities for completely unplugged/replugged node for io-wq

    - Two fallout fixes from the set_fs changes. One local to io_uring, one
    for the splice entry point that io_uring uses.

    - Linked timeout fixes (Pavel)

    - Removal of ->flush() ->files work-around that we don't need anymore
    with referenced files (Pavel)

    - Various cleanups (Pavel)

    * tag 'io_uring-5.10-2020-10-24' of git://git.kernel.dk/linux-block:
    splice: change exported internal do_splice() helper to take kernel offset
    io_uring: make loop_rw_iter() use original user supplied pointers
    io_uring: remove req cancel in ->flush()
    io-wq: re-set NUMA node affinities if CPUs come online
    io_uring: don't reuse linked_timeout
    io_uring: unify fsize with def->work_flags
    io_uring: fix racy REQ_F_LINK_TIMEOUT clearing
    io_uring: do poll's hash_node init in common code
    io_uring: inline io_poll_task_handler()
    io_uring: remove extra ->file check in poll prep
    io_uring: make cached_cq_overflow non atomic_t
    io_uring: inline io_fail_links()
    io_uring: kill ref get/drop in personality init
    io_uring: flags-based creds init in queue

    Linus Torvalds
     
  • Pull libata fixes from Jens Axboe:
    "Two minor libata fixes:

    - Fix a DMA boundary mask regression for sata_rcar (Geert)

    - kerneldoc markup fix (Mauro)"

    * tag 'libata-5.10-2020-10-24' of git://git.kernel.dk/linux-block:
    ata: fix some kernel-doc markups
    ata: sata_rcar: Fix DMA boundary mask

    Linus Torvalds
     
  • Pull misc vfs updates from Al Viro:
    "Assorted stuff all over the place (the largest group here is
    Christoph's stat cleanups)"

    * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    fs: remove KSTAT_QUERY_FLAGS
    fs: remove vfs_stat_set_lookup_flags
    fs: move vfs_fstatat out of line
    fs: implement vfs_stat and vfs_lstat in terms of vfs_fstatat
    fs: remove vfs_statx_fd
    fs: omfs: use kmemdup() rather than kmalloc+memcpy
    [PATCH] reduce boilerplate in fsid handling
    fs: Remove duplicated flag O_NDELAY occurring twice in VALID_OPEN_FLAGS
    selftests: mount: add nosymfollow tests
    Add a "nosymfollow" mount option.

    Linus Torvalds
     
  • Pull dma-mapping fixes from Christoph Hellwig:

    - document the new dma_{alloc,free}_pages() API

    - two fixups for the dma-mapping.h split

    * tag 'dma-mapping-5.10-1' of git://git.infradead.org/users/hch/dma-mapping:
    dma-mapping: document dma_{alloc,free}_pages
    dma-mapping: move more functions to dma-map-ops.h
    ARM/sa1111: add a missing include of dma-map-ops.h

    Linus Torvalds
     
  • Pull KVM fixes from Paolo Bonzini:
    "Two fixes for this merge window, and an unrelated bugfix for a host
    hang"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    KVM: ioapic: break infinite recursion on lazy EOI
    KVM: vmx: rename pi_init to avoid conflict with paride
    KVM: x86/mmu: Avoid modulo operator on 64-bit value to fix i386 build

    Linus Torvalds
     
  • Pull x86 SEV-ES fixes from Borislav Petkov:
    "Three fixes to SEV-ES to correct setting up the new early pagetable on
    5-level paging machines, to always map boot_params and the kernel
    cmdline, and disable stack protector for ../compressed/head{32,64}.c.
    (Arvind Sankar)"

    * tag 'x86_seves_fixes_for_v5.10_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/boot/64: Explicitly map boot_params and command line
    x86/head/64: Disable stack protection for head$(BITS).o
    x86/boot/64: Initialize 5-level paging variables earlier

    Linus Torvalds
     
  • Given that this code is new, let's add a selftest for it as well.
    It doesn't rely on fixed sets, instead it picks 1024 numbers and
    verifies that they're not more correlated than desired.

    Link: https://lore.kernel.org/netdev/20200808152628.GA27941@SDF.ORG/
    Cc: George Spelvin
    Cc: Amit Klein
    Cc: Eric Dumazet
    Cc: "Jason A. Donenfeld"
    Cc: Andy Lutomirski
    Cc: Kees Cook
    Cc: Thomas Gleixner
    Cc: Peter Zijlstra
    Cc: Linus Torvalds
    Cc: tytso@mit.edu
    Cc: Florian Westphal
    Cc: Marc Plumb
    Signed-off-by: Willy Tarreau

    Willy Tarreau
     
  • With the removal of the interrupt perturbations in previous random32
    change (random32: make prandom_u32() output unpredictable), the PRNG
    has become 100% deterministic again. While SipHash is expected to be
    way more robust against brute force than the previous Tausworthe LFSR,
    there's still the risk that whoever has even one temporary access to
    the PRNG's internal state is able to predict all subsequent draws till
    the next reseed (roughly every minute). This may happen through a side
    channel attack or any data leak.

    This patch restores the spirit of commit f227e3ec3b5c ("random32: update
    the net random state on interrupt and activity") in that it will perturb
    the internal PRNG's statee using externally collected noise, except that
    it will not pick that noise from the random pool's bits nor upon
    interrupt, but will rather combine a few elements along the Tx path
    that are collectively hard to predict, such as dev, skb and txq
    pointers, packet length and jiffies values. These ones are combined
    using a single round of SipHash into a single long variable that is
    mixed with the net_rand_state upon each invocation.

    The operation was inlined because it produces very small and efficient
    code, typically 3 xor, 2 add and 2 rol. The performance was measured
    to be the same (even very slightly better) than before the switch to
    SipHash; on a 6-core 12-thread Core i7-8700k equipped with a 40G NIC
    (i40e), the connection rate dropped from 556k/s to 555k/s while the
    SYN cookie rate grew from 5.38 Mpps to 5.45 Mpps.

    Link: https://lore.kernel.org/netdev/20200808152628.GA27941@SDF.ORG/
    Cc: George Spelvin
    Cc: Amit Klein
    Cc: Eric Dumazet
    Cc: "Jason A. Donenfeld"
    Cc: Andy Lutomirski
    Cc: Kees Cook
    Cc: Thomas Gleixner
    Cc: Peter Zijlstra
    Cc: Linus Torvalds
    Cc: tytso@mit.edu
    Cc: Florian Westphal
    Cc: Marc Plumb
    Tested-by: Sedat Dilek
    Signed-off-by: Willy Tarreau

    Willy Tarreau
     
  • Non-cryptographic PRNGs may have great statistical properties, but
    are usually trivially predictable to someone who knows the algorithm,
    given a small sample of their output. An LFSR like prandom_u32() is
    particularly simple, even if the sample is widely scattered bits.

    It turns out the network stack uses prandom_u32() for some things like
    random port numbers which it would prefer are *not* trivially predictable.
    Predictability led to a practical DNS spoofing attack. Oops.

    This patch replaces the LFSR with a homebrew cryptographic PRNG based
    on the SipHash round function, which is in turn seeded with 128 bits
    of strong random key. (The authors of SipHash have *not* been consulted
    about this abuse of their algorithm.) Speed is prioritized over security;
    attacks are rare, while performance is always wanted.

    Replacing all callers of prandom_u32() is the quick fix.
    Whether to reinstate a weaker PRNG for uses which can tolerate it
    is an open question.

    Commit f227e3ec3b5c ("random32: update the net random state on interrupt
    and activity") was an earlier attempt at a solution. This patch replaces
    it.

    Reported-by: Amit Klein
    Cc: Willy Tarreau
    Cc: Eric Dumazet
    Cc: "Jason A. Donenfeld"
    Cc: Andy Lutomirski
    Cc: Kees Cook
    Cc: Thomas Gleixner
    Cc: Peter Zijlstra
    Cc: Linus Torvalds
    Cc: tytso@mit.edu
    Cc: Florian Westphal
    Cc: Marc Plumb
    Fixes: f227e3ec3b5c ("random32: update the net random state on interrupt and activity")
    Signed-off-by: George Spelvin
    Link: https://lore.kernel.org/netdev/20200808152628.GA27941@SDF.ORG/
    [ willy: partial reversal of f227e3ec3b5c; moved SIPROUND definitions
    to prandom.h for later use; merged George's prandom_seed() proposal;
    inlined siprand_u32(); replaced the net_rand_state[] array with 4
    members to fix a build issue; cosmetic cleanups to make checkpatch
    happy; fixed RANDOM32_SELFTEST build ]
    Signed-off-by: Willy Tarreau

    George Spelvin
     
  • Pull powerpc fixes from Michael Ellerman:

    - A fix for undetected data corruption on Power9 Nimbus constraint with GCC 4.9
    powerpc/eeh: Fix eeh_dev_check_failure() for PE#0
    powerpc/64s: Remove TM from Power10 features
    selftests/powerpc: Make alignment handler test P9N DD2.1 vector CI load workaround
    powerpc: Fix undetected data corruption with P9N DD2.1 VSX CI load emulation
    powerpc/powernv/dump: Handle multiple writes to ack attribute
    powerpc/powernv/dump: Fix race while processing OPAL dump
    powerpc/smp: Use GFP_ATOMIC while allocating tmp mask
    powerpc/smp: Remove unnecessary variable
    powerpc/mce: Avoid nmi_enter/exit in real mode on pseries hash
    powerpc/opal_elog: Handle multiple writes to ack attribute

    Linus Torvalds
     
  • Pull more RISC-V updates from Palmer Dabbelt:
    "Just a single patch set: the remainder of Christoph's work to remove
    set_fs, including the RISC-V portion"

    * tag 'riscv-for-linus-5.10-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
    riscv: remove address space overrides using set_fs()
    riscv: implement __get_kernel_nofault and __put_user_nofault
    riscv: refactor __get_user and __put_user
    riscv: use memcpy based uaccess for nommu again
    asm-generic: make the set_fs implementation optional
    asm-generic: add nommu implementations of __{get,put}_kernel_nofault
    asm-generic: improve the nommu {get,put}_user handling
    uaccess: provide a generic TASK_SIZE_MAX definition

    Linus Torvalds
     
  • Pull ARM SoC defconfig updates from Olof Johansson:
    "We keep this in a separate branch to avoid cross-branch conflicts, but
    most of the material here is fairly boring -- some new drivers turned
    on for hardware since they were merged, and some refreshed files due
    to time having moved a lot of entries around"

    * tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (33 commits)
    ARM: multi_v7_defconfig: add FMC2 EBI controller support
    arm64: defconfig: enable Qualcomm ASoC modules
    arm64: defconfig: qcom: enable GPU clock controller for SM8[12]50
    arm64: defconfig: enable INTERCONNECT for Qualcomm chipsets
    arm64: defconfig: enable the sl28cpld board management controller
    arm64: defconfig: Enable the eLCDIF and Raydium RM67191 drivers
    arm64: defconfig: Enable Qcom SNPS Femto PHY
    ARM: configs: Update Realview defconfig
    ARM: configs: Update Versatile defconfig
    ARM: config: aspeed_g5: Enable IBM OP Panel driver
    ARM: config: aspeed-g5: Enable I2C GPIO mux driver
    ARM: config: aspeed: Fix selection of media drivers
    arm64: defconfig: Enable Samsung S3FWRN5 NFC driver
    ARM: omap2plus_defconfig: enable generic net options
    ARM: omap2plus_defconfig: enable twl4030_madc as a loadable module
    arm64: defconfig: Enable clock driver for ROHM BD718x7 PMIC
    arm64: defconfig: Build ADMA and ACONNECT driver
    arm64: defconfig: Build AHUB component drivers
    arm64: defconfig: Enable Lontium LT9611 driver
    arm64: defcondfig: Enable USB ACM and FTDI drivers
    ...

    Linus Torvalds
     
  • Pull ARM Devicetree updates from Olof Johansson:
    "As usual, most of the changes are to devicetrees.

    Besides smaller fixes, some refactorings and cleanups, some of the new
    platforms and chips (or significant features) supported are below:

    Broadcom boards:
    - Cisco Meraki MR32 (BCM53016-based)
    - BCM2711 (RPi4) display pipeline support

    Actions Semi boards:
    - Caninos Loucos Labrador SBC (S500-based)
    - RoseapplePi SBC (S500-based)

    Allwinner SoCs/boards:
    - A100 SoC with Perf1 board
    - Mali, DMA, Cetrus and IR support for R40 SoC

    Amlogic boards:
    - Libretch S905x CC V2 board
    - Hardkernel ODROID-N2+ board

    Aspeed boards/platforms:
    - Wistron Mowgli (AST2500-based, Power9 OpenPower server)
    - Facebook Wedge400 (AST2500-based, ToR switch)

    Hisilicon SoC:
    - SD5203 SoC

    Nvidia boards:
    - Tegra234 VDK, for pre-silicon Orin SoC

    NXP i.MX boards:
    - Librem 5 phone
    - i.MX8MM DDR4 EVK
    - Variscite VAR-SOM-MX8MN SoM
    - Symphony board
    - Tolino Shine 2 HD
    - TQMa6 SoM
    - Y Soft IOTA Orion

    Rockchip boards:
    - NanoPi R2S board
    - A95X-Z2 board
    - more Rock-Pi4 variants

    STM32 boards:
    - Odyssey SOM board (STM32MP157CAC-based)
    - DH DRC02 board

    Toshiba SoCs/boards:
    - Visconti SoC and TPMV7708 board"

    * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (638 commits)
    ARM: dts: nspire: Fix SP804 users
    arm64: dts: lg: Fix SP804 users
    arm64: dts: lg: Fix SP805 clocks
    ARM: mstar: Fix up the fallout from moving the dts/dtsi files
    ARM: mstar: Add mstar prefix to all of the dtsi/dts files
    ARM: mstar: Add interrupt to pm_uart
    ARM: mstar: Add interrupt controller to base dtsi
    ARM: dts: meson8: remove two invalid interrupt lines from the GPU node
    arm64: dts: ti: k3-j7200-common-proc-board: Add USB support
    arm64: dts: ti: k3-j7200-common-proc-board: Configure the SERDES lane function
    arm64: dts: ti: k3-j7200-main: Add USB controller
    arm64: dts: ti: k3-j7200-main.dtsi: Add USB to SERDES lane MUX
    arm64: dts: ti: k3-j7200-main: Add SERDES lane control mux
    dt-bindings: ti-serdes-mux: Add defines for J7200 SoC
    ARM: dts: hisilicon: add SD5203 dts
    ARM: dts: hisilicon: fix the system controller compatible nodes
    arm64: dts: zynqmp: Fix leds subnode name for zcu100/ultra96 v1
    arm64: dts: zynqmp: Remove undocumented u-boot properties
    arm64: dts: zynqmp: Remove additional compatible string for i2c IPs
    arm64: dts: zynqmp: Rename buses to be align with simple-bus yaml
    ...

    Linus Torvalds
     
  • Pull ARM SoC-related driver updates from Olof Johansson:
    "Various driver updates for platforms. A bulk of this is smaller fixes
    or cleanups, but some of the new material this time around is:

    - Support for Nvidia Tegra234 SoC

    - Ring accelerator support for TI AM65x

    - PRUSS driver for TI platforms

    - Renesas support for R-Car V3U SoC

    - Reset support for Cortex-M4 processor on i.MX8MQ

    There are also new socinfo entries for a handful of different SoCs and
    platforms"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (131 commits)
    drm/mediatek: reduce clear event
    soc: mediatek: cmdq: add clear option in cmdq_pkt_wfe api
    soc: mediatek: cmdq: add jump function
    soc: mediatek: cmdq: add write_s_mask value function
    soc: mediatek: cmdq: add write_s value function
    soc: mediatek: cmdq: add read_s function
    soc: mediatek: cmdq: add write_s_mask function
    soc: mediatek: cmdq: add write_s function
    soc: mediatek: cmdq: add address shift in jump
    soc: mediatek: mtk-infracfg: Fix kerneldoc
    soc: amlogic: pm-domains: use always-on flag
    reset: sti: reset-syscfg: fix struct description warnings
    reset: imx7: add the cm4 reset for i.MX8MQ
    dt-bindings: reset: imx8mq: add m4 reset
    reset: Fix and extend kerneldoc
    reset: reset-zynqmp: Added support for Versal platform
    dt-bindings: reset: Updated binding for Versal reset driver
    reset: imx7: Support module build
    soc: fsl: qe: Remove unnessesary check in ucc_set_tdm_rxtx_clk
    soc: fsl: qman: convert to use be32_add_cpu()
    ...

    Linus Torvalds