25 Nov, 2020

1 commit

  • The bdi_dev_name() returns a char [64], and
    the __entry->name is a char [32].

    It maybe dangerous to TP_printk("%s", __entry->name)
    after the strncpy().

    CC: stable@vger.kernel.org
    Link: https://lore.kernel.org/r/20201124165205.GA23937@rlk
    Acked-by: Steven Rostedt (VMware)
    Acked-by: Tejun Heo
    Signed-off-by: Hui Su
    Signed-off-by: Jan Kara

    Hui Su
     

19 Nov, 2020

1 commit


13 Nov, 2020

1 commit


10 Nov, 2020

1 commit

  • Pull nfsd fixes from Bruce Fields:
    "This is mainly server-to-server copy and fallout from Chuck's 5.10 rpc
    refactoring"

    * tag 'nfsd-5.10-1' of git://linux-nfs.org/~bfields/linux:
    net/sunrpc: fix useless comparison in proc_do_xprt()
    net/sunrpc: return 0 on attempt to write to "transports"
    NFSD: fix missing refcount in nfsd4_copy by nfsd4_do_async_copy
    NFSD: Fix use-after-free warning when doing inter-server copy
    NFSD: MKNOD should return NFSERR_BADTYPE instead of NFSERR_INVAL
    SUNRPC: Fix general protection fault in trace_rpc_xdr_overflow()
    NFSD: NFSv3 PATHCONF Reply is improperly formed

    Linus Torvalds
     

07 Nov, 2020

2 commits

  • Fast commits don't work with data journalling. This patch disables the
    fast commit support when data journalling is turned on.

    Suggested-by: Jan Kara
    Signed-off-by: Harshad Shirwadkar
    Reviewed-by: Jan Kara
    Link: https://lore.kernel.org/r/20201106035911.1942128-19-harshadshirwadkar@gmail.com
    Signed-off-by: Theodore Ts'o

    Harshad Shirwadkar
     
  • If inode gets evicted due to memory pressure, we have to remove it
    from the fast commit list. However, that inode may have uncommitted
    changes that fast commits will lose. So, just fall back to full
    commits in this case. Also, rename the fast commit ineligiblity reason
    from "EXT4_FC_REASON_MEM" to "EXT4_FC_REASON_MEM_NOMEM" for better
    expression.

    Suggested-by: Jan Kara
    Signed-off-by: Harshad Shirwadkar
    Link: https://lore.kernel.org/r/20201106035911.1942128-3-harshadshirwadkar@gmail.com
    Signed-off-by: Theodore Ts'o

    Harshad Shirwadkar
     

06 Nov, 2020

1 commit


29 Oct, 2020

2 commits

  • Fix afs_invalidatepage() to adjust the dirty region recorded in
    page->private when truncating a page. If the dirty region is entirely
    removed, then the private data is cleared and the page dirty state is
    cleared.

    Without this, if the page is truncated and then expanded again by truncate,
    zeros from the expanded, but no-longer dirty region may get written back to
    the server if the page gets laundered due to a conflicting 3rd-party write.

    It mustn't, however, shorten the dirty region of the page if that page is
    still mmapped and has been marked dirty by afs_page_mkwrite(), so a flag is
    stored in page->private to record this.

    Fixes: 4343d00872e1 ("afs: Get rid of the afs_writeback record")
    Signed-off-by: David Howells

    David Howells
     
  • The afs filesystem uses page->private to store the dirty range within a
    page such that in the event of a conflicting 3rd-party write to the server,
    we write back just the bits that got changed locally.

    However, there are a couple of problems with this:

    (1) I need a bit to note if the page might be mapped so that partial
    invalidation doesn't shrink the range.

    (2) There aren't necessarily sufficient bits to store the entire range of
    data altered (say it's a 32-bit system with 64KiB pages or transparent
    huge pages are in use).

    So wrap the accesses in inline functions so that future commits can change
    how this works.

    Also move them out of the tracing header into the in-directory header.
    There's not really any need for them to be in the tracing header.

    Signed-off-by: David Howells

    David Howells
     

26 Oct, 2020

1 commit

  • 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
     

24 Oct, 2020

1 commit

  • Pull KVM updates from Paolo Bonzini:
    "For x86, there is a new alternative and (in the future) more scalable
    implementation of extended page tables that does not need a reverse
    map from guest physical addresses to host physical addresses.

    For now it is disabled by default because it is still lacking a few of
    the existing MMU's bells and whistles. However it is a very solid
    piece of work and it is already available for people to hammer on it.

    Other updates:

    ARM:
    - New page table code for both hypervisor and guest stage-2
    - Introduction of a new EL2-private host context
    - Allow EL2 to have its own private per-CPU variables
    - Support of PMU event filtering
    - Complete rework of the Spectre mitigation

    PPC:
    - Fix for running nested guests with in-kernel IRQ chip
    - Fix race condition causing occasional host hard lockup
    - Minor cleanups and bugfixes

    x86:
    - allow trapping unknown MSRs to userspace
    - allow userspace to force #GP on specific MSRs
    - INVPCID support on AMD
    - nested AMD cleanup, on demand allocation of nested SVM state
    - hide PV MSRs and hypercalls for features not enabled in CPUID
    - new test for MSR_IA32_TSC writes from host and guest
    - cleanups: MMU, CPUID, shared MSRs
    - LAPIC latency optimizations ad bugfixes"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (232 commits)
    kvm: x86/mmu: NX largepage recovery for TDP MMU
    kvm: x86/mmu: Don't clear write flooding count for direct roots
    kvm: x86/mmu: Support MMIO in the TDP MMU
    kvm: x86/mmu: Support write protection for nesting in tdp MMU
    kvm: x86/mmu: Support disabling dirty logging for the tdp MMU
    kvm: x86/mmu: Support dirty logging for the TDP MMU
    kvm: x86/mmu: Support changed pte notifier in tdp MMU
    kvm: x86/mmu: Add access tracking for tdp_mmu
    kvm: x86/mmu: Support invalidate range MMU notifier for TDP MMU
    kvm: x86/mmu: Allocate struct kvm_mmu_pages for all pages in TDP MMU
    kvm: x86/mmu: Add TDP MMU PF handler
    kvm: x86/mmu: Remove disallowed_hugepage_adjust shadow_walk_iterator arg
    kvm: x86/mmu: Support zapping SPTEs in the TDP MMU
    KVM: Cache as_id in kvm_memory_slot
    kvm: x86/mmu: Add functions to handle changed TDP SPTEs
    kvm: x86/mmu: Allocate and free TDP MMU roots
    kvm: x86/mmu: Init / Uninit the TDP MMU
    kvm: x86/mmu: Introduce tdp_iter
    KVM: mmu: extract spte.h and spte.c
    KVM: mmu: Separate updating a PTE from kvm_set_pte_rmapp
    ...

    Linus Torvalds
     

23 Oct, 2020

