Skip to content
  1. Apr 02, 2022
  2. Apr 01, 2022
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml · e8b767f5
      Linus Torvalds authored
      Pull UML updates from Richard Weinberger:
      
       - Devicetree support (for testing)
      
       - Various cleanups and fixes: UBD, port_user, uml_mconsole
      
       - Maintainer update
      
      * tag 'for-linus-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
        um: run_helper: Write error message to kernel log on exec failure on host
        um: port_user: Improve error handling when port-helper is not found
        um: port_user: Allow setting path to port-helper using UML_PORT_HELPER envvar
        um: port_user: Search for in.telnetd in PATH
        um: clang: Strip out -mno-global-merge from USER_CFLAGS
        docs: UML: Mention telnetd for port channel
        um: Remove unused timeval_to_ns() function
        um: Fix uml_mconsole stop/go
        um: Cleanup syscall_handler_t definition/cast, fix warning
        uml: net: vector: fix const issue
        um: Fix WRITE_ZEROES in the UBD Driver
        um: Migrate vector drivers to NAPI
        um: Fix order of dtb unflatten/early init
        um: fix and optimize xor select template for CONFIG64 and timetravel mode
        um: Document dtb command line option
        lib/logic_iomem: correct fallback config references
        um: Remove duplicated include in syscalls_64.c
        MAINTAINERS: Update UserModeLinux entry
      e8b767f5
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs · a87a08e3
      Linus Torvalds authored
      Pull JFFS2, UBI and UBIFS updates from Richard Weinberger:
       "JFFS2:
         - Fixes for various memory issues
      
        UBI:
         - Fix for a race condition in cdev ioctl handler
      
        UBIFS:
         - Fixes for O_TMPFILE and whiteout handling
      
         - Fixes for various memory issues"
      
      * tag 'for-linus-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs:
        ubifs: rename_whiteout: correct old_dir size computing
        jffs2: fix memory leak in jffs2_scan_medium
        jffs2: fix memory leak in jffs2_do_mount_fs
        jffs2: fix use-after-free in jffs2_clear_xattr_subsystem
        fs/jffs2: fix comments mentioning i_mutex
        ubi: fastmap: Return error code if memory allocation fails in add_aeb()
        ubifs: Fix to add refcount once page is set private
        ubifs: Fix read out-of-bounds in ubifs_wbuf_write_nolock()
        ubifs: setflags: Make dirtied_ino_d 8 bytes aligned
        ubifs: Rectify space amount budget for mkdir/tmpfile operations
        ubifs: Fix 'ui->dirty' race between do_tmpfile() and writeback work
        ubifs: Rename whiteout atomically
        ubifs: Add missing iput if do_tmpfile() failed in rename whiteout
        ubifs: Fix wrong number of inodes locked by ui_mutex in ubifs_inode comment
        ubifs: Fix deadlock in concurrent rename whiteout and inode writeback
        ubifs: rename_whiteout: Fix double free for whiteout_ui->data
        ubi: Fix race condition between ctrl_cdev_ioctl and ubi_cdev_ioctl
      a87a08e3
    • Linus Torvalds's avatar
      Merge tag 'gfs2-v5.17-rc4-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · 3d198e42
      Linus Torvalds authored
      Pull gfs2 fixes from Andreas Gruenbacher:
      
       - To avoid deadlocks, actively cancel dlm locking requests when we give
         up on them.
      
         Further dlm operations on the same lock will return -EBUSY until the
         cancel has been completed, so in that case, wait and repeat. (This is
         rare.)
      
       - Lock inversion fixes in gfs2_inode_lookup() and gfs2_create_inode().
      
       - Some more fallout from the gfs2 mmap + page fault deadlock fixes
         (merged in commit c03098d4: "Merge tag 'gfs2-v5.15-rc5-mmap-fault'").
      
       - Various other minor bug fixes and cleanups.
      
      * tag 'gfs2-v5.17-rc4-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        gfs2: Make sure FITRIM minlen is rounded up to fs block size
        gfs2: Make sure not to return short direct writes
        gfs2: Remove dead code in gfs2_file_read_iter
        gfs2: Fix gfs2_file_buffered_write endless loop workaround
        gfs2: Minor retry logic cleanup
        gfs2: Disable page faults during lockless buffered reads
        gfs2: Fix should_fault_in_pages() logic
        gfs2: Remove return value for gfs2_indirect_init
        gfs2: Initialize gh_error in gfs2_glock_nq
        gfs2: Make use of list_is_first
        gfs2: Switch lock order of inode and iopen glock
        gfs2: cancel timed-out glock requests
        gfs2: Expect -EBUSY after canceling dlm locking requests
        gfs2: gfs2_setattr_size error path fix
        gfs2: assign rgrp glock before compute_bitstructs
      3d198e42
    • Linus Torvalds's avatar
      Merge tag 'netfs-prep-20220318' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs · f008b1d6
      Linus Torvalds authored
      Pull netfs updates from David Howells:
       "Netfs prep for write helpers.
      
        Having had a go at implementing write helpers and content encryption
        support in netfslib, it seems that the netfs_read_{,sub}request
        structs and the equivalent write request structs were almost the same
        and so should be merged, thereby requiring only one set of
        alloc/get/put functions and a common set of tracepoints.
      
        Merging the structs also has the advantage that if a bounce buffer is
        added to the request struct, a read operation can be performed to fill
        the bounce buffer, the contents of the buffer can be modified and then
        a write operation can be performed on it to send the data wherever it
        needs to go using the same request structure all the way through. The
        I/O handlers would then transparently perform any required crypto.
        This should make it easier to perform RMW cycles if needed.
      
        The potentially common functions and structs, however, by their names
        all proclaim themselves to be associated with the read side of things.
      
        The bulk of these changes alter this in the following ways:
      
         - Rename struct netfs_read_{,sub}request to netfs_io_{,sub}request.
      
         - Rename some enums, members and flags to make them more appropriate.
      
         - Adjust some comments to match.
      
         - Drop "read"/"rreq" from the names of common functions. For
           instance, netfs_get_read_request() becomes netfs_get_request().
      
         - The ->init_rreq() and ->issue_op() methods become ->init_request()
           and ->issue_read(). I've kept the latter as a read-specific
           function and in another branch added an ->issue_write() method.
      
        The driver source is then reorganised into a number of files:
      
              fs/netfs/buffered_read.c        Create read reqs to the pagecache
              fs/netfs/io.c                   Dispatchers for read and write reqs
              fs/netfs/main.c                 Some general miscellaneous bits
              fs/netfs/objects.c              Alloc, get and put functions
              fs/netfs/stats.c                Optional procfs statistics.
      
        and future development can be fitted into this scheme, e.g.:
      
              fs/netfs/buffered_write.c       Modify the pagecache
              fs/netfs/buffered_flush.c       Writeback from the pagecache
              fs/netfs/direct_read.c          DIO read support
              fs/netfs/direct_write.c         DIO write support
              fs/netfs/unbuffered_write.c     Write modifications directly back
      
        Beyond the above changes, there are also some changes that affect how
        things work:
      
         - Make fscache_end_operation() generally available.
      
         - In the netfs tracing header, generate enums from the symbol ->
           string mapping tables rather than manually coding them.
      
         - Add a struct for filesystems that uses netfslib to put into their
           inode wrapper structs to hold extra state that netfslib is
           interested in, such as the fscache cookie. This allows netfslib
           functions to be set in filesystem operation tables and jumped to
           directly without having to have a filesystem wrapper.
      
         - Add a member to the struct added above to track the remote inode
           length as that may differ if local modifications are buffered. We
           may need to supply an appropriate EOF pointer when storing data (in
           AFS for example).
      
         - Pass extra information to netfs_alloc_request() so that the
           ->init_request() hook can access it and retain information to
           indicate the origin of the operation.
      
         - Make the ->init_request() hook return an error, thereby allowing a
           filesystem that isn't allowed to cache an inode (ceph or cifs, for
           example) to skip readahead.
      
         - Switch to using refcount_t for subrequests and add tracepoints to
           log refcount changes for the request and subrequest structs.
      
         - Add a function to consolidate dispatching a read request. Similar
           code is used in three places and another couple are likely to be
           added in the future"
      
      Link: https://lore.kernel.org/all/2639515.1648483225@warthog.procyon.org.uk/
      
      * tag 'netfs-prep-20220318' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs:
        afs: Maintain netfs_i_context::remote_i_size
        netfs: Keep track of the actual remote file size
        netfs: Split some core bits out into their own file
        netfs: Split fs/netfs/read_helper.c
        netfs: Rename read_helper.c to io.c
        netfs: Prepare to split read_helper.c
        netfs: Add a function to consolidate beginning a read
        netfs: Add a netfs inode context
        ceph: Make ceph_init_request() check caps on readahead
        netfs: Change ->init_request() to return an error code
        netfs: Refactor arguments for netfs_alloc_read_request
        netfs: Adjust the netfs_failure tracepoint to indicate non-subreq lines
        netfs: Trace refcounting on the netfs_io_subrequest struct
        netfs: Trace refcounting on the netfs_io_request struct
        netfs: Adjust the netfs_rreq tracepoint slightly
        netfs: Split netfs_io_* object handling out
        netfs: Finish off rename of netfs_read_request to netfs_io_request
        netfs: Rename netfs_read_*request to netfs_io_*request
        netfs: Generate enums from trace symbol mapping lists
        fscache: export fscache_end_operation()
      f008b1d6
    • Linus Torvalds's avatar
      Merge tag 'random-5.18-rc1-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random · 478f74a3
      Linus Torvalds authored
      Pull random number generator fixes from Jason Donenfeld:
      
       - If a hardware random number generator passes a sufficiently large
         chunk of entropy to random.c during early boot, we now skip the
         "fast_init" business and let it initialize the RNG.
      
         This makes CONFIG_RANDOM_TRUST_BOOTLOADER=y actually useful.
      
       - We already have the command line `random.trust_cpu=0/1` option for
         RDRAND, which let distros enable CONFIG_RANDOM_TRUST_CPU=y while
         placating concerns of more paranoid users.
      
         Now we add `random.trust_bootloader=0/1` so that distros can
         similarly enable CONFIG_RANDOM_TRUST_BOOTLOADER=y.
      
       - Re-add a comment that got removed by accident in the recent revert.
      
       - Add the spec-compliant ACPI CID for vmgenid, which Microsoft added to
         the vmgenid spec at Ard's request during earlier review.
      
       - Restore build-time randomness via the latent entropy plugin, which
         was lost when we transitioned to using a hash function.
      
      * tag 'random-5.18-rc1-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random:
        random: mix build-time latent entropy into pool at init
        virt: vmgenid: recognize new CID added by Hyper-V
        random: re-add removed comment about get_random_{u32,u64} reseeding
        random: treat bootloader trust toggle the same way as cpu trust toggle
        random: skip fast_init if hwrng provides large chunk of entropy
      478f74a3
    • Linus Torvalds's avatar
      Merge tag 'linux-watchdog-5.18-rc1' of git://www.linux-watchdog.org/linux-watchdog · 354b8bf2
      Linus Torvalds authored
      Pull watchdog updates from Wim Van Sebroeck:
      
       - add support for BCM4908
      
       - renesas_wdt: add R-Car Gen4 support
      
       - improve watchdog_dev function documentation
      
       - sp5100_tco: replace the cd6h/cd7h port I/O with MMIO accesses during
         initialization
      
       - several other small improvements and fixes
      
      * tag 'linux-watchdog-5.18-rc1' of git://www.linux-watchdog.org/linux-watchdog:
        Watchdog: sp5100_tco: Enable Family 17h+ CPUs
        Watchdog: sp5100_tco: Add initialization using EFCH MMIO
        Watchdog: sp5100_tco: Refactor MMIO base address initialization
        Watchdog: sp5100_tco: Move timer initialization into function
        watchdog: ixp4xx: Implement restart
        watchdog: orion_wdt: support pretimeout on Armada-XP
        watchdog: allow building BCM7038_WDT for BCM4908
        watchdog: renesas_wdt: Add R-Car Gen4 support
        dt-bindings: watchdog: renesas-wdt: Document r8a779f0 support
        watchdog: Improve watchdog_dev function documentation
        watchdog: aspeed: add nowayout support
        watchdog: rti-wdt: Add missing pm_runtime_disable() in probe function
        watchdog: imx2_wdg: Alow ping on suspend
      354b8bf2
    • Linus Torvalds's avatar
      Merge tag 'auxdisplay-for-linus-v5.18-rc1' of https://github.com/ojeda/linux · d4f1db77
      Linus Torvalds authored
      Pull auxdisplay updates from Miguel Ojeda:
       "A few auxdisplay lcd2s improvements from Andy Shevchenko"
      
      * tag 'auxdisplay-for-linus-v5.18-rc1' of https://github.com/ojeda/linux:
        auxdisplay: lcd2s: Use array size explicitly in lcd2s_gotoxy()
        auxdisplay: lcd2s: Switch to i2c ->probe_new()
        auxdisplay: lcd2s: use module_i2c_driver to simplify the code
        auxdisplay: lcd2s: make use of device property API
        auxdisplay: lcd2s: Fix multi-line comment style
      d4f1db77
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · f4f5d7cf
      Linus Torvalds authored
      Pull virtio updates from Michael Tsirkin:
      
       - vdpa generic device type support
      
       - more virtio hardening for broken devices (but on the same theme,
         revert some virtio hotplug hardening patches - they were misusing
         some interrupt flags and had to be reverted)
      
       - RSS support in virtio-net
      
       - max device MTU support in mlx5 vdpa
      
       - akcipher support in virtio-crypto
      
       - shared IRQ support in ifcvf vdpa
      
       - a minor performance improvement in vhost
      
       - enable virtio mem for ARM64
      
       - beginnings of advance dma support
      
       - cleanups, fixes all over the place
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost: (33 commits)
        vdpa/mlx5: Avoid processing works if workqueue was destroyed
        vhost: handle error while adding split ranges to iotlb
        vdpa: support exposing the count of vqs to userspace
        vdpa: change the type of nvqs to u32
        vdpa: support exposing the config size to userspace
        vdpa/mlx5: re-create forwarding rules after mac modified
        virtio: pci: check bar values read from virtio config space
        Revert "virtio_pci: harden MSI-X interrupts"
        Revert "virtio-pci: harden INTX interrupts"
        drivers/net/virtio_net: Added RSS hash report control.
        drivers/net/virtio_net: Added RSS hash report.
        drivers/net/virtio_net: Added basic RSS support.
        drivers/net/virtio_net: Fixed padded vheader to use v1 with hash.
        virtio: use virtio_device_ready() in virtio_device_restore()
        tools/virtio: compile with -pthread
        tools/virtio: fix after premapped buf support
        virtio_ring: remove flags check for unmap packed indirect desc
        virtio_ring: remove flags check for unmap split indirect desc
        virtio_ring: rename vring_unmap_state_packed() to vring_unmap_extra_packed()
        net/mlx5: Add support for configuring max device MTU
        ...
      f4f5d7cf
    • Jason A. Donenfeld's avatar
      random: mix build-time latent entropy into pool at init · 1754abb3
      Jason A. Donenfeld authored
      Prior, the "input_pool_data" array needed no real initialization, and so
      it was easy to mark it with __latent_entropy to populate it during
      compile-time. In switching to using a hash function, this required us to
      specifically initialize it to some specific state, which means we
      dropped the __latent_entropy attribute. An unfortunate side effect was
      this meant the pool was no longer seeded using compile-time random data.
      In order to bring this back, we declare an array in rand_initialize()
      with __latent_entropy and call mix_pool_bytes() on that at init, which
      accomplishes the same thing as before. We make this __initconst, so that
      it doesn't take up space at runtime after init.
      
      Fixes: 6e8ec255
      
       ("random: use computational hash for entropy extraction")
      Reviewed-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
      Reviewed-by: default avatarTheodore Ts'o <tytso@mit.edu>
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      1754abb3
    • Linus Torvalds's avatar
      Merge tag 'acpi-5.18-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · e729dbe8
      Linus Torvalds authored
      Pull more ACPI updates from Rafael Wysocki:
       "These are fixes and cleanup on top of the previously merged ACPI
        material.
      
        Specifics:
      
         - Avoid out-of-bounds access when parsing _CPC data (Rafael Wysocki)
      
         - Change default error code and clean up debug messages in ACPI CPPC
           probe (Rafael Wysocki)
      
         - Replace usage of found with dedicated list iterator variable in the
           ACPI IPMI driver (Jakob Koschel)
      
         - Clean up variable name confusion in APEI (Jakob Koschel)
      
         - Make LAPIC_ADDR_OVR address readable in a message parsed during
           MADT parsing (Vasant Hegde)"
      
      * tag 'acpi-5.18-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI: CPPC: Change default error code and clean up debug messages in probe
        ACPI: CPPC: Avoid out of bounds access when parsing _CPC data
        ACPI: tables: Make LAPIC_ADDR_OVR address readable in message
        ACPI: IPMI: replace usage of found with dedicated list iterator variable
        ACPI, APEI: Use the correct variable for sizeof()
      e729dbe8
    • Linus Torvalds's avatar
      Merge tag 'docs-5.18-2' of git://git.lwn.net/linux · b4a5ea09
      Linus Torvalds authored
      Pull more documentation updates from Jonathan Corbet:
       "Some late-arriving documentation improvements.
      
        This is mostly build-system fixes from Mauro and Akira; I also took
        the liberty of dropping in my 'messy diffstat' document"
      
      * tag 'docs-5.18-2' of git://git.lwn.net/linux:
        docs: Add a document on how to fix a messy diffstat
        docs: sphinx/requirements: Limit jinja2<3.1
        Documentation: kunit: Fix cross-referencing warnings
        scripts/kernel-doc: change the line number meta info
        scripts/get_abi: change the file/line number meta info
        docs: kernel_include.py: add sphinx build dependencies
        docs: kernel_abi.py: add sphinx build dependencies
        docs: kernel_feat.py: add build dependencies
        scripts/get_feat.pl: allow output the parsed file names
        docs: kfigure.py: Don't warn of missing PDF converter in 'make htmldocs'
        Documentation: Fix duplicate statement about raw_spinlock_t type
      b4a5ea09
    • Linus Torvalds's avatar
      Merge tag 'kbuild-v5.18-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · b8321ed4
      Linus Torvalds authored
      Pull Kbuild updates from Masahiro Yamada:
      
       - Add new environment variables, USERCFLAGS and USERLDFLAGS to allow
         additional flags to be passed to user-space programs.
      
       - Fix missing fflush() bugs in Kconfig and fixdep
      
       - Fix a minor bug in the comment format of the .config file
      
       - Make kallsyms ignore llvm's local labels, .L*
      
       - Fix UAPI compile-test for cross-compiling with Clang
      
       - Extend the LLVM= syntax to support LLVM=<suffix> form for using a
         particular version of LLVm, and LLVM=<prefix> form for using custom
         LLVM in a particular directory path.
      
       - Clean up Makefiles
      
      * tag 'kbuild-v5.18-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        kbuild: Make $(LLVM) more flexible
        kbuild: add --target to correctly cross-compile UAPI headers with Clang
        fixdep: use fflush() and ferror() to ensure successful write to files
        arch: syscalls: simplify uapi/kapi directory creation
        usr/include: replace extra-y with always-y
        certs: simplify empty certs creation in certs/Makefile
        certs: include certs/signing_key.x509 unconditionally
        kallsyms: ignore all local labels prefixed by '.L'
        kconfig: fix missing '# end of' for empty menu
        kconfig: add fflush() before ferror() check
        kbuild: replace $(if A,A,B) with $(or A,B)
        kbuild: Add environment variables for userprogs flags
        kbuild: unify cmd_copy and cmd_shipped
      b8321ed4
    • Linus Torvalds's avatar
      Merge tag 'hardening-v5.18-rc1-fix1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · f87cbd05
      Linus Torvalds authored
      Pull hardening updates from Kees Cook:
       "This addresses an -Warray-bounds warning found under a few ARM
        defconfigs, and disables long-broken HARDENED_USERCOPY_PAGESPAN"
      
      * tag 'hardening-v5.18-rc1-fix1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        ARM/dma-mapping: Remove CMA code when not built with CMA
        usercopy: Disable CONFIG_HARDENED_USERCOPY_PAGESPAN
      f87cbd05
    • Andrew Price's avatar
      gfs2: Make sure FITRIM minlen is rounded up to fs block size · 27ca8273
      Andrew Price authored
      Per fstrim(8) we must round up the minlen argument to the fs block size.
      The current calculation doesn't take into account devices that have a
      discard granularity and requested minlen less than 1 fs block, so the
      value can get shifted away to zero in the translation to fs blocks.
      
      The zero minlen passed to gfs2_rgrp_send_discards() then allows
      sb_issue_discard() to be called with nr_sects == 0 which returns -EINVAL
      and results in gfs2_rgrp_send_discards() returning -EIO.
      
      Make sure minlen is never < 1 fs block by taking the max of the
      requested minlen and the fs block size before comparing to the device's
      discard granularity and shifting to fs blocks.
      
      Fixes: 076f0faa
      
       ("GFS2: Fix FITRIM argument handling")
      Signed-off-by: default avatarAndrew Price <anprice@redhat.com>
      Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      27ca8273
    • Linus Torvalds's avatar
      Merge tag 'net-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 2975dbdc
      Linus Torvalds authored
      Pull more networking updates from Jakub Kicinski:
       "Networking fixes and rethook patches.
      
        Features:
      
         - kprobes: rethook: x86: replace kretprobe trampoline with rethook
      
        Current release - regressions:
      
         - sfc: avoid null-deref on systems without NUMA awareness in the new
           queue sizing code
      
        Current release - new code bugs:
      
         - vxlan: do not feed vxlan_vnifilter_dump_dev with non-vxlan devices
      
         - eth: lan966x: fix null-deref on PHY pointer in timestamp ioctl when
           interface is down
      
        Previous releases - always broken:
      
         - openvswitch: correct neighbor discovery target mask field in the
           flow dump
      
         - wireguard: ignore v6 endpoints when ipv6 is disabled and fix a leak
      
         - rxrpc: fix call timer start racing with call destruction
      
         - rxrpc: fix null-deref when security type is rxrpc_no_security
      
         - can: fix UAF bugs around echo skbs in multiple drivers
      
        Misc:
      
         - docs: move netdev-FAQ to the 'process' section of the
           documentation"
      
      * tag 'net-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (57 commits)
        vxlan: do not feed vxlan_vnifilter_dump_dev with non vxlan devices
        openvswitch: Add recirc_id to recirc warning
        rxrpc: fix some null-ptr-deref bugs in server_key.c
        rxrpc: Fix call timer start racing with call destruction
        net: hns3: fix software vlan talbe of vlan 0 inconsistent with hardware
        net: hns3: fix the concurrency between functions reading debugfs
        docs: netdev: move the netdev-FAQ to the process pages
        docs: netdev: broaden the new vs old code formatting guidelines
        docs: netdev: call out the merge window in tag checking
        docs: netdev: add missing back ticks
        docs: netdev: make the testing requirement more stringent
        docs: netdev: add a question about re-posting frequency
        docs: netdev: rephrase the 'should I update patchwork' question
        docs: netdev: rephrase the 'Under review' question
        docs: netdev: shorten the name and mention msgid for patch status
        docs: netdev: note that RFC postings are allowed any time
        docs: netdev: turn the net-next closed into a Warning
        docs: netdev: move the patch marking section up
        docs: netdev: minor reword
        docs: netdev: replace references to old archives
        ...
      2975dbdc
    • Kees Cook's avatar
      ARM/dma-mapping: Remove CMA code when not built with CMA · 229a08a4
      Kees Cook authored
      The MAX_CMA_AREAS could be set to 0, which would result in code that would
      attempt to operate beyond the end of a zero-sized array. If CONFIG_CMA
      is disabled, just remove this code entirely. Found when building arm
      on GCC 10.x for several defconfigs (e.g. axm55xx_defconfig) under
      -Warray-bounds:
      
      arch/arm/mm/dma-mapping.c:396:22: warning: array subscript <unknown> is outside array bounds of 'struct dma_contig_early_reserve[0]' [-Warray-bounds]
        396 |         dma_mmu_remap[dma_mmu_remap_num].size = size;
            |         ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
      arch/arm/mm/dma-mapping.c:389:40: note: while referencing 'dma_mmu_remap'
        389 | static struct dma_contig_early_reserve dma_mmu_remap[MAX_CMA_AREAS] __initdata;
            |                                        ^~~~~~~~~~~~~
      
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Logan Gunthorpe <logang@deltatee.com>
      Cc: Martin Oliveira <martin.oliveira@eideticom.com>
      Cc: David Hildenbrand <david@redhat.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Cc: Zi Yan <ziy@nvidia.com>
      Cc: Hari Bathini <hbathini@linux.ibm.com>
      Cc: Minchan Kim <minchan@kernel.org>
      Cc: Mike Kravetz <mike.kravetz@oracle.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Link: https://lore.kernel.org/all/6243ee60.1c69fb81.16de6.7dbf@mx.google.com/
      
      
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Link: https://lore.kernel.org/lkml/20220310070041.GA24874@lst.de
      
      
      Reviewed-by: default avatarDavid Hildenbrand <david@redhat.com>
      Link: https://lore.kernel.org/lkml/9059fa71-330f-f04f-b155-2850abb72a71@redhat.com
      229a08a4
    • Linus Torvalds's avatar
      Merge tag 'v5.18-p1' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 93235e3d
      Linus Torvalds authored
      Pull crypto fixes from Herbert Xu:
      
       - Missing Kconfig dependency on arm that leads to boot failure
      
       - x86 SLS fixes
      
       - Reference leak in the stm32 driver
      
      * tag 'v5.18-p1' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: x86/sm3 - Fixup SLS
        crypto: x86/poly1305 - Fixup SLS
        crypto: x86/chacha20 - Avoid spurious jumps to other functions
        crypto: stm32 - fix reference leak in stm32_crc_remove
        crypto: arm/aes-neonbs-cbc - Select generic cbc and aes
      93235e3d
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-ipmi', 'acpi-tables' and 'acpi-apei' · 4a13e559
      Rafael J. Wysocki authored
      Merge IMPI driver changes, ACPI tables parsing code changes and
      additional APEI changes for v5.18-rc1:
      
       - Replace usage of found with dedicated list iterator variable
         in the ACPI IPMI driver (Jakob Koschel).
      
       - Make LAPIC_ADDR_OVR address readable in a message parsed during
         MADT parsing (Vasant Hegde).
      
       - Clean up variable name confusion in APEI (Jakob Koschel).
      
      * acpi-ipmi:
        ACPI: IPMI: replace usage of found with dedicated list iterator variable
      
      * acpi-tables:
        ACPI: tables: Make LAPIC_ADDR_OVR address readable in message
      
      * acpi-apei:
        ACPI, APEI: Use the correct variable for sizeof()
      4a13e559
  3. Mar 31, 2022
    • Eric Dumazet's avatar
      vxlan: do not feed vxlan_vnifilter_dump_dev with non vxlan devices · 9d570741
      Eric Dumazet authored
      vxlan_vnifilter_dump_dev() assumes it is called only
      for vxlan devices. Make sure it is the case.
      
      BUG: KASAN: slab-out-of-bounds in vxlan_vnifilter_dump_dev+0x9a0/0xb40 drivers/net/vxlan/vxlan_vnifilter.c:349
      Read of size 4 at addr ffff888060d1ce70 by task syz-executor.3/17662
      
      CPU: 0 PID: 17662 Comm: syz-executor.3 Tainted: G        W         5.17.0-syzkaller-12888-g77c9387c0c5b #0
      Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
      Call Trace:
       <TASK>
       __dump_stack lib/dump_stack.c:88 [inline]
       dump_stack_lvl+0xcd/0x134 lib/dump_stack.c:106
       print_address_description.constprop.0.cold+0xeb/0x495 mm/kasan/report.c:313
       print_report mm/kasan/report.c:429 [inline]
       kasan_report.cold+0xf4/0x1c6 mm/kasan/report.c:491
       vxlan_vnifilter_dump_dev+0x9a0/0xb40 drivers/net/vxlan/vxlan_vnifilter.c:349
       vxlan_vnifilter_dump+0x3ff/0x650 drivers/net/vxlan/vxlan_vnifilter.c:428
       netlink_dump+0x4b5/0xb70 net/netlink/af_netlink.c:2270
       __netlink_dump_start+0x647/0x900 net/netlink/af_netlink.c:2375
       netlink_dump_start include/linux/netlink.h:245 [inline]
       rtnetlink_rcv_msg+0x70c/0xb80 net/core/rtnetlink.c:5953
       netlink_rcv_skb+0x153/0x420 net/netlink/af_netlink.c:2496
       netlink_unicast_kernel net/netlink/af_netlink.c:1319 [inline]
       netlink_unicast+0x543/0x7f0 net/netlink/af_netlink.c:1345
       netlink_sendmsg+0x904/0xe00 net/netlink/af_netlink.c:1921
       sock_sendmsg_nosec net/socket.c:705 [inline]
       sock_sendmsg+0xcf/0x120 net/socket.c:725
       ____sys_sendmsg+0x6e2/0x800 net/socket.c:2413
       ___sys_sendmsg+0xf3/0x170 net/socket.c:2467
       __sys_sendmsg+0xe5/0x1b0 net/socket.c:2496
       do_syscall_x64 arch/x86/entry/common.c:50 [inline]
       do_syscall_64+0x35/0x80 arch/x86/entry/common.c:80
       entry_SYSCALL_64_after_hwframe+0x44/0xae
      RIP: 0033:0x7f87b8e89049
      
      Fixes: f9c4bb0b
      
       ("vxlan: vni filtering support on collect metadata device")
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Reported-by: default avatarsyzbot <syzkaller@googlegroups.com>
      Acked-by: default avatarRoopa Prabhu <roopa@nvidia.com>
      Link: https://lore.kernel.org/r/20220330194643.2706132-1-eric.dumazet@gmail.com
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      9d570741
    • Stéphane Graber's avatar
      openvswitch: Add recirc_id to recirc warning · ea07af2e
      Stéphane Graber authored
      
      
      When hitting the recirculation limit, the kernel would currently log
      something like this:
      
      [   58.586597] openvswitch: ovs-system: deferred action limit reached, drop recirc action
      
      Which isn't all that useful to debug as we only have the interface name
      to go on but can't track it down to a specific flow.
      
      With this change, we now instead get:
      
      [   58.586597] openvswitch: ovs-system: deferred action limit reached, drop recirc action (recirc_id=0x9e)
      
      Which can now be correlated with the flow entries from OVS.
      
      Suggested-by: default avatarFrode Nordahl <frode.nordahl@canonical.com>
      Signed-off-by: default avatarStéphane Graber <stgraber@ubuntu.com>
      Tested-by: default avatarStephane Graber <stgraber@ubuntu.com>
      Acked-by: default avatarEelco Chaudron <echaudro@redhat.com>
      Link: https://lore.kernel.org/r/20220330194244.3476544-1-stgraber@ubuntu.com
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      ea07af2e
    • Jakub Kicinski's avatar
      Merge tag 'linux-can-fixes-for-5.18-20220331' of... · 46b55620
      Jakub Kicinski authored
      Merge tag 'linux-can-fixes-for-5.18-20220331' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can
      
      Marc Kleine-Budde says:
      
      ====================
      pull-request: can 2022-03-31
      
      The first patch is by Oliver Hartkopp and fixes MSG_PEEK feature in
      the CAN ISOTP protocol (broken in net-next for v5.18 only).
      
      Tom Rix's patch for the mcp251xfd driver fixes the propagation of an
      error value in case of an error.
      
      A patch by me for the m_can driver fixes a use-after-free in the xmit
      handler for m_can IP cores v3.0.x.
      
      Hangyu Hua contributes 3 patches fixing the same double free in the
      error path of the xmit handler in the ems_usb, usb_8dev and mcba_usb
      USB CAN driver.
      
      Pavel Skripkin contributes a patch for the mcba_usb driver to properly
      check the endpoint type.
      
      The last patch is by me and fixes a mem leak in the gs_usb, which was
      introduced in net-next for v5.18.
      
      * tag 'linux-can-fixes-for-5.18-20220331' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can:
        can: gs_usb: gs_make_candev(): fix memory leak for devices with extended bit timing configuration
        can: mcba_usb: properly check endpoint type
        can: mcba_usb: mcba_usb_start_xmit(): fix double dev_kfree_skb in error path
        can: usb_8dev: usb_8dev_start_xmit(): fix double dev_kfree_skb() in error path
        can: ems_usb: ems_usb_start_xmit(): fix double dev_kfree_skb() in error path
        can: m_can: m_can_tx_handler(): fix use after free of skb
        can: mcp251xfd: mcp251xfd_register_get_dev_id(): fix return of error value
        can: isotp: restore accidentally removed MSG_PEEK feature
      ====================
      
      Link: https://lore.kernel.org/r/
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      46b55620
    • Xiaolong Huang's avatar
      rxrpc: fix some null-ptr-deref bugs in server_key.c · ff8376ad
      Xiaolong Huang authored
      
      
      Some function calls are not implemented in rxrpc_no_security, there are
      preparse_server_key, free_preparse_server_key and destroy_server_key.
      When rxrpc security type is rxrpc_no_security, user can easily trigger a
      null-ptr-deref bug via ioctl. So judgment should be added to prevent it
      
      The crash log:
      user@syzkaller:~$ ./rxrpc_preparse_s
      [   37.956878][T15626] BUG: kernel NULL pointer dereference, address: 0000000000000000
      [   37.957645][T15626] #PF: supervisor instruction fetch in kernel mode
      [   37.958229][T15626] #PF: error_code(0x0010) - not-present page
      [   37.958762][T15626] PGD 4aadf067 P4D 4aadf067 PUD 4aade067 PMD 0
      [   37.959321][T15626] Oops: 0010 [#1] PREEMPT SMP
      [   37.959739][T15626] CPU: 0 PID: 15626 Comm: rxrpc_preparse_ Not tainted 5.17.0-01442-gb47d5a4f6b8d #43
      [   37.960588][T15626] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1 04/01/2014
      [   37.961474][T15626] RIP: 0010:0x0
      [   37.961787][T15626] Code: Unable to access opcode bytes at RIP 0xffffffffffffffd6.
      [   37.962480][T15626] RSP: 0018:ffffc9000d9abdc0 EFLAGS: 00010286
      [   37.963018][T15626] RAX: ffffffff84335200 RBX: ffff888012a1ce80 RCX: 0000000000000000
      [   37.963727][T15626] RDX: 0000000000000000 RSI: ffffffff84a736dc RDI: ffffc9000d9abe48
      [   37.964425][T15626] RBP: ffffc9000d9abe48 R08: 0000000000000000 R09: 0000000000000002
      [   37.965118][T15626] R10: 000000000000000a R11: f000000000000000 R12: ffff888013145680
      [   37.965836][T15626] R13: 0000000000000000 R14: ffffffffffffffec R15: ffff8880432aba80
      [   37.966441][T15626] FS:  00007f2177907700(0000) GS:ffff88803ec00000(0000) knlGS:0000000000000000
      [   37.966979][T15626] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [   37.967384][T15626] CR2: ffffffffffffffd6 CR3: 000000004aaf1000 CR4: 00000000000006f0
      [   37.967864][T15626] Call Trace:
      [   37.968062][T15626]  <TASK>
      [   37.968240][T15626]  rxrpc_preparse_s+0x59/0x90
      [   37.968541][T15626]  key_create_or_update+0x174/0x510
      [   37.968863][T15626]  __x64_sys_add_key+0x139/0x1d0
      [   37.969165][T15626]  do_syscall_64+0x35/0xb0
      [   37.969451][T15626]  entry_SYSCALL_64_after_hwframe+0x44/0xae
      [   37.969824][T15626] RIP: 0033:0x43a1f9
      
      Signed-off-by: default avatarXiaolong Huang <butterflyhuangxx@gmail.com>
      Tested-by: default avatarXiaolong Huang <butterflyhuangxx@gmail.com>
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Acked-by: default avatarMarc Dionne <marc.dionne@auristor.com>
      cc: linux-afs@lists.infradead.org
      Link: http://lists.infradead.org/pipermail/linux-afs/2022-March/005069.html
      Fixes: 12da59fc ("rxrpc: Hand server key parsing off to the security class")
      Link: https://lore.kernel.org/r/164865013439.2941502.8966285221215590921.stgit@warthog.procyon.org.uk
      
      
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      ff8376ad
    • David Howells's avatar
      rxrpc: Fix call timer start racing with call destruction · 4a7f62f9
      David Howells authored
      The rxrpc_call struct has a timer used to handle various timed events
      relating to a call.  This timer can get started from the packet input
      routines that are run in softirq mode with just the RCU read lock held.
      Unfortunately, because only the RCU read lock is held - and neither ref or
      other lock is taken - the call can start getting destroyed at the same time
      a packet comes in addressed to that call.  This causes the timer - which
      was already stopped - to get restarted.  Later, the timer dispatch code may
      then oops if the timer got deallocated first.
      
      Fix this by trying to take a ref on the rxrpc_call struct and, if
      successful, passing that ref along to the timer.  If the timer was already
      running, the ref is discarded.
      
      The timer completion routine can then pass the ref along to the call's work
      item when it queues it.  If the timer or work item where already
      queued/running, the extra ref is discarded.
      
      Fixes: a158bdd3
      
       ("rxrpc: Fix call timeouts")
      Reported-by: default avatarMarc Dionne <marc.dionne@auristor.com>
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Reviewed-by: default avatarMarc Dionne <marc.dionne@auristor.com>
      Tested-by: default avatarMarc Dionne <marc.dionne@auristor.com>
      cc: linux-afs@lists.infradead.org
      Link: http://lists.infradead.org/pipermail/linux-afs/2022-March/005073.html
      Link: https://lore.kernel.org/r/164865115696.2943015.11097991776647323586.stgit@warthog.procyon.org.uk
      
      
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      4a7f62f9
    • Paolo Abeni's avatar
      Merge branch 'net-hns3-add-two-fixes-for-net' · e74e0244
      Paolo Abeni authored
      Guangbin Huang says:
      
      ====================
      net: hns3: add two fixes for -net
      
      This series adds two fixes for the HNS3 ethernet driver.
      ====================
      
      Link: https://lore.kernel.org/r/20220330134506.36635-1-huangguangbin2@huawei.com
      
      
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      e74e0244