1 commit

  • Pull ext4 updates from Ted Ts'o:
    "The siginificant new ext4 feature this time around is Harshad's new
    fast_commit mode.

    In addition, thanks to Mauricio for fixing a race where mmap'ed pages
    that are being changed in parallel with a data=journal transaction
    commit could result in bad checksums in the failure that could cause
    journal replays to fail.

    Also notable is Ritesh's buffered write optimization which can result
    in significant improvements on parallel write workloads. (The kernel
    test robot reported a 330.6% improvement on fio.write_iops on a 96
    core system using DAX)

    Besides that, we have the usual miscellaneous cleanups and bug fixes"

    Link: https://lore.kernel.org/r/20200925071217.GO28663@shao2-debian

    * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (46 commits)
    ext4: fix invalid inode checksum
    ext4: add fast commit stats in procfs
    ext4: add a mount opt to forcefully turn fast commits on
    ext4: fast commit recovery path
    jbd2: fast commit recovery path
    ext4: main fast-commit commit path
    jbd2: add fast commit machinery
    ext4 / jbd2: add fast commit initialization
    ext4: add fast_commit feature and handling for extended mount options
    doc: update ext4 and journalling docs to include fast commit feature
    ext4: Detect already used quota file early
    jbd2: avoid transaction reuse after reformatting
    ext4: use the normal helper to get the actual inode
    ext4: fix bs < ps issue reported with dioread_nolock mount opt
    ext4: data=journal: write-protect pages on j_submit_inode_data_buffers()
    ext4: data=journal: fixes for ext4_page_mkwrite()
    jbd2, ext4, ocfs2: introduce/use journal callbacks j_submit|finish_inode_data_buffers()
    jbd2: introduce/export functions jbd2_journal_submit|finish_inode_data_buffers()
    ext4: introduce ext4_sb_bread_unmovable() to replace sb_bread_unmovable()
    ext4: use ext4_sb_bread() instead of sb_bread()
    ...

    Linus Torvalds
     

22 Oct, 2020

2 commits

  • This patch adds fast commit recovery path support for Ext4 file
    system. We add several helper functions that are similar in spirit to
    e2fsprogs journal recovery path handlers. Example of such functions
    include - a simple block allocator, idempotent block bitmap update
    function etc. Using these routines and the fast commit log in the fast
    commit area, the recovery path (ext4_fc_replay()) performs fast commit
    log recovery.

    Reported-by: kernel test robot
    Signed-off-by: Harshad Shirwadkar
    Link: https://lore.kernel.org/r/20201015203802.3597742-8-harshadshirwadkar@gmail.com
    Signed-off-by: Theodore Ts'o

    Harshad Shirwadkar
     
  • This patch adds main fast commit commit path handlers. The overall
    patch can be divided into two inter-related parts:

    (A) Metadata updates tracking

    This part consists of helper functions to track changes that need
    to be committed during a commit operation. These updates are
    maintained by Ext4 in different in-memory queues. Following are
    the APIs and their short description that are implemented in this
    patch:

    - ext4_fc_track_link/unlink/creat() - Track unlink. link and creat
    operations
    - ext4_fc_track_range() - Track changed logical block offsets
    inodes
    - ext4_fc_track_inode() - Track inodes
    - ext4_fc_mark_ineligible() - Mark file system fast commit
    ineligible()
    - ext4_fc_start_update() / ext4_fc_stop_update() /
    ext4_fc_start_ineligible() / ext4_fc_stop_ineligible() These
    functions are useful for co-ordinating inode updates with
    commits.

    (B) Main commit Path

    This part consists of functions to convert updates tracked in
    in-memory data structures into on-disk commits. Function
    ext4_fc_commit() is the main entry point to commit path.

    Reported-by: kernel test robot
    Signed-off-by: Harshad Shirwadkar
    Link: https://lore.kernel.org/r/20201015203802.3597742-6-harshadshirwadkar@gmail.com
    Signed-off-by: Theodore Ts'o

    Harshad Shirwadkar
     

21 Oct, 2020

1 commit

  • Pull NFS client updates from Anna Schumaker:
    "Stable Fixes:
    - Wait for stateid updates after CLOSE/OPEN_DOWNGRADE # v5.4+
    - Fix nfs_path in case of a rename retry
    - Support EXCHID4_FLAG_SUPP_FENCE_OPS v4.2 EXCHANGE_ID flag

    New features and improvements:
    - Replace dprintk() calls with tracepoints
    - Make cache consistency bitmap dynamic
    - Added support for the NFS v4.2 READ_PLUS operation
    - Improvements to net namespace uniquifier

    Other bugfixes and cleanups:
    - Remove redundant clnt pointer
    - Don't update timeout values on connection resets
    - Remove redundant tracepoints
    - Various cleanups to comments
    - Fix oops when trying to use copy_file_range with v4.0 source server
    - Improvements to flexfiles mirrors
    - Add missing 'local_lock=posix' mount option"

    * tag 'nfs-for-5.10-1' of git://git.linux-nfs.org/projects/anna/linux-nfs: (55 commits)
    NFSv4.2: support EXCHGID4_FLAG_SUPP_FENCE_OPS 4.2 EXCHANGE_ID flag
    NFSv4: Fix up RCU annotations for struct nfs_netns_client
    NFS: Only reference user namespace from nfs4idmap struct instead of cred
    nfs: add missing "posix" local_lock constant table definition
    NFSv4: Use the net namespace uniquifier if it is set
    NFSv4: Clean up initialisation of uniquified client id strings
    NFS: Decode a full READ_PLUS reply
    SUNRPC: Add an xdr_align_data() function
    NFS: Add READ_PLUS hole segment decoding
    SUNRPC: Add the ability to expand holes in data pages
    SUNRPC: Split out _shift_data_right_tail()
    SUNRPC: Split out xdr_realign_pages() from xdr_align_pages()
    NFS: Add READ_PLUS data segment support
    NFS: Use xdr_page_pos() in NFSv4 decode_getacl()
    SUNRPC: Implement a xdr_page_pos() function
    SUNRPC: Split out a function for setting current page
    NFS: fix nfs_path in case of a rename retry
    fs: nfs: return per memcg count for xattr shrinkers
    NFSv4: Wait for stateid updates after CLOSE/OPEN_DOWNGRADE
    nfs: remove incorrect fallthrough label
    ...

    Linus Torvalds
     

19 Oct, 2020

1 commit

  • Pull RCU changes from Ingo Molnar:

    - Debugging for smp_call_function()

    - RT raw/non-raw lock ordering fixes

    - Strict grace periods for KASAN

    - New smp_call_function() torture test

    - Torture-test updates

    - Documentation updates

    - Miscellaneous fixes

    [ This doesn't actually pull the tag - I've dropped the last merge from
    the RCU branch due to questions about the series. - Linus ]

    * tag 'core-rcu-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (77 commits)
    smp: Make symbol 'csd_bug_count' static
    kernel/smp: Provide CSD lock timeout diagnostics
    smp: Add source and destination CPUs to __call_single_data
    rcu: Shrink each possible cpu krcp
    rcu/segcblist: Prevent useless GP start if no CBs to accelerate
    torture: Add gdb support
    rcutorture: Allow pointer leaks to test diagnostic code
    rcutorture: Hoist OOM registry up one level
    refperf: Avoid null pointer dereference when buf fails to allocate
    rcutorture: Properly synchronize with OOM notifier
    rcutorture: Properly set rcu_fwds for OOM handling
    torture: Add kvm.sh --help and update help message
    rcutorture: Add CONFIG_PROVE_RCU_LIST to TREE05
    torture: Update initrd documentation
    rcutorture: Replace HTTP links with HTTPS ones
    locktorture: Make function torture_percpu_rwsem_init() static
    torture: document --allcpus argument added to the kvm.sh script
    rcutorture: Output number of elapsed grace periods
    rcutorture: Remove KCSAN stubs
    rcu: Remove unused "cpu" parameter from rcu_report_qs_rdp()
    ...

    Linus Torvalds
     

18 Oct, 2020

1 commit

  • Pull rdma updates from Jason Gunthorpe:
    "A usual cycle for RDMA with a typical mix of driver and core subsystem
    updates:

    - Driver minor changes and bug fixes for mlx5, efa, rxe, vmw_pvrdma,
    hns, usnic, qib, qedr, cxgb4, hns, bnxt_re

    - Various rtrs fixes and updates

    - Bug fix for mlx4 CM emulation for virtualization scenarios where
    MRA wasn't working right

    - Use tracepoints instead of pr_debug in the CM code

    - Scrub the locking in ucma and cma to close more syzkaller bugs

    - Use tasklet_setup in the subsystem

    - Revert the idea that 'destroy' operations are not allowed to fail
    at the driver level. This proved unworkable from a HW perspective.

    - Revise how the umem API works so drivers make fewer mistakes using
    it

    - XRC support for qedr

    - Convert uverbs objects RWQ and MW to new the allocation scheme

    - Large queue entry sizes for hns

    - Use hmm_range_fault() for mlx5 On Demand Paging

    - uverbs APIs to inspect the GID table instead of sysfs

    - Move some of the RDMA code for building large page SGLs into
    lib/scatterlist"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (191 commits)
    RDMA/ucma: Fix use after free in destroy id flow
    RDMA/rxe: Handle skb_clone() failure in rxe_recv.c
    RDMA/rxe: Move the definitions for rxe_av.network_type to uAPI
    RDMA: Explicitly pass in the dma_device to ib_register_device
    lib/scatterlist: Do not limit max_segment to PAGE_ALIGNED values
    IB/mlx4: Convert rej_tmout radix-tree to XArray
    RDMA/rxe: Fix bug rejecting all multicast packets
    RDMA/rxe: Fix skb lifetime in rxe_rcv_mcast_pkt()
    RDMA/rxe: Remove duplicate entries in struct rxe_mr
    IB/hfi,rdmavt,qib,opa_vnic: Update MAINTAINERS
    IB/rdmavt: Fix sizeof mismatch
    MAINTAINERS: CISCO VIC LOW LATENCY NIC DRIVER
    RDMA/bnxt_re: Fix sizeof mismatch for allocation of pbl_tbl.
    RDMA/bnxt_re: Use rdma_umem_for_each_dma_block()
    RDMA/umem: Move to allocate SG table from pages
    lib/scatterlist: Add support in dynamic allocation of SG table from pages
    tools/testing/scatterlist: Show errors in human readable form
    tools/testing/scatterlist: Rejuvenate bit-rotten test
    RDMA/ipoib: Set rtnl_link_ops for ipoib interfaces
    RDMA/uverbs: Expose the new GID query API to user space
    ...

    Linus Torvalds
     

17 Oct, 2020

2 commits

  • Pull afs updates from David Howells:
    "A collection of fixes to fix afs_cell struct refcounting, thereby
    fixing a slew of related syzbot bugs:

    - Fix the cell tree in the netns to use an rwsem rather than RCU.

    There seem to be some problems deriving from the use of RCU and a
    seqlock to walk the rbtree, but it's not entirely clear what since
    there are several different failures being seen.

    Changing things to use an rwsem instead makes it more robust. The
    extra performance derived from using RCU isn't necessary in this
    case since the only time we're looking up a cell is during mount or
    when cells are being manually added.

    - Fix the refcounting by splitting the usage counter into a memory
    refcount and an active users counter. The usage counter was doing
    double duty, keeping track of whether a cell is still in use and
    keeping track of when it needs to be destroyed - but this makes the
    clean up tricky. Separating these out simplifies the logic.

    - Fix purging a cell that has an alias. A cell alias pins the cell
    it's an alias of, but the alias is always later in the list. Trying
    to purge in a single pass causes rmmod to hang in such a case.

    - Fix cell removal. If a cell's manager is requeued whilst it's
    removing itself, the manager will run again and re-remove itself,
    causing problems in various places. Follow Hillf Danton's
    suggestion to insert a more terminal state that causes the manager
    to do nothing post-removal.

    In additional to the above, two other changes:

    - Add a tracepoint for the cell refcount and active users count. This
    helped with debugging the above and may be useful again in future.

    - Downgrade an assertion to a print when a still-active server is
    seen during purging. This was happening as a consequence of
    incomplete cell removal before the servers were cleaned up"

    * tag 'afs-fixes-20201016' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs:
    afs: Don't assert on unpurgeable server records
    afs: Add tracing for cell refcount and active user count
    afs: Fix cell removal
    afs: Fix cell purging with aliases
    afs: Fix cell refcounting by splitting the usage counter
    afs: Fix rapid cell addition/removal by not using RCU on cells tree

    Linus Torvalds
     
  • Pull f2fs updates from Jaegeuk Kim:
    "In this round, we've added new features such as zone capacity for ZNS
    and a new GC policy, ATGC, along with in-memory segment management. In
    addition, we could improve the decompression speed significantly by
    changing virtual mapping method. Even though we've fixed lots of small
    bugs in compression support, I feel that it becomes more stable so
    that I could give it a try in production.

    Enhancements:
    - suport zone capacity in NVMe Zoned Namespace devices
    - introduce in-memory current segment management
    - add standart casefolding support
    - support age threshold based garbage collection
    - improve decompression speed by changing virtual mapping method

    Bug fixes:
    - fix condition checks in some ioctl() such as compression, move_range, etc
    - fix 32/64bits support in data structures
    - fix memory allocation in zstd decompress
    - add some boundary checks to avoid kernel panic on corrupted image
    - fix disallowing compression for non-empty file
    - fix slab leakage of compressed block writes

    In addition, it includes code refactoring for better readability and
    minor bug fixes for compression and zoned device support"

    * tag 'f2fs-for-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (51 commits)
    f2fs: code cleanup by removing unnecessary check
    f2fs: wait for sysfs kobject removal before freeing f2fs_sb_info
    f2fs: fix writecount false positive in releasing compress blocks
    f2fs: introduce check_swap_activate_fast()
    f2fs: don't issue flush in f2fs_flush_device_cache() for nobarrier case
    f2fs: handle errors of f2fs_get_meta_page_nofail
    f2fs: fix to set SBI_NEED_FSCK flag for inconsistent inode
    f2fs: reject CASEFOLD inode flag without casefold feature
    f2fs: fix memory alignment to support 32bit
    f2fs: fix slab leak of rpages pointer
    f2fs: compress: fix to disallow enabling compress on non-empty file
    f2fs: compress: introduce cic/dic slab cache
    f2fs: compress: introduce page array slab cache
    f2fs: fix to do sanity check on segment/section count
    f2fs: fix to check segment boundary during SIT page readahead
    f2fs: fix uninit-value in f2fs_lookup
    f2fs: remove unneeded parameter in find_in_block()
    f2fs: fix wrong total_sections check and fsmeta check
    f2fs: remove duplicated code in sanity_check_area_boundary
    f2fs: remove unused check on version_bitmap
    ...

    Linus Torvalds
     

16 Oct, 2020

4 commits

  • Don't give an assertion failure on unpurgeable afs_server records - which
    kills the thread - but rather emit a trace line when we are purging a
    record (which only happens during network namespace removal or rmmod) and
    print a notice of the problem.

    Signed-off-by: David Howells

    David Howells
     
  • Add a tracepoint to log the cell refcount and active user count and pass in
    a reason code through various functions that manipulate these counters.

    Additionally, a helper function, afs_see_cell(), is provided to log
    interesting places that deal with a cell without actually doing any
    accounting directly.

    Signed-off-by: David Howells

    David Howells
     
  • Pull networking updates from Jakub Kicinski:

    - Add redirect_neigh() BPF packet redirect helper, allowing to limit
    stack traversal in common container configs and improving TCP
    back-pressure.

    Daniel reports ~10Gbps => ~15Gbps single stream TCP performance gain.

    - Expand netlink policy support and improve policy export to user
    space. (Ge)netlink core performs request validation according to
    declared policies. Expand the expressiveness of those policies
    (min/max length and bitmasks). Allow dumping policies for particular
    commands. This is used for feature discovery by user space (instead
    of kernel version parsing or trial and error).

    - Support IGMPv3/MLDv2 multicast listener discovery protocols in
    bridge.

    - Allow more than 255 IPv4 multicast interfaces.

    - Add support for Type of Service (ToS) reflection in SYN/SYN-ACK
    packets of TCPv6.

    - In Multi-patch TCP (MPTCP) support concurrent transmission of data on
    multiple subflows in a load balancing scenario. Enhance advertising
    addresses via the RM_ADDR/ADD_ADDR options.

    - Support SMC-Dv2 version of SMC, which enables multi-subnet
    deployments.

    - Allow more calls to same peer in RxRPC.

    - Support two new Controller Area Network (CAN) protocols - CAN-FD and
    ISO 15765-2:2016.

    - Add xfrm/IPsec compat layer, solving the 32bit user space on 64bit
    kernel problem.

    - Add TC actions for implementing MPLS L2 VPNs.

    - Improve nexthop code - e.g. handle various corner cases when nexthop
    objects are removed from groups better, skip unnecessary
    notifications and make it easier to offload nexthops into HW by
    converting to a blocking notifier.

    - Support adding and consuming TCP header options by BPF programs,
    opening the doors for easy experimental and deployment-specific TCP
    option use.

    - Reorganize TCP congestion control (CC) initialization to simplify
    life of TCP CC implemented in BPF.

    - Add support for shipping BPF programs with the kernel and loading
    them early on boot via the User Mode Driver mechanism, hence reusing
    all the user space infra we have.

    - Support sleepable BPF programs, initially targeting LSM and tracing.

    - Add bpf_d_path() helper for returning full path for given 'struct
    path'.

    - Make bpf_tail_call compatible with bpf-to-bpf calls.

    - Allow BPF programs to call map_update_elem on sockmaps.

    - Add BPF Type Format (BTF) support for type and enum discovery, as
    well as support for using BTF within the kernel itself (current use
    is for pretty printing structures).

    - Support listing and getting information about bpf_links via the bpf
    syscall.

    - Enhance kernel interfaces around NIC firmware update. Allow
    specifying overwrite mask to control if settings etc. are reset
    during update; report expected max time operation may take to users;
    support firmware activation without machine reboot incl. limits of
    how much impact reset may have (e.g. dropping link or not).

    - Extend ethtool configuration interface to report IEEE-standard
    counters, to limit the need for per-vendor logic in user space.

    - Adopt or extend devlink use for debug, monitoring, fw update in many
    drivers (dsa loop, ice, ionic, sja1105, qed, mlxsw, mv88e6xxx,
    dpaa2-eth).

    - In mlxsw expose critical and emergency SFP module temperature alarms.
    Refactor port buffer handling to make the defaults more suitable and
    support setting these values explicitly via the DCBNL interface.

    - Add XDP support for Intel's igb driver.

    - Support offloading TC flower classification and filtering rules to
    mscc_ocelot switches.

    - Add PTP support for Marvell Octeontx2 and PP2.2 hardware, as well as
    fixed interval period pulse generator and one-step timestamping in
    dpaa-eth.

    - Add support for various auth offloads in WiFi APs, e.g. SAE (WPA3)
    offload.

    - Add Lynx PHY/PCS MDIO module, and convert various drivers which have
    this HW to use it. Convert mvpp2 to split PCS.

    - Support Marvell Prestera 98DX3255 24-port switch ASICs, as well as
    7-port Mediatek MT7531 IP.

    - Add initial support for QCA6390 and IPQ6018 in ath11k WiFi driver,
    and wcn3680 support in wcn36xx.

    - Improve performance for packets which don't require much offloads on
    recent Mellanox NICs by 20% by making multiple packets share a
    descriptor entry.

    - Move chelsio inline crypto drivers (for TLS and IPsec) from the
    crypto subtree to drivers/net. Move MDIO drivers out of the phy
    directory.

    - Clean up a lot of W=1 warnings, reportedly the actively developed
    subsections of networking drivers should now build W=1 warning free.

    - Make sure drivers don't use in_interrupt() to dynamically adapt their
    code. Convert tasklets to use new tasklet_setup API (sadly this
    conversion is not yet complete).

    * tag 'net-next-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (2583 commits)
    Revert "bpfilter: Fix build error with CONFIG_BPFILTER_UMH"
    net, sockmap: Don't call bpf_prog_put() on NULL pointer
    bpf, selftest: Fix flaky tcp_hdr_options test when adding addr to lo
    bpf, sockmap: Add locking annotations to iterator
    netfilter: nftables: allow re-computing sctp CRC-32C in 'payload' statements
    net: fix pos incrementment in ipv6_route_seq_next
    net/smc: fix invalid return code in smcd_new_buf_create()
    net/smc: fix valid DMBE buffer sizes
    net/smc: fix use-after-free of delayed events
    bpfilter: Fix build error with CONFIG_BPFILTER_UMH
    cxgb4/ch_ipsec: Replace the module name to ch_ipsec from chcr
    net: sched: Fix suspicious RCU usage while accessing tcf_tunnel_info
    bpf: Fix register equivalence tracking.
    rxrpc: Fix loss of final ack on shutdown
    rxrpc: Fix bundle counting for exclusive connections
    netfilter: restore NF_INET_NUMHOOKS
    ibmveth: Identify ingress large send packets.
    ibmveth: Switch order of ibmveth_helper calls.
    cxgb4: handle 4-tuple PEDIT to NAT mode translation
    selftests: Add VRF route leaking tests
    ...

    Linus Torvalds
     
  • Pull sound updates from Takashi Iwai:
    "The amount of changes is smaller at this round (what a surprise), but
    lots of activity is seen. Most of changes are about ASoC driver
    development, especially Intel platforms. Here are some highlights:

    General:
    - Replace all tasklet usages with other alternatives
    - Cleanup of the ASoC error unwinding code
    - Fixes for trivial issues caught by static checker
    - Spell fixes allover the places

    ALSA Core:
    - Lockdep fix for control devices
    - Fix for potential OSS sequencer mutex stalls

    HD-audio and USB-audio:
    - SoundBlaster AE-7 support
    - Changes in quirk table for the rename handling
    - Quirks for HP and ASUS machines, Pioneer DJ DJM-250MK2.

    ASoC:
    - Lots of updates for Intel SOF and SoundWire enablement
    - Replacement of the DSP driver for some older x86 systems; the new
    code was written from scratch, better maintenance expected
    - Helpers for parsing auxiluary devices from the device tree
    - New support for AllWinner A64, Cirrus Logic CS4234, Mediatek MT6359
    Microchip S/PDIF TX and RX controllers, Realtek RT1015P, and Texas
    Instruments J721E, TAS2110, TAS2564 and TAS2764"

    * tag 'sound-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (498 commits)
    ALSA: hda/hdmi: fix incorrect locking in hdmi_pcm_close
    ALSA: hda: fix jack detection with Realtek codecs when in D3
    ALSA: fireworks: use semicolons rather than commas to separate statements
    ALSA: hda: use semicolons rather than commas to separate statements
    ALSA: hda/i915 - fix list corruption with concurrent probes
    ASoC: dmaengine: Document support for TX only or RX only streams
    ASoC: mchp-spdiftx: remove 'TX' from playback stream name
    ASoC: ti: davinci-mcasp: Use &pdev->dev for early dev_warn
    ASoC: tas2764: Add the driver for the TAS2764
    dt-bindings: tas2764: Add the TAS2764 binding doc
    ASoC: Intel: catpt: Add explicit DMADEVICES kconfig dependency
    ASoC: Intel: catpt: Fix compilation when CONFIG_MODULES is disabled
    ASoC: stm32: dfsdm: add actual resolution trace
    ASoC: stm32: dfsdm: change rate limits
    ASoC: qcom: sc7180: Add support for audio over DP
    Asoc: qcom: lpass-platform : Increase buffer size
    ASoC: qcom: Add support for lpass hdmi driver
    Asoc: qcom: lpass:Update lpaif_dmactl members order
    Asoc:qcom:lpass-cpu:Update dts property read API
    ASoC: dt-bindings: Add dt binding for lpass hdmi
    ...

    Linus Torvalds
     

15 Oct, 2020

1 commit

  • Pull SCSI updates from James Bottomley:
    "The usual driver updates (ufs, qla2xxx, tcmu, ibmvfc, lpfc, smartpqi,
    hisi_sas, qedi, qedf, mpt3sas) and minor bug fixes.

    There are only three core changes: adding sense codes, cleaning up
    noretry and adding an option for limitless retries"

    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (226 commits)
    scsi: hisi_sas: Recover PHY state according to the status before reset
    scsi: hisi_sas: Filter out new PHY up events during suspend
    scsi: hisi_sas: Add device link between SCSI devices and hisi_hba
    scsi: hisi_sas: Add check for methods _PS0 and _PR0
    scsi: hisi_sas: Add controller runtime PM support for v3 hw
    scsi: hisi_sas: Switch to new framework to support suspend and resume
    scsi: hisi_sas: Use hisi_hba->cq_nvecs for calling calling synchronize_irq()
    scsi: qedf: Remove redundant assignment to variable 'rc'
    scsi: lpfc: Remove unneeded variable 'status' in lpfc_fcp_cpu_map_store()
    scsi: snic: Convert to use DEFINE_SEQ_ATTRIBUTE macro
    scsi: qla4xxx: Delete unneeded variable 'status' in qla4xxx_process_ddb_changed
    scsi: sun_esp: Use module_platform_driver to simplify the code
    scsi: sun3x_esp: Use module_platform_driver to simplify the code
    scsi: sni_53c710: Use module_platform_driver to simplify the code
    scsi: qlogicpti: Use module_platform_driver to simplify the code
    scsi: mac_esp: Use module_platform_driver to simplify the code
    scsi: jazz_esp: Use module_platform_driver to simplify the code
    scsi: mvumi: Fix error return in mvumi_io_attach()
    scsi: lpfc: Drop nodelist reference on error in lpfc_gen_req()
    scsi: be2iscsi: Fix a theoretical leak in beiscsi_create_eqs()
    ...

    Linus Torvalds
     

14 Oct, 2020

4 commits

  • Pull selinux updates from Paul Moore:
    "A decent number of SELinux patches for v5.10, twenty two in total. The
    highlights are listed below, but all of the patches pass our test
    suite and merge cleanly.

    - A number of changes to how the SELinux policy is loaded and managed
    inside the kernel with the goal of improving the atomicity of a
    SELinux policy load operation.

    These changes account for the bulk of the diffstat as well as the
    patch count. A special thanks to everyone who contributed patches
    and fixes for this work.

    - Convert the SELinux policy read-write lock to RCU.

    - A tracepoint was added for audited SELinux access control events;
    this should help provide a more unified backtrace across kernel and
    userspace.

    - Allow the removal of security.selinux xattrs when a SELinux policy
    is not loaded.

    - Enable policy capabilities in SELinux policies created with the
    scripts/selinux/mdp tool.

    - Provide some "no sooner than" dates for the SELinux checkreqprot
    sysfs deprecation"

    * tag 'selinux-pr-20201012' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux: (22 commits)
    selinux: provide a "no sooner than" date for the checkreqprot removal
    selinux: Add helper functions to get and set checkreqprot
    selinux: access policycaps with READ_ONCE/WRITE_ONCE
    selinux: simplify away security_policydb_len()
    selinux: move policy mutex to selinux_state, use in lockdep checks
    selinux: fix error handling bugs in security_load_policy()
    selinux: convert policy read-write lock to RCU
    selinux: delete repeated words in comments
    selinux: add basic filtering for audit trace events
    selinux: add tracepoint on audited events
    selinux: Create new booleans and class dirs out of tree
    selinux: Standardize string literal usage for selinuxfs directory names
    selinux: Refactor selinuxfs directory populating functions
    selinux: Create function for selinuxfs directory cleanup
    selinux: permit removing security.selinux xattr before policy load
    selinux: fix memdup.cocci warnings
    selinux: avoid dereferencing the policy prior to initialization
    selinux: fix allocation failure check on newpolicy->sidtab
    selinux: refactor changing booleans
    selinux: move policy commit after updating selinuxfs
    ...

    Linus Torvalds
     
  • Pull block driver updates from Jens Axboe:
    "Here are the driver updates for 5.10.

    A few SCSI updates in here too, in coordination with Martin as they
    depend on core block changes for the shared tag bitmap.

    This contains:

    - NVMe pull requests via Christoph:
    - fix keep alive timer modification (Amit Engel)
    - order the PCI ID list more sensibly (Andy Shevchenko)
    - cleanup the open by controller helper (Chaitanya Kulkarni)
    - use an xarray for the CSE log lookup (Chaitanya Kulkarni)
    - support ZNS in nvmet passthrough mode (Chaitanya Kulkarni)
    - fix nvme_ns_report_zones (Christoph Hellwig)
    - add a sanity check to nvmet-fc (James Smart)
    - fix interrupt allocation when too many polled queues are
    specified (Jeffle Xu)
    - small nvmet-tcp optimization (Mark Wunderlich)
    - fix a controller refcount leak on init failure (Chaitanya
    Kulkarni)
    - misc cleanups (Chaitanya Kulkarni)
    - major refactoring of the scanning code (Christoph Hellwig)

    - MD updates via Song:
    - Bug fixes in bitmap code, from Zhao Heming
    - Fix a work queue check, from Guoqing Jiang
    - Fix raid5 oops with reshape, from Song Liu
    - Clean up unused code, from Jason Yan
    - Discard improvements, from Xiao Ni
    - raid5/6 page offset support, from Yufen Yu

    - Shared tag bitmap for SCSI/hisi_sas/null_blk (John, Kashyap,
    Hannes)

    - null_blk open/active zone limit support (Niklas)

    - Set of bcache updates (Coly, Dongsheng, Qinglang)"

    * tag 'drivers-5.10-2020-10-12' of git://git.kernel.dk/linux-block: (78 commits)
    md/raid5: fix oops during stripe resizing
    md/bitmap: fix memory leak of temporary bitmap
    md: fix the checking of wrong work queue
    md/bitmap: md_bitmap_get_counter returns wrong blocks
    md/bitmap: md_bitmap_read_sb uses wrong bitmap blocks
    md/raid0: remove unused function is_io_in_chunk_boundary()
    nvme-core: remove extra condition for vwc
    nvme-core: remove extra variable
    nvme: remove nvme_identify_ns_list
    nvme: refactor nvme_validate_ns
    nvme: move nvme_validate_ns
    nvme: query namespace identifiers before adding the namespace
    nvme: revalidate zone bitmaps in nvme_update_ns_info
    nvme: remove nvme_update_formats
    nvme: update the known admin effects
    nvme: set the queue limits in nvme_update_ns_info
    nvme: remove the 0 lba_shift check in nvme_update_ns_info
    nvme: clean up the check for too large logic block sizes
    nvme: freeze the queue over ->lba_shift updates
    nvme: factor out a nvme_configure_metadata helper
    ...

    Linus Torvalds
     
  • Pull block updates from Jens Axboe:

    - Series of merge handling cleanups (Baolin, Christoph)

    - Series of blk-throttle fixes and cleanups (Baolin)

    - Series cleaning up BDI, seperating the block device from the
    backing_dev_info (Christoph)

    - Removal of bdget() as a generic API (Christoph)

    - Removal of blkdev_get() as a generic API (Christoph)

    - Cleanup of is-partition checks (Christoph)

    - Series reworking disk revalidation (Christoph)

    - Series cleaning up bio flags (Christoph)

    - bio crypt fixes (Eric)

    - IO stats inflight tweak (Gabriel)

    - blk-mq tags fixes (Hannes)

    - Buffer invalidation fixes (Jan)

    - Allow soft limits for zone append (Johannes)

    - Shared tag set improvements (John, Kashyap)

    - Allow IOPRIO_CLASS_RT for CAP_SYS_NICE (Khazhismel)

    - DM no-wait support (Mike, Konstantin)

    - Request allocation improvements (Ming)

    - Allow md/dm/bcache to use IO stat helpers (Song)

    - Series improving blk-iocost (Tejun)

    - Various cleanups (Geert, Damien, Danny, Julia, Tetsuo, Tian, Wang,
    Xianting, Yang, Yufen, yangerkun)

    * tag 'block-5.10-2020-10-12' of git://git.kernel.dk/linux-block: (191 commits)
    block: fix uapi blkzoned.h comments
    blk-mq: move cancel of hctx->run_work to the front of blk_exit_queue
    blk-mq: get rid of the dead flush handle code path
    block: get rid of unnecessary local variable
    block: fix comment and add lockdep assert
    blk-mq: use helper function to test hw stopped
    block: use helper function to test queue register
    block: remove redundant mq check
    block: invoke blk_mq_exit_sched no matter whether have .exit_sched
    percpu_ref: don't refer to ref->data if it isn't allocated
    block: ratelimit handle_bad_sector() message
    blk-throttle: Re-use the throtl_set_slice_end()
    blk-throttle: Open code __throtl_de/enqueue_tg()
    blk-throttle: Move service tree validation out of the throtl_rb_first()
    blk-throttle: Move the list operation after list validation
    blk-throttle: Fix IO hang for a corner case
    blk-throttle: Avoid tracking latency if low limit is invalid
    blk-throttle: Avoid getting the current time if tg->last_finish_time is 0
    blk-throttle: Remove a meaningless parameter for throtl_downgrade_state()
    block: Remove redundant 'return' statement
    ...

    Linus Torvalds
     
  • Pull btrfs updates from David Sterba:
    "Mostly core updates with a few user visible bits and fixes.

    Hilights:

    - fsync performance improvements
    - less contention of log mutex (throughput +4%, latency -14%,
    dbench with 32 clients)
    - skip unnecessary commits for link and rename (throughput +6%,
    latency -30%, rename latency -75%, dbench with 16 clients)
    - make fast fsync wait only for writeback (throughput +10..40%,
    runtime -1..-20%, dbench with 1 to 64 clients on various
    file/block sizes)

    - direct io is now implemented using the iomap infrastructure, that's
    the main part, we still have a workaround that requires an iomap
    API update, coming in 5.10

    - new sysfs exports:
    - information about the exclusive filesystem operation status
    (balance, device add/remove/replace, ...)
    - supported send stream version

    Core:

    - use ticket space reservations for data, fair policy using the same
    infrastructure as metadata

    - preparatory work to switch locking from our custom tree locks to
    standard rwsem, now the locking context is propagated to all
    callers, actual switch is expected to happen in the next dev cycle

    - seed device structures are now using list API

    - extent tracepoints print proper tree id

    - unified range checks for extent buffer helpers

    - send: avoid using temporary buffer for copying data

    - remove unnecessary RCU protection from space infos

    - remove unused readpage callback for metadata, enabling several
    cleanups

    - replace indirect function calls for end io hooks and remove
    extent_io_ops completely

    Fixes:

    - more lockdep warning fixes

    - fix qgroup reservation for delayed inode and an occasional
    reservation leak for preallocated files

    - fix device replace of a seed device

    - fix metadata reservation for fallocate that leads to transaction
    aborts

    - reschedule if necessary when logging directory items or when
    cloning lots of extents

    - tree-checker: fix false alert caused by legacy btrfs root item

    - send: fix rename/link conflicts for orphanized inodes

    - properly initialize device stats for seed devices

    - skip devices without magic signature when mounting

    Other:

    - error handling improvements, BUG_ONs replaced by proper handling,
    fuzz fixes

    - various function parameter cleanups

    - various W=1 cleanups

    - error/info messages improved

    Mishaps:

    - commit 62cf5391209a ("btrfs: move btrfs_rm_dev_replace_free_srcdev
    outside of all locks") is a rebase leftover after the patch got
    merged to 5.9-rc8 as a466c85edc6f ("btrfs: move
    btrfs_rm_dev_replace_free_srcdev outside of all locks"), the
    remaining part is trivial and the patch is in the middle of the
    series so I'm keeping it there instead of rebasing"

    * tag 'for-5.10-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (161 commits)
    btrfs: rename BTRFS_INODE_ORDERED_DATA_CLOSE flag
    btrfs: annotate device name rcu_string with __rcu
    btrfs: skip devices without magic signature when mounting
    btrfs: cleanup cow block on error
    btrfs: remove BTRFS_INODE_READDIO_NEED_LOCK
    fs: remove no longer used dio_end_io()
    btrfs: return error if we're unable to read device stats
    btrfs: init device stats for seed devices
    btrfs: remove struct extent_io_ops
    btrfs: call submit_bio_hook directly for metadata pages
    btrfs: stop calling submit_bio_hook for data inodes
    btrfs: don't opencode is_data_inode in end_bio_extent_readpage
    btrfs: call submit_bio_hook directly in submit_one_bio
    btrfs: remove extent_io_ops::readpage_end_io_hook
    btrfs: replace readpage_end_io_hook with direct calls
    btrfs: send, recompute reference path after orphanization of a directory
    btrfs: send, orphanize first all conflicting inodes when processing references
    btrfs: tree-checker: fix false alert caused by legacy btrfs root item
    btrfs: use unaligned helpers for stack and header set/get helpers
    btrfs: free-space-cache: use unaligned helpers to access data
    ...

    Linus Torvalds
     

13 Oct, 2020

5 commits

  • Pull file locking fix from Jeff Layton:
    "Just a single patch to fix up some tracepoint output"

    * tag 'locks-v5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux:
    locks: Remove extra "0x" in tracepoint format specifier

    Linus Torvalds
     
  • Pull x86 paravirt cleanup from Ingo Molnar:
    "Clean up the paravirt code after the removal of 32-bit Xen PV support"

    * tag 'x86-paravirt-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/paravirt: Avoid needless paravirt step clearing page table entries
    x86/paravirt: Remove set_pte_at() pv-op
    x86/entry/32: Simplify CONFIG_XEN_PV build dependency
    x86/paravirt: Use CONFIG_PARAVIRT_XXL instead of CONFIG_PARAVIRT
    x86/paravirt: Clean up paravirt macros
    x86/paravirt: Remove 32-bit support from CONFIG_PARAVIRT_XXL

    Linus Torvalds
     
  • Pull static call support from Ingo Molnar:
    "This introduces static_call(), which is the idea of static_branch()
    applied to indirect function calls. Remove a data load (indirection)
    by modifying the text.

    They give the flexibility of function pointers, but with better
    performance. (This is especially important for cases where retpolines
    would otherwise be used, as retpolines can be pretty slow.)

    API overview:

    DECLARE_STATIC_CALL(name, func);
    DEFINE_STATIC_CALL(name, func);
    DEFINE_STATIC_CALL_NULL(name, typename);

    static_call(name)(args...);
    static_call_cond(name)(args...);
    static_call_update(name, func);

    x86 is supported via text patching, otherwise basic indirect calls are
    used, with function pointers.

    There's a second variant using inline code patching, inspired by
    jump-labels, implemented on x86 as well.

    The new APIs are utilized in the x86 perf code, a heavy user of
    function pointers, where static calls speed up the PMU handler by
    4.2% (!).

    The generic implementation is not really excercised on other
    architectures, outside of the trivial test_static_call_init()
    self-test"

    * tag 'core-static_call-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits)
    static_call: Fix return type of static_call_init
    tracepoint: Fix out of sync data passing by static caller
    tracepoint: Fix overly long tracepoint names
    x86/perf, static_call: Optimize x86_pmu methods
    tracepoint: Optimize using static_call()
    static_call: Allow early init
    static_call: Add some validation
    static_call: Handle tail-calls
    static_call: Add static_call_cond()
    x86/alternatives: Teach text_poke_bp() to emulate RET
    static_call: Add simple self-test for static calls
    x86/static_call: Add inline static call implementation for x86-64
    x86/static_call: Add out-of-line static call implementation
    static_call: Avoid kprobes on inline static_call()s
    static_call: Add inline static call infrastructure
    static_call: Add basic static call infrastructure
    compiler.h: Make __ADDRESSABLE() symbol truly unique
    jump_label,module: Fix module lifetime for __jump_label_mod_text_reserved()
    module: Properly propagate MODULE_STATE_COMING failure
    module: Fix up module_notifier return values
    ...

    Linus Torvalds
     
  • Pull scheduler updates from Ingo Molnar:

    - reorganize & clean up the SD* flags definitions and add a bunch of
    sanity checks. These new checks caught quite a few bugs or at least
    inconsistencies, resulting in another set of patches.

    - rseq updates, add MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ

    - add a new tracepoint to improve CPU capacity tracking

    - improve overloaded SMP system load-balancing behavior

    - tweak SMT balancing

    - energy-aware scheduling updates

    - NUMA balancing improvements

    - deadline scheduler fixes and improvements

    - CPU isolation fixes

    - misc cleanups, simplifications and smaller optimizations

    * tag 'sched-core-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (42 commits)
    sched/deadline: Unthrottle PI boosted threads while enqueuing
    sched/debug: Add new tracepoint to track cpu_capacity
    sched/fair: Tweak pick_next_entity()
    rseq/selftests: Test MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ
    rseq/selftests,x86_64: Add rseq_offset_deref_addv()
    rseq/membarrier: Add MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ
    sched/fair: Use dst group while checking imbalance for NUMA balancer
    sched/fair: Reduce busy load balance interval
    sched/fair: Minimize concurrent LBs between domain level
    sched/fair: Reduce minimal imbalance threshold
    sched/fair: Relax constraint on task's load during load balance
    sched/fair: Remove the force parameter of update_tg_load_avg()
    sched/fair: Fix wrong cpu selecting from isolated domain
    sched: Remove unused inline function uclamp_bucket_base_value()
    sched/rt: Disable RT_RUNTIME_SHARE by default
    sched/deadline: Fix stale throttling on de-/boosted tasks
    sched/numa: Use runnable_avg to classify node
    sched/topology: Move sd_flag_debug out of #ifdef CONFIG_SYSCTL
    MAINTAINERS: Add myself as SCHED_DEADLINE reviewer
    sched/topology: Move SD_DEGENERATE_GROUPS_MASK out of linux/sched/topology.h
    ...

    Linus Torvalds
     
  • Pull arm64 updates from Will Deacon:
    "There's quite a lot of code here, but much of it is due to the
    addition of a new PMU driver as well as some arm64-specific selftests
    which is an area where we've traditionally been lagging a bit.

    In terms of exciting features, this includes support for the Memory
    Tagging Extension which narrowly missed 5.9, hopefully allowing
    userspace to run with use-after-free detection in production on CPUs
    that support it. Work is ongoing to integrate the feature with KASAN
    for 5.11.

    Another change that I'm excited about (assuming they get the hardware
    right) is preparing the ASID allocator for sharing the CPU page-table
    with the SMMU. Those changes will also come in via Joerg with the
    IOMMU pull.

    We do stray outside of our usual directories in a few places, mostly
    due to core changes required by MTE. Although much of this has been
    Acked, there were a couple of places where we unfortunately didn't get
    any review feedback.

    Other than that, we ran into a handful of minor conflicts in -next,
    but nothing that should post any issues.

    Summary:

    - Userspace support for the Memory Tagging Extension introduced by
    Armv8.5. Kernel support (via KASAN) is likely to follow in 5.11.

    - Selftests for MTE, Pointer Authentication and FPSIMD/SVE context
    switching.

    - Fix and subsequent rewrite of our Spectre mitigations, including
    the addition of support for PR_SPEC_DISABLE_NOEXEC.

    - Support for the Armv8.3 Pointer Authentication enhancements.

    - Support for ASID pinning, which is required when sharing
    page-tables with the SMMU.

    - MM updates, including treating flush_tlb_fix_spurious_fault() as a
    no-op.

    - Perf/PMU driver updates, including addition of the ARM CMN PMU
    driver and also support to handle CPU PMU IRQs as NMIs.

    - Allow prefetchable PCI BARs to be exposed to userspace using normal
    non-cacheable mappings.

    - Implementation of ARCH_STACKWALK for unwinding.

    - Improve reporting of unexpected kernel traps due to BPF JIT
    failure.

    - Improve robustness of user-visible HWCAP strings and their
    corresponding numerical constants.

    - Removal of TEXT_OFFSET.

    - Removal of some unused functions, parameters and prototypes.

    - Removal of MPIDR-based topology detection in favour of firmware
    description.

    - Cleanups to handling of SVE and FPSIMD register state in
    preparation for potential future optimisation of handling across
    syscalls.

    - Cleanups to the SDEI driver in preparation for support in KVM.

    - Miscellaneous cleanups and refactoring work"

    * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (148 commits)
    Revert "arm64: initialize per-cpu offsets earlier"
    arm64: random: Remove no longer needed prototypes
    arm64: initialize per-cpu offsets earlier
    kselftest/arm64: Check mte tagged user address in kernel
    kselftest/arm64: Verify KSM page merge for MTE pages
    kselftest/arm64: Verify all different mmap MTE options
    kselftest/arm64: Check forked child mte memory accessibility
    kselftest/arm64: Verify mte tag inclusion via prctl
    kselftest/arm64: Add utilities and a test to validate mte memory
    perf: arm-cmn: Fix conversion specifiers for node type
    perf: arm-cmn: Fix unsigned comparison to less than zero
    arm64: dbm: Invalidate local TLB when setting TCR_EL1.HD
    arm64: mm: Make flush_tlb_fix_spurious_fault() a no-op
    arm64: Add support for PR_SPEC_DISABLE_NOEXEC prctl() option
    arm64: Pull in task_stack_page() to Spectre-v4 mitigation code
    KVM: arm64: Allow patching EL2 vectors even with KASLR is not enabled
    arm64: Get rid of arm64_ssbd_state
    KVM: arm64: Convert ARCH_WORKAROUND_2 to arm64_get_spectre_v4_state()
    KVM: arm64: Get rid of kvm_arm_have_ssbd()
    KVM: arm64: Simplify handling of ARCH_WORKAROUND_2
    ...

    Linus Torvalds
     

09 Oct, 2020

1 commit

  • …k/linux-rcu into core/rcu

    Pull v5.10 RCU changes from Paul E. McKenney:

    - Debugging for smp_call_function().

    - Strict grace periods for KASAN. The point of this series is to find
    RCU-usage bugs, so the corresponding new RCU_STRICT_GRACE_PERIOD
    Kconfig option depends on both DEBUG_KERNEL and RCU_EXPERT, and is
    further disabled by dfefault. Finally, the help text includes
    a goodly list of scary caveats.

    - New smp_call_function() torture test.

    - Torture-test updates.

    - Documentation updates.

    - Miscellaneous fixes.

    Signed-off-by: Ingo Molnar <mingo@kernel.org>

    Ingo Molnar
     

07 Oct, 2020

3 commits

  • Btree inode is special compared to all other inode extent io_trees,
    although it has a btrfs inode, it doesn't have the track_uptodate bit at
    all.

    This means a lot of things like extent locking doesn't even need to be
    applied to btree io tree.

    Since it's so special, adds a new owner value for it to make debuging a
    little easier.

    Signed-off-by: Qu Wenruo
    Reviewed-by: David Sterba
    Signed-off-by: David Sterba

    Qu Wenruo
     
  • Reviewed-by: Johannes Thumshirn
    Reviewed-by: Josef Bacik
    Signed-off-by: Nikolay Borisov
    Reviewed-by: David Sterba
    Signed-off-by: David Sterba

    Nikolay Borisov
     
  • The current trace event always output result like this:

    find_free_extent: root=2(EXTENT_TREE) len=16384 empty_size=0 flags=4(METADATA)
    find_free_extent: root=2(EXTENT_TREE) len=16384 empty_size=0 flags=4(METADATA)
    find_free_extent: root=2(EXTENT_TREE) len=8192 empty_size=0 flags=1(DATA)
    find_free_extent: root=2(EXTENT_TREE) len=8192 empty_size=0 flags=1(DATA)
    find_free_extent: root=2(EXTENT_TREE) len=4096 empty_size=0 flags=1(DATA)
    find_free_extent: root=2(EXTENT_TREE) len=4096 empty_size=0 flags=1(DATA)

    T's saying we're allocating data extent for EXTENT tree, which is not
    even possible.

    It's because we always use EXTENT tree as the owner for
    trace_find_free_extent() without using the @root from
    btrfs_reserve_extent().

    This patch will change the parameter to use proper @root for
    trace_find_free_extent():

    Now it looks much better:

    find_free_extent: root=5(FS_TREE) len=16384 empty_size=0 flags=36(METADATA|DUP)
    find_free_extent: root=5(FS_TREE) len=8192 empty_size=0 flags=1(DATA)
    find_free_extent: root=5(FS_TREE) len=16384 empty_size=0 flags=1(DATA)
    find_free_extent: root=5(FS_TREE) len=4096 empty_size=0 flags=1(DATA)
    find_free_extent: root=5(FS_TREE) len=8192 empty_size=0 flags=1(DATA)
    find_free_extent: root=5(FS_TREE) len=16384 empty_size=0 flags=36(METADATA|DUP)
    find_free_extent: root=7(CSUM_TREE) len=16384 empty_size=0 flags=36(METADATA|DUP)
    find_free_extent: root=2(EXTENT_TREE) len=16384 empty_size=0 flags=36(METADATA|DUP)
    find_free_extent: root=1(ROOT_TREE) len=16384 empty_size=0 flags=36(METADATA|DUP)

    Reported-by: Hans van Kranenburg
    CC: stable@vger.kernel.org # 5.4+
    Signed-off-by: Qu Wenruo
    Reviewed-by: David Sterba
    Signed-off-by: David Sterba

    Qu Wenruo
     

06 Oct, 2020

2 commits

  • Linux 5.9-rc5

    Mark Brown
     
  • Newly added catpt solution found in sound/soc/intel/catpt is a direct
    replacement to sound/soc/intel/haswell. It covers all features supported
    by it and more - by aligning to recommended flows and requirement list
    based on Windows driver equivalent. No harm is done to userspace as
    catpt - similarly to haswell - loads no extenal topology files while
    sharing the exact same ADSP firmware binary.

    Given the above, existing haswell code is redundant so remove it.

    Signed-off-by: Cezary Rojewski
    Reviewed-by: Andy Shevchenko
    Acked-by: Liam Girdwood
    Link: https://lore.kernel.org/r/20201006064907.16277-2-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown

    Cezary Rojewski
     

03 Oct, 2020

1 commit

  • rq->cpu_capacity is a key element in several scheduler parts, such as EAS
    task placement and load balancing. Tracking this value enables testing
    and/or debugging by a toolkit.

    Signed-off-by: Vincent Donnefort
    Signed-off-by: Peter Zijlstra (Intel)
    Link: https://lkml.kernel.org/r/1598605249-72651-1-git-send-email-vincent.donnefort@arm.com

    Vincent Donnefort