diff --git a/SOURCE b/SOURCE index 9f2535fd746e88a1083ad1f1522ede98e31b4471..4d87b673e9f31526f2ea5962c17f32e097cbe0b8 100644 --- a/SOURCE +++ b/SOURCE @@ -1 +1 @@ -4.19.90-2104.2.0 +4.19.90-2108.4.0 diff --git a/kernel.spec b/kernel.spec index 64dde89e2ec9eff5c12bfa046e11a89e3438670e..556f2696e420b62205c928f739f07dfa34da93ca 100644 --- a/kernel.spec +++ b/kernel.spec @@ -12,7 +12,7 @@ %global KernelVer %{version}-%{release}.%{_target_cpu} -%global hulkrelease 2104.2.0 +%global hulkrelease 2108.4.0 %define with_patch 0 @@ -24,7 +24,7 @@ Name: kernel Version: 4.19.90 -Release: %{hulkrelease}.0064 +Release: %{hulkrelease}.0098 Summary: Linux Kernel License: GPLv2 URL: http://www.kernel.org/ @@ -72,7 +72,7 @@ BuildRequires: audit-libs-devel BuildRequires: pciutils-devel gettext BuildRequires: rpm-build, elfutils BuildRequires: numactl-devel python3-devel glibc-static python3-docutils -BuildRequires: perl-generators perl(Carp) libunwind-devel gtk2-devel libbabeltrace-devel java-1.8.0-openjdk +BuildRequires: perl-generators perl(Carp) libunwind-devel gtk2-devel libbabeltrace-devel java-1.8.0-openjdk perl-devel AutoReq: no AutoProv: yes @@ -791,6 +791,1979 @@ fi %changelog +* Tue Aug 10 2021 Cheng Jian - 4.19.90-2108.4.0.0098 +- openeuler_defconfig: Enable ARCH_PHYTIUM and ARM_GIC_PHYTIUM_2500 +- config: Enable Phytium FT-2500 support configs for hulk_defconfig +- irqchip: phytium-2500: Add interrupt controller driver +- mm/vmscan: setup drop_caches_loop_limit in cmdline +- mm/memcg: optimize memory.numa_stat like memory.stat +- livepatch: Fix crash when access the global variable in hook +- timer: Use hlist_unhashed_lockless() in timer_pending() +- list: Add hlist_unhashed_lockless() +- config: Enable CONFIG_GPIO_HISI by default +- gpio: gpio-hisi: Add HiSilicon GPIO support +- config: Enable CONFIG_I2C_HISI by default +- i2c: add support for HiSilicon I2C controller +- i2c: core: add api to provide frequency mode strings +- i2c: core: add managed function for adding i2c adapters +- blk: reuse lookup_sem to serialize partition operations +- Revert "block: take bd_mutex around delete_partitions in del_gendisk" +- Revert "block: avoid creating invalid symlink file for patitions" +- Revert "block: call bdput() to avoid memleak" +- sctp: fix return value check in __sctp_rcv_asconf_lookup +- workqueue: fix UAF in pwq_unbound_release_workfn() +- exit: Move preemption fixup up, move blocking operations down +- Input: joydev - prevent use of not validated data in JSIOCSBTNMAP ioctl +- Input: joydev - prevent potential read overflow in ioctl +- srcu: Take early exit on memory-allocation failure +- Revert "modpost: add read_text_file() and get_line() helpers" +- Revert "modpost: use read_text_file() and get_line() for reading text files" +- Revert "modpost: remove use of non-standard strsep() in HOSTCC code" +- Revert "modpost: explain why we can't use strsep" +- cpuidle: fix return type err in haltpoll_switch_governor +- mm/slab: add naive detection of double free +- mm/mempool: fix a data race in mempool_free() +- mm/list_lru: fix a data race in list_lru_count_one +- mm/cma.c: fix NULL pointer dereference when cma could not be activated +- iommu/amd: Prevent NULL pointer dereference + +* Mon Aug 02 2021 Cheng Jian - 4.19.90-2108.1.0.0097 +- bcache: always record start time of a sample +- bcache: do not collect data insert info created by write_moving +- tcp_comp: open configs for tcp compression +- tcp_comp: implement recvmsg for tcp compression +- tcp_comp: implement sendmsg for tcp compression +- tcp_comp: add stub proto ops for tcp compression socket +- tcp_comp: allow ignore local tcp connections +- tcp_comp: only enable compression for give server ports +- tcp_comp: add sysctl for enable/disable compression +- tcp_comp: add init and cleanup hook for compression +- tcp_comp: add tcp comp option to SYN and SYN-ACK +- tcp_comp: add Kconfig for tcp payload compression +- tracing: Fix bug in rb_per_cpu_empty() that might cause deadloop. +- proc: Avoid mixing integer types in mem_rw() +- net: sched: cls_api: Fix the the wrong parameter +- sctp: update active_key for asoc when old key is being replaced +- nvme-pci: don't WARN_ON in nvme_reset_work if ctrl.state is not RESETTING +- net/sched: act_skbmod: Skip non-Ethernet packets +- net/tcp_fastopen: fix data races around tfo_active_disable_stamp +- scsi: target: Fix protect handling in WRITE SAME(32) +- scsi: iscsi: Fix iface sysfs attr detection +- nvme-pci: do not call nvme_dev_remove_admin from nvme_remove +- ipv6: fix 'disable_policy' for fwd packets +- net: ip_tunnel: fix mtu calculation for ETHER tunnel devices +- udp: annotate data races around unix_sk(sk)->gso_size +- ipv6: tcp: drop silly ICMPv6 packet too big messages +- tcp: annotate data races around tp->mtu_info +- dma-buf/sync_file: Don't leak fences on merge failure +- net: validate lwtstate->data before returning from skb_tunnel_info() +- net: send SYNACK packet with accepted fwmark +- net: bridge: sync fdb to new unicast-filtering ports +- netfilter: ctnetlink: suspicious RCU usage in ctnetlink_dump_helpinfo +- dm writecache: fix writing beyond end of underlying device when shrinking +- dm writecache: return the exact table values that were set +- dm multipath: use updated MPATHF_QUEUE_IO on mapping for bio-based mpath +- dm writecache: fix data corruption when reloading the target +- dm verity fec: fix hash block number in verity_fec_decode +- sched/fair: Fix CFS bandwidth hrtimer expiry type +- scsi: libfc: Fix array index out of bound exception +- scsi: scsi_dh_alua: Fix signedness bug in alua_rtpg() +- net: bridge: multicast: fix PIM hello router port marking race +- NFSv4/pNFS: Don't call _nfs4_pnfs_v3_ds_connect multiple times +- virtio_net: move tx vq operation under tx queue lock +- x86/fpu: Limit xstate copy size in xstateregs_set() +- nfs: fix acl memory leak of posix_acl_create() +- NFSv4: Initialise connection to the server in nfs4_alloc_client() +- PCI/sysfs: Fix dsm_label_utf16s_to_utf8s() buffer overrun +- virtio_console: Assure used length from device is limited +- virtio_net: Fix error handling in virtnet_restore() +- virtio-blk: Fix memory leak among suspend/resume procedure +- NFS: nfs_find_open_context() may only select open files +- lib/decompress_unlz4.c: correctly handle zero-padding around initrds. +- i2c: core: Disable client irq on reboot/shutdown +- scsi: qedi: Fix null ref during abort handling +- scsi: iscsi: Fix shost->max_id use +- scsi: iscsi: Add iscsi_cls_conn refcount helpers +- scsi: scsi_dh_alua: Check for negative result value +- tracing: Do not reference char * as a string in histograms +- scsi: core: Fix bad pointer dereference when ehandler kthread is invalid +- seq_buf: Fix overflow in seq_buf_putmem_hex() +- ipmi/watchdog: Stop watchdog timer when the current action is 'none' +- net: ip: avoid OOM kills with large UDP sends over loopback +- vsock: notify server to shutdown when client has pending signal +- xfrm: Fix error reporting in xfrm_state_construct. +- virtio_net: Remove BUG() to avoid machine dead +- dm space maps: don't reset space map allocation cursor when committing +- ipv6: use prandom_u32() for ID generation +- mm/huge_memory.c: don't discard hugepage if other processes are mapping it +- vfio/pci: Handle concurrent vma faults +- vfio-pci: Use io_remap_pfn_range() for PCI IO memory +- writeback: fix obtain a reference to a freeing memcg css +- ipv6: fix out-of-bound access in ip6_parse_tlv() +- bpf: Do not change gso_size during bpf_skb_change_proto() +- ipv6: exthdrs: do not blindly use init_net +- net/ipv4: swap flow ports when validating source +- vxlan: add missing rcu_read_lock() in neigh_reduce() +- pkt_sched: sch_qfq: fix qfq_change_class() error path +- netfilter: nft_tproxy: restrict support to TCP and UDP transport protocols +- netfilter: nft_osf: check for TCP packet before further processing +- netfilter: nft_exthdr: check for IPv6 packet before further processing +- netlabel: Fix memory leak in netlbl_mgmt_add_common +- ACPI: sysfs: Fix a buffer overrun problem with description_show() +- evm: fix writing /evm overflow +- lib: vsprintf: Fix handling of number field widths in vsscanf +- ACPI: processor idle: Fix up C-state latency if not ordered +- fuse: check connected before queueing on fpq->io +- evm: Refuse EVM_ALLOW_METADATA_WRITES only if an HMAC key is loaded +- evm: Execute evm_inode_init_security() only when an HMAC key is loaded +- seq_buf: Make trace_seq_putmem_hex() support data longer than 8 +- ext4: use ext4_grp_locked_error in mb_find_extent +- ext4: fix avefreec in find_group_orlov +- ext4: remove check for zero nr_to_scan in ext4_es_scan() +- ext4: correct the cache_nr in tracepoint ext4_es_shrink_exit +- ext4: return error code when ext4_fill_flex_info() fails +- ext4: fix kernel infoleak via ext4_extent_header +- iov_iter_fault_in_readable() should do nothing in xarray case +- scsi: core: Retry I/O for Notify (Enable Spinup) Required error +- kthread: prevent deadlock when kthread_mod_delayed_work() races with kthread_cancel_delayed_work_sync() +- kthread_worker: split code for canceling the delayed work timer +- scsi: sr: Return appropriate error code when disk is ejected +- mm, futex: fix shared futex pgoff on shmem huge page +- mm/thp: another PVMW_SYNC fix in page_vma_mapped_walk() +- mm/thp: fix page_vma_mapped_walk() if THP mapped by ptes +- mm: page_vma_mapped_walk(): get vma_address_end() earlier +- mm: page_vma_mapped_walk(): use goto instead of while (1) +- mm: page_vma_mapped_walk(): add a level of indentation +- mm: page_vma_mapped_walk(): crossing page table boundary +- mm: page_vma_mapped_walk(): prettify PVMW_MIGRATION block +- mm: page_vma_mapped_walk(): use pmde for *pvmw->pmd +- mm: page_vma_mapped_walk(): settle PageHuge on entry +- mm: page_vma_mapped_walk(): use page for pvmw->page +- mm: thp: replace DEBUG_VM BUG with VM_WARN when unmap fails for split +- mm/thp: unmap_mapping_page() to fix THP truncate_cleanup_page() +- mm/thp: fix page_address_in_vma() on file THP tails +- mm/thp: fix vma_address() if virtual address below file offset +- mm/thp: try_to_unmap() use TTU_SYNC for safe splitting +- mm/thp: make is_huge_zero_pmd() safe and quicker +- mm/thp: fix __split_huge_pmd_locked() on shmem migration entry +- mm/rmap: use page_not_mapped in try_to_unmap() +- mm/rmap: remove unneeded semicolon in page_not_mapped() +- mm: add VM_WARN_ON_ONCE_PAGE() macro +- sctp: add param size validation for SCTP_PARAM_SET_PRIMARY +- sctp: validate chunk size in __rcv_asconf_lookup +- stop_machine: Avoid potential race behaviour +- KVM: PPC: Book3S: Fix H_RTAS rets buffer overflow +- can: raw: fix raw_rcv panic for sock UAF +- mm/page_isolation: do not isolate the max order page +- mm/zswap: fix passing zero to 'PTR_ERR' warning +- mm/page_alloc: speed up the iteration of max_order +- mm: hugetlb: fix type of delta parameter and related local variables in gather_surplus_pages() +- mm/vmalloc.c:__vmalloc_area_node(): avoid 32-bit overflow +- sctp: add size validation when walking chunks +- sctp: validate from_addr_param return +- jbd2: fix kabi broken in struct journal_s +- ext4: inline jbd2_journal_[un]register_shrinker() +- jbd2: export jbd2_journal_[un]register_shrinker() +- fs: remove bdev_try_to_free_page callback +- ext4: remove bdev_try_to_free_page() callback +- jbd2: simplify journal_clean_one_cp_list() +- jbd2,ext4: add a shrinker to release checkpointed buffers +- jbd2: remove redundant buffer io error checks +- jbd2: don't abort the journal when freeing buffers +- jbd2: ensure abort the journal if detect IO error when writing original buffer back +- jbd2: remove the out label in __jbd2_journal_remove_checkpoint() +- mm: vmscan: use a new flag to indicate shrinker is registered +- Revert "jbd2: remove the out label in __jbd2_journal_remove_checkpoint()" +- Revert "jbd2: ensure abort the journal if detect IO error when writing original buffer back" +- Revert "jbd2: fix kabi broken in struct journal_s" +- Revert "jbd2: don't abort the journal when freeing buffers" +- mm/vmscan: add drop_caches_loop_limit to break loop in drop_slab_node +- mm/vmscan: fix infinite loop in drop_slab_node +- userswap: add a kernel parameter to enable userswap +- userfaultfd: fix BUG_ON() in userfaultfd_release() +- kprobes: Warn if the kprobe is reregistered +- Revert "kretprobe: check re-registration of the same kretprobe earlier" + +* Tue Jul 27 2021 Cheng Jian - 4.19.90-2107.5.0.0096 +- mm: vmalloc: prevent use after free in _vm_unmap_aliases +- PCI/sysfs: Take reference on device to be removed +- seq_file: disallow extremely large seq buffer allocations +- ARM: footbridge: remove personal server platform +- mm: slab: fix kmem_cache_create failed when sysfs node not destroyed +- ARM: ensure the signal page contains defined contents +- nvme-pci: use atomic bitops to mark a queue enabled +- nvme: check the PRINFO bit before deciding the host buffer length +- nvme: fix compat address handling in several ioctls +- nvme-core: make implicit seed truncation explicit +- nvme-core: don't use NVME_NSID_ALL for command effects and supported log +- nvme-pci: fix NULL req in completion handler +- nvme-pci: cancel nvme device request before disabling +- nvme: copy MTFA field from identify controller +- nvme-pci: Unblock reset_work on IO failure +- nvme-pci: Don't disable on timeout in reset state +- nvme-pci: Fix controller freeze wait disabling +- block: error out if blk_get_queue() failed in blk_init_rl() + +* Tue Jul 20 2021 Cheng Jian - 4.19.90-2107.4.0.0095 +- Revert "smp: Fix smp_call_function_single_async prototype" +- Revert "vt: Fix character height handling with VT_RESIZEX" +- block: only call sched requeue_request() for scheduled requests +- KVM: arm: replace WARN_ON with pr_warn for UNKNOWN type +- net/packet: annotate accesses to po->ifindex +- net/packet: annotate accesses to po->bind +- inet: annotate date races around sk->sk_txhash +- ping: Check return value of function 'ping_queue_rcv_skb' +- net: ethtool: clear heap allocations for ethtool function +- x86/fpu: Reset state for all signal restore failures +- inet: use bigger hash table for IP ID generation +- net: bridge: fix vlan tunnel dst refcnt when egressing +- net: bridge: fix vlan tunnel dst null pointer dereference +- tracing: Do no increment trace_clock_global() by one +- tracing: Do not stop recording comms if the trace file is being read +- tracing: Do not stop recording cmdlines when tracing is off +- icmp: don't send out ICMP messages with a source address of 0.0.0.0 +- net/af_unix: fix a data-race in unix_dgram_sendmsg / unix_release_sock +- net: ipv4: fix memory leak in ip_mc_add1_src +- net: make get_net_ns return error if NET_NS is disabled +- net: add documentation to socket.c +- sch_cake: Fix out of bounds when parsing TCP options and header +- netfilter: synproxy: Fix out of bounds when parsing TCP options +- rtnetlink: Fix regression in bridge VLAN configuration +- udp: fix race between close() and udp_abort() +- net: ipv4: fix memory leak in netlbl_cipsov4_add_std +- fib: Return the correct errno code +- net: Return the correct errno code +- rtnetlink: Fix missing error code in rtnl_bridge_notify() +- net: ipconfig: Don't override command-line hostnames or domains +- nvme-loop: check for NVME_LOOP_Q_LIVE in nvme_loop_destroy_admin_queue() +- nvme-loop: clear NVME_LOOP_Q_LIVE when nvme_loop_configure_admin_queue() fails +- nvme-loop: reset queue count to 1 in nvme_loop_destroy_io_queues() +- scsi: target: core: Fix warning on realtime kernels +- proc: only require mm_struct for writing +- tracing: Correct the length check which causes memory corruption +- ftrace: Do not blindly read the ip address in ftrace_bug() +- scsi: core: Only put parent device if host state differs from SHOST_CREATED +- scsi: core: Put .shost_dev in failure path if host state changes to RUNNING +- scsi: core: Fix error handling of scsi_host_alloc() +- NFSv4: nfs4_proc_set_acl needs to restore NFS_CAP_UIDGID_NOMAP on error. +- NFS: Fix use-after-free in nfs4_init_client() +- NFS: Fix a potential NULL dereference in nfs_get_client() +- sched/fair: Make sure to update tg contrib for blocked load +- perf: Fix data race between pin_count increment/decrement +- cgroup1: don't allow ' +- wq: handle VM suspension in stall detection +- cgroup: disable controllers at parse time +- net: mdiobus: get rid of a BUG_ON() +- netlink: disable IRQs for netlink_lock_table() +- bonding: init notify_work earlier to avoid uninitialized use +- proc: Track /proc/$pid/attr/ opener mm_struct +- ACPI: EC: Look for ECDT EC after calling acpi_load_tables() +- ACPI: probe ECDT before loading AML tables regardless of module-level code flag +- mm, hugetlb: fix simple resv_huge_pages underflow on UFFDIO_COPY +- x86/apic: Mark _all_ legacy interrupts when IO/APIC is missing +- pid: take a reference when initializing `cad_pid` +- netfilter: nfnetlink_cthelper: hit EBUSY on updates if size mismatches +- ipvs: ignore IP_VS_SVC_F_HASHED flag when adding service +- vfio/platform: fix module_put call in error flow +- vfio/pci: zap_vma_ptes() needs MMU +- vfio/pci: Fix error return code in vfio_ecap_init() +- efi: cper: fix snprintf() use in cper_dimm_err_location() +- efi: Allow EFI_MEMORY_XP and EFI_MEMORY_RO both to be cleared +- lib/clear_user: ensure loop in __arch_clear_user cache-aligned +- scsi: core: Treat device offline as a failure +- Revert "scsi: check the whole result for reading write protect flag" +- ext4: fix WARN_ON_ONCE(!buffer_uptodate) after an error writing the superblock +- arm64/config: Set CONFIG_TXGBE=m by default +- make bch_btree_check() to be multiple threads +- Make compile successful when CONFIG_BCACHE is not set. +- Move only dirty data when gc runnning, in order to reducing write amplification. +- Add traffic policy for low cache available. +- igmp: Add ip_mc_list lock in ip_check_mc_rcu +- memcg: fix unsuitable null check after alloc memory +- cpuidle: fix a build error when compiling haltpoll into module +- config: enable KASAN and UBSAN by default +- KVM: x86: expose AVX512_BF16 feature to guest +- KVM: cpuid: remove has_leaf_count from struct kvm_cpuid_param +- KVM: cpuid: rename do_cpuid_1_ent +- KVM: cpuid: set struct kvm_cpuid_entry2 flags in do_cpuid_1_ent +- KVM: cpuid: extract do_cpuid_7_mask and support multiple subleafs +- KVM: cpuid: do_cpuid_ent works on a whole CPUID function +- ext4: fix possible UAF when remounting r/o a mmp-protected file system +- locks: Fix UBSAN undefined behaviour in flock64_to_posix_lock +- iomap: Mark read blocks uptodate in write_begin +- iomap: Clear page error before beginning a write +- iomap: move the zeroing case out of iomap_read_page_sync +- nbd: handle device refs for DESTROY_ON_DISCONNECT properly +- cifs: Fix leak when handling lease break for cached root fid +- mm/memcontrol.c: fix kasan slab-out-of-bounds in mem_cgroup_css_alloc +- module: limit enabling module.sig_enforce +- selftests/bpf: add test_spec_readahead_xfs_file to support specail async readahead +- mm: support special async readahead +- selftests/bpf: test_xfs_file support to clear FMODE_RANDOM +- xfs: let writable tracepoint enable to clear flag of f_mode +- jbd2: fix kabi broken in struct journal_s +- btrfs: allow btrfs_truncate_block() to fallback to nocow for data space reservation +- NFSv4.1: fix kabi for struct rpc_xprt +- usb: gadget: rndis: Fix info leak of rndis +- once: Fix panic when module unload +- SUNRPC: Should wake up the privileged task firstly. +- SUNRPC: Fix the batch tasks count wraparound. +- bpf: Fix leakage under speculation on mispredicted branches +- bpf: Do not mark insn as seen under speculative path verification +- bpf: Inherit expanded/patched seen count from old aux data +- bpf: Update selftests to reflect new error states +- bpf, test_verifier: switch bpf_get_stack's 0 s> r8 test +- bpf: Test_verifier, bpf_get_stack return value add <0 +- bpf: extend is_branch_taken to registers +- selftests/bpf: add selftest part of "bpf: improve verifier branch analysis" +- selftests/bpf: Test narrow loads with off > 0 in test_verifier +- bpf, selftests: Fix up some test_verifier cases for unprivileged +- bpf: fix up selftests after backports were fixed +- nvme-rdma: avoid request double completion for concurrent nvme_rdma_timeout +- binfmt: Move install_exec_creds after setup_new_exec to match binfmt_elf +- ext4: fix memory leak in ext4_fill_super +- RDMA/hns: Add support for addressing when hopnum is 0 +- RDMA/hns: Optimize hns buffer allocation flow +- RDMA/hns: Check if depth of qp is 0 before configure +- RDMA/hns: Optimize qp param setup flow +- RDMA/hns: Optimize qp buffer allocation flow +- RDMA/hns: Optimize qp destroy flow +- RDMA/hns: Remove asynchronic QP destroy +- RDMA/hns: Bugfix for posting a wqe with sge +- RDMA/hns: Delete unnecessary variable max_post +- RDMA/hns: optimize the duplicated code for qpc setting flow +- RDMA/hns: Prevent undefined behavior in hns_roce_set_user_sq_size() +- RDMA/umem: Add rdma_umem_for_each_dma_block() +- RDMA/verbs: Add a DMA iterator to return aligned contiguous memory blocks +- can: bcm: delay release of struct bcm_op after synchronize_rcu() +- etmem_scan: fix memleak in vm_idle_read +- x86/uprobes: Do not use prefixes.nbytes when looping over prefixes.bytes +- Revert "arm64: capabilities: Merge entries for ARM64_WORKAROUND_CLEAN_CACHE" +- Revert "arm64: capabilities: Merge duplicate Cavium erratum entries" +- Revert "arm64: capabilities: Merge duplicate entries for Qualcomm erratum 1003" +- net: hns3: update hns3 version to 1.9.40.24 +- net: hns3: remove redundant assignment to rx_index +- net: hns3: Fix potential null pointer defererence of null ae_dev +- net: hns3: not reset TQP in the DOWN while VF resetting +- net: hns3: remove redundant enum type HNAE3_RESTORE_CLIENT +- net: hns3: add stats logging when skb padding fails +- net: hns3: add tx send size handling for tso skb +- net: hns3: add handling for xmit skb with recursive fraglist +- net: hns3: use napi_consume_skb() when cleaning tx desc +- net: hns3: use writel() to optimize the barrier operation +- net: hns3: optimize the rx clean process +- net: hns3: optimize the tx clean process +- net: hns3: batch tx doorbell operation +- net: hns3: batch the page reference count updates +- net: hns3: streaming dma buffer sync between cpu and device +- net: hns3: rename buffer-related functions +- net: hns3: pointer type of buffer should be void +- net: hns3: remove unnecessary devm_kfree +- net: hns3: add suspend and resume pm_ops +- Revert "net: hns3: add suspend/resume function for hns3 driver" +- net: hns3: change flr_prepare/flr_done function names +- net: hns3: change hclge_reset_done function name +- net: hns3: configure promisc mode for VF asynchronously +- kabi: add kabi list for x86_64 +- kabi: update kabi list for arm64 +- hugetlbfs: hugetlb_fault_mutex_hash() cleanup +- ipv6: record frag_max_size in atomic fragments in input path +- scsi: libsas: Use _safe() loop in sas_resume_port() +- SMB3: incorrect file id in requests compounded with open +- NFSv4: Fix v4.0/v4.1 SEEK_DATA return -ENOTSUPP when set NFS_V4_2 config +- NFS: Don't corrupt the value of pg_bytes_written in nfs_do_recoalesce() +- NFS: fix an incorrect limit in filelayout_decode_layout() +- dm snapshot: properly fix a crash when an origin has no snapshots +- proc: Check /proc/$pid/attr/ writes against file opener +- iommu/vt-d: Fix sysfs leak in alloc_iommu() +- NFSv4: Fix a NULL pointer dereference in pnfs_mark_matching_lsegs_return() +- cifs: set server->cipher_type to AES-128-CCM for SMB3.0 +- tty: vt: always invoke vc->vc_sw->con_resize callback +- vt: Fix character height handling with VT_RESIZEX +- vgacon: Record video mode changes with VT_RESIZEX +- Revert "niu: fix missing checks of niu_pci_eeprom_read" +- Revert "qlcnic: Avoid potential NULL pointer dereference" +- Revert "rtlwifi: fix a potential NULL pointer dereference" +- Revert "media: rcar_drif: fix a memory disclosure" +- Revert "gdrom: fix a memory leak bug" +- Revert "scsi: ufs: fix a missing check of devm_reset_control_get" +- Revert "video: imsttfb: fix potential NULL pointer dereferences" +- Revert "hwmon: (lm80) fix a missing check of bus read in lm80 probe" +- Revert "leds: lp5523: fix a missing check of return value of lp55xx_read" +- Revert "net: stmicro: fix a missing check of clk_prepare" +- Revert "video: hgafb: fix potential NULL pointer dereference" +- dm snapshot: fix crash with transient storage and zero chunk size +- Revert "serial: mvebu-uart: Fix to avoid a potential NULL pointer dereference" +- Revert "rapidio: fix a NULL pointer dereference when create_workqueue() fails" +- Revert "ALSA: sb8: add a check for request_region" +- cifs: fix memory leak in smb2_copychunk_range +- locking/mutex: clear MUTEX_FLAGS if wait_list is empty due to signal +- nvmet: seset ns->file when open fails +- ptrace: make ptrace() fail if the tracee changed its pid unexpectedly +- firmware: arm_scpi: Prevent the ternary sign expansion bug +- ipv6: remove extra dev_hold() for fallback tunnels +- ip6_tunnel: sit: proper dev_{hold|put} in ndo_[un]init methods +- sit: proper dev_{hold|put} in ndo_[un]init methods +- ip6_gre: proper dev_{hold|put} in ndo_[un]init methods +- block: reexpand iov_iter after read/write +- scsi: target: tcmu: Return from tcmu_handle_completions() if cmd_id not found +- ACPI / hotplug / PCI: Fix reference count leak in enable_slot() +- nvme: do not try to reconfigure APST when the controller is not live +- netfilter: conntrack: Make global sysctls readonly in non-init netns +- kobject_uevent: remove warning in init_uevent_argv() +- blk-mq: Swap two calls in blk_mq_exit_queue() +- userfaultfd: release page in error path to avoid BUG_ON +- netfilter: nftables: avoid overflows in nft_hash_buckets() +- kernel: kexec_file: fix error return code of kexec_calculate_store_digests() +- sched/fair: Fix unfairness caused by missing load decay +- netfilter: nfnetlink_osf: Fix a missing skb_header_pointer() NULL check +- net: fix nla_strcmp to handle more then one trailing null character +- ksm: fix potential missing rmap_item for stable_node +- mm/hugeltb: handle the error case in hugetlb_fix_reserve_counts() +- khugepaged: fix wrong result value for trace_mm_collapse_huge_page_isolate() +- netfilter: xt_SECMARK: add new revision to fix structure layout +- sctp: fix a SCTP_MIB_CURRESTAB leak in sctp_sf_do_dupcook_b +- sctp: do asoc update earlier in sctp_sf_do_dupcook_a +- NFSv4.2 fix handling of sr_eof in SEEK's reply +- pNFS/flexfiles: fix incorrect size check in decode_nfs_fh() +- NFS: Deal correctly with attribute generation counter overflow +- NFSv4.2: Always flush out writes in nfs42_proc_fallocate() +- PCI: Release OF node in pci_scan_device()'s error path +- ethtool: ioctl: Fix out-of-bounds warning in store_link_ksettings_for_user() +- sctp: Fix out-of-bounds warning in sctp_process_asconf_param() +- cuse: prevent clone +- ip6_vti: proper dev_{hold|put} in ndo_[un]init methods +- tpm: fix error return code in tpm2_get_cc_attrs_tbl() +- sctp: delay auto_asconf init until binding the first addr +- Revert "net/sctp: fix race condition in sctp_destroy_sock" +- smp: Fix smp_call_function_single_async prototype +- net: Only allow init netns to set default tcp cong to a restricted algo +- mm/memory-failure: unnecessary amount of unmapping +- mm/sparse: add the missing sparse_buffer_fini() in error branch +- drivers/block/null_blk/main: Fix a double free in null_init. +- sched/debug: Fix cgroup_path[] serialization +- x86/events/amd/iommu: Fix sysfs type mismatch +- vfio/mdev: Do not allow a mdev_type to have a NULL parent pointer +- ata: libahci_platform: fix IRQ check +- x86/kprobes: Fix to check non boostable prefixes correctly +- ACPI: CPPC: Replace cppc_attr with kobj_attribute +- irqchip/gic-v3: Fix OF_BAD_ADDR error handling +- x86/microcode: Check for offline CPUs before requesting new microcode +- ovl: fix missing revert_creds() on error path +- x86/cpu: Initialize MSR_TSC_AUX if RDTSCP *or* RDPID is supported +- md: Fix missing unused status line of /proc/mdstat +- md: md_open returns -EBUSY when entering racing area +- md: factor out a mddev_find_locked helper from mddev_find +- md: split mddev_find +- md-cluster: fix use-after-free issue when removing rdev +- md/bitmap: wait for external bitmap writes to complete during tear down +- dm rq: fix double free of blk_mq_tag_set in dev remove after table load fails +- dm space map common: fix division bug in sm_ll_find_free_block() +- dm persistent data: packed struct should have an aligned() attribute too +- tracing: Restructure trace_clock_global() to never block +- tracing: Map all PIDs to command lines +- tty: fix memory leak in vc_deallocate +- ext4: fix error code in ext4_commit_super +- posix-timers: Preserve return value in clock_adjtime32() +- Revert 337f13046ff0 ("futex: Allow FUTEX_CLOCK_REALTIME with FUTEX_WAIT op") +- dm raid: fix inconclusive reshape layout on fast raid4/5/6 table reload sequences +- md/raid1: properly indicate failure when ending a failed write request +- NFSv4: Don't discard segments marked for return in _pnfs_return_layout() +- NFS: Don't discard pNFS layout segments that are marked for return +- ACPI: GTDT: Don't corrupt interrupt mappings on watchdow probe failure +- arm64/vdso: Discard .note.gnu.property sections in vDSO +- perf/arm_pmu_platform: Fix error handling +- genirq/matrix: Prevent allocation counter corruption +- crypto: api - check for ERR pointers in crypto_destroy_tfm() +- cifs: Return correct error code from smb2_get_enc_key +- ftrace: Handle commands when closing set_ftrace_filter file +- ACPI/IORT: Fix 'Number of IDs' handling in iort_id_map() +- ext4: do not use extent after put_bh +- modpost: explain why we can't use strsep +- modpost: remove use of non-standard strsep() in HOSTCC code +- modpost: use read_text_file() and get_line() for reading text files +- modpost: add read_text_file() and get_line() helpers +- arm64: capabilities: Merge duplicate entries for Qualcomm erratum 1003 +- arm64: capabilities: Merge duplicate Cavium erratum entries +- arm64: capabilities: Merge entries for ARM64_WORKAROUND_CLEAN_CACHE +- net: phy: ensure phylib state machine is stopped after calling phy_stop +- net: linkwatch: add check for netdevice being present to linkwatch_do_dev +- net: phy: call state machine synchronously in phy_stop +- of: fix kmemleak crash caused by imbalance in early memory reservation +- random: fix soft lockup when trying to read from an uninitialized blocking pool +- random: only read from /dev/random after its pool has received 128 bits +- block: check queue's limits.discard_granularity in __blkdev_issue_discard() +- block: loop: set discard granularity and alignment for block device backed loop +- posix-cpu-timers: Stop disabling timers on mt-exec +- kprobes: Fix compiler warning for !CONFIG_KPROBES_ON_FTRACE +- perf top: Fix stdio interface input handling with glibc 2.28+ +- iommu/vt-d: Fix mm reference leak +- iommu/dma: Fix for dereferencing before null checking +- srcu: Apply *_ONCE() to ->srcu_last_gp_end +- arm64: Kconfig: select HAVE_FUTEX_CMPXCHG +- kill kernfs_pin_sb() +- mm, thp: fix defrag setting if newline is not used +- nfsd: Clone should commit src file metadata too +- nfsd: Ensure CLONE persists data and metadata changes to the target file +- x86/sysfb: Fix check for bad VRAM size +- x86/timer: Force PIT initialization when !X86_FEATURE_ARAT +- x86/timer: Don't skip PIT setup when APIC is disabled or in legacy mode +- x86/timer: Skip PIT initialization on modern chipsets +- x86/apic: Rename 'lapic_timer_frequency' to 'lapic_timer_period' +- iommu/vt-d: Handle PCI bridge RMRR device scopes in intel_iommu_get_resv_regions +- iommu/vt-d: Handle RMRR with PCI bridge device scopes +- iommu/vt-d: Introduce is_downstream_to_pci_bridge helper +- crypto: x86 - remove SHA multibuffer routines and mcryptd +- iommu/vt-d: Duplicate iommu_resv_region objects per device list +- memcg: fix kabi broken when memory cgroup enhance +- mm: memcontrol: fix NULL-ptr deref in percpu stats flush +- mm: memcg: get number of pages on the LRU list in memcgroup base on lru_zone_size +- mm: memcontrol: fix percpu vmstats and vmevents flush +- mm, memcg: partially revert "mm/memcontrol.c: keep local VM counters in sync with the hierarchical ones" +- mm/memcontrol.c: keep local VM counters in sync with the hierarchical ones +- mm: memcontrol: flush percpu vmevents before releasing memcg +- mm: memcontrol: flush percpu vmstats before releasing memcg +- mm/memcontrol: fix wrong statistics in memory.stat +- mm: memcontrol: don't batch updates of local VM stats and events +- mm: memcontrol: fix NUMA round-robin reclaim at intermediate level +- mm: memcontrol: fix recursive statistics correctness & scalabilty +- mm: memcontrol: move stat/event counting functions out-of-line +- mm: memcontrol: make cgroup stats and events query API explicitly local +- mm: memcontrol: quarantine the mem_cgroup_[node_]nr_lru_pages() API +- mm, memcg: rename ambiguously named memory.stat counters and functions +- mm/memcontrol.c: fix memory.stat item ordering +- mm: memcontrol: expose THP events on a per-memcg basis +- mm: memcontrol: track LRU counts in the vmstats array +- mm: memcontrol: push down mem_cgroup_nr_lru_pages() +- mm: memcontrol: push down mem_cgroup_node_nr_lru_pages() +- mm: workingset: don't drop refault information prematurely +- mm: memcontrol: replace zone summing with lruvec_page_state() +- mm: memcontrol: replace node summing with memcg_page_state() +- mm, oom: add oom victim's memcg to the oom context information +- mm/oom_kill.c: fix uninitialized oc->constraint +- mm, oom: reorganize the oom report in dump_header +- memcg: update the child's qos_level synchronously in memcg_qos_write() +- memcg: Add static key for memcg priority +- memcg: fix kabi broken when enable CONFIG_MEMCG_QOS +- memcg: enable CONFIG_MEMCG_QOS by default +- memcg: support priority for oom +- scsi: core: Fix failure handling of scsi_add_host_with_dma() +- fuse: fix the ->direct_IO() treatment of iov_iter +- bdev: Do not return EBUSY if bdev discard races with write +- block: mark flush request as IDLE when it is really finished +- blk-mq: mark flush request as IDLE in flush_end_io() +- vhost_net: avoid tx queue stuck when sendmsg fails +- iommu/vt-d: Add support for ACPI device use physical, node as pci device to establish identity mapping +- io_uring: NULL files dereference by SQPOLL +- vgacon: remove software scrollback support +- block: dio: ensure the memory order between bi_private and bi_css +- ext4: fix memory leak in ext4_fill_super +- RDMA/ucma: Rework ucma_migrate_id() to avoid races with destroy +- RDMA/ucma: Add missing locking around rdma_leave_multicast() +- RDMA/ucma: Fix locking for ctx->events_reported +- RDMA/ucma: Put a lock around every call to the rdma_cm layer +- mm/memory-failure: make sure wait for page writeback in memory_failure +- can: bcm: fix infoleak in struct bcm_msg_head +- blk-wbt: make sure throttle is enabled properly +- blk-wbt: introduce a new disable state to prevent false positive by rwb_enabled() +- ext4: stop return ENOSPC from ext4_issue_zeroout +- dm btree remove: assign new_root only when removal succeeds +- block: call bdput() to avoid memleak +- scsi: remove unused kobj map for sd devie to avoid memleak +- tools build: Check if gettid() is available before providing helper +- tools build feature: Check if eventfd() is available +- tools build feature: Check if get_current_dir_name() is available +- perf tools: Use %define api.pure full instead of %pure-parser +- bpf: move new add member to the end of the struct bpf_prog_aux + +* Thu July 8 2021 Senlin Xia - 4.19.90-2106.3.0.0094 +- add buildrequire: perl-devel for with_perf + +* Thu Jun 17 2021 Cheng Jian - 4.19.90-2106.3.0.0093 +- cpuidle: fix container_of err in cpuidle_device and cpuidle_driver + +* Wed Jun 16 2021 Cheng Jian - 4.19.90-2106.2.0.0092 +- sched/membarrier: fix NULL poiner in membarrier_global_expedited +- writeback: don't warn on an unregistered BDI in __mark_inode_dirty + +* Tue Jun 15 2021 Cheng Jian - 4.19.90-2106.1.0.0091 +- fs/buffer.c: add checking buffer head stat before clear +- Bluetooth: SMP: Fail if remote and local public keys are identical +- Bluetooth: use correct lock to prevent UAF of hdev object +- Bluetooth: fix the erroneous flush_work() order +- iomap: Make sure iomap_end is called after iomap_begin +- x86/kvm: Add "nopvspin" parameter to disable PV spinlocks +- scsi: libsas: add lun number check in .slave_alloc callback +- nfc: fix NULL ptr dereference in llcp_sock_getname() after failed connect +- USB:ehci:fix Kunpeng920 ehci hardware problem +- nvme: don't warn on block content change effects +- block: recalculate segment count for multi-segment discards correctly +- nbd: Fix NULL pointer in flush_workqueue +- Bluetooth: Fix slab-out-of-bounds read in hci_extended_inquiry_result_evt() +- HID: make arrays usage and value to be the same +- ath10k: Validate first subframe of A-MSDU before processing the list +- mac80211: extend protection against mixed key and fragment cache attacks +- mac80211: do not accept/forward invalid EAPOL frames +- mac80211: prevent attacks on TKIP/WEP as well +- mac80211: check defrag PN against current frame +- mac80211: add fragment cache to sta_info +- mac80211: drop A-MSDUs on old ciphers +- cfg80211: mitigate A-MSDU aggregation attacks +- mac80211: properly handle A-MSDUs that start with an RFC 1042 header +- mac80211: prevent mixed key and fragment cache attacks +- mac80211: assure all fragments are encrypted +- mac80211: mark station unauthorized before key removal +- block: avoid creating invalid symlink file for patitions +- block: take bd_mutex around delete_partitions in del_gendisk +- NFSv4: Fix second deadlock in nfs4_evict_inode() +- NFSv4: Fix deadlock between nfs4_evict_inode() and nfs4_opendata_get_inode() +- NFSv4.1: fix handling of backchannel binding in BIND_CONN_TO_SESSION +- NFS: Don't gratuitously clear the inode cache when lookup failed +- NFS: Don't revalidate the directory permissions on a lookup failure +- NFS: nfs_delegation_find_inode_server must first reference the superblock +- nfs4: strengthen error check to avoid unexpected result +- NFS: Fix interrupted slots by sending a solo SEQUENCE operation +- NFS: Ensure we time out if a delegreturn does not complete +- NFSv4.0: nfs4_do_fsinfo() should not do implicit lease renewals +- NFS: Use kmemdup_nul() in nfs_readdir_make_qstr() +- NFSv3: FIx bug when using chacl and chmod to change acl +- NFSv4.x: Handle bad/dead sessions correctly in nfs41_sequence_process() +- NFSv4.1: Only reap expired delegations +- NFSv4.1: Fix open stateid recovery +- NFSv4.1: Don't process the sequence op more than once. +- NFS: Ensure NFS writeback allocations don't recurse back into NFS. +- nfs_remount(): don't leak, don't ignore LSM options quietly +- UACCE backport from mainline +- crypto: hisilicon-Cap block size at 2^31 +- crypto: hisilicon-hpre add req check when callback +- crypto: hisilicon- count send_ref when sending bd +- crypto: hisilicon-enhancement of qm DFX +- crypto: hisilicon-memory management optimization +- net: hns3: update hns3 version to 1.9.38.12 +- net: hns3: add match_id to check mailbox response from PF to VF +- net: hns3: fix possible mismatches resp of mailbox +- net: hns3: fix the logic for clearing resp_msg +- net: hns3: fix queue id check error when configure flow director rule by ethtool +- net: hns3: add check for HNS3_NIC_STATE_INITED before net open +- net: hns3: add waiting time before cmdq memory is released +- net: hns3: disable firmware compatible features when uninstall PF +- net: hns3: fix change RSS 'hfunc' ineffective issue +- net: hns3: fix inconsistent vf id print +- net: hns3: remove redundant variable initialization +- net: hns3: replace the tab before the left brace with one space +- net: hns3: fix hns3_cae_pfc_storm.h missing header guard problem +- net: hns3: modify an error type configuration +- net: hns3: put off calling register_netdev() until client initialize complete +- net: hns3: replace disable_irq by IRQ_NOAUTOEN flag +- net: hns3: update rss indirection table after setup tc +- net: hns3: don't change tc mqprio configuration when client is unregistered +- net: hns3: remove redundant client_setup_tc handle +- arm64/mpam: Fix use-after-free in mkdir_resctrl_prepare() + +* Sat Jun 05 2021 Cheng Jian - 4.19.90-2105.9.0.0090 +- selftests/bpf: add test_xfs_file.c and test_set_xfs_file.c +- bpf: add bpf_probe_read_str into bpf_helpers.h +- xfs: add writable tracepoint for xfs file buffer read +- readahead: introduce FMODE_WILLNEED to read first 2MB of file + +* Fri Jun 04 2021 Cheng Jian - 4.19.90-2105.8.0.0089 +- tools: libbpf: fix compiler error +- bpf: fix kabi for struct bpf_prog_aux and struct bpf_raw_event_map +- tools: bpftool: add raw_tracepoint_writable prog type to header +- tools: sync bpf.h +- bpf: add writable context for raw tracepoints +- x86/tsc: Respect tsc command line paraemeter for clocksource_tsc_early + +* Tue Jun 01 2021 Cheng Jian - 4.19.90-2105.6.0.0088 +- cpuidle: fix kabi broken in cpuidle_device and cpuidle_driver +- config: set default value of haltpoll +- ARM: cpuidle: Add support for cpuidle-haltpoll driver for ARM +- arm64: Add some definitions of kvm_para* +- cpuidle-haltpoll: Use arch_cpu_idle() to replace default_idle() +- arm64: Optimize ttwu IPI +- config: enable CONFIG_CPU_IDLE_GOV_HALTPOLL and CONFIG_HALTPOLL_CPUIDLE default +- KVM: polling: add architecture backend to disable polling +- cpuidle-haltpoll: Fix small typo +- cpuidle: haltpoll: allow force loading on hosts without the REALTIME hint +- cpuidle-haltpoll: Enable kvm guest polling when dedicated physical CPUs are available +- cpuidle-haltpoll: do not set an owner to allow modunload +- cpuidle-haltpoll: return -ENODEV on modinit failure +- cpuidle-haltpoll: vcpu hotplug support +- cpuidle-haltpoll: set haltpoll as preferred governor +- cpuidle: allow governor switch on cpuidle_register_driver() +- cpuidle: governor: Add new governors to cpuidle_governors again +- cpuidle: Add cpuidle.governor= command line parameter +- cpuidle-haltpoll: disable host side polling when kvm virtualized +- kvm: x86: add host poll control msrs +- cpuidle: add haltpoll governor +- governors: unify last_state_idx +- cpuidle: use first valid target residency as poll time +- cpuidle: header file stubs must be "static inline" +- cpuidle: add poll_limit_ns to cpuidle_device structure +- add cpuidle-haltpoll driver +- cpuidle: poll_state: Fix default time limit +- cpuidle: poll_state: Disregard disable idle states +- cpuidle: poll_state: Revise loop termination condition +- cpuidle: menu: Do not update last_state_idx in menu_select() +- bpf: No need to simulate speculative domain for immediates +- bpf: Fix mask direction swap upon off reg sign change +- bpf: Wrap aux data inside bpf_sanitize_info container + +* Tue Jun 01 2021 Cheng Jian - 4.19.90-2105.5.0.0087 +- ata: ahci: Disable SXS for Hisilicon Kunpeng920 +- fuse: don't ignore errors from fuse_writepages_fill() +- NFS: finish_automount() requires us to hold 2 refs to the mount record +- NFS: If nfs_mountpoint_expiry_timeout < 0, do not expire submounts +- NFS: remove unused check for negative dentry +- NFSv3: use nfs_add_or_obtain() to create and reference inodes +- NFS: Refactor nfs_instantiate() for dentry referencing callers +- sysfs: Remove address alignment constraint in sysfs_emit{_at} +- Revert "mm, sl[aou]b: guarantee natural alignment for kmalloc(power-of-two)" +- Revert "mm, sl[ou]b: improve memory accounting" +- Revert "mm: memcontrol: fix slub memory accounting" +- io_uring: truncate lengths larger than MAX_RW_COUNT on provide buffers +- arm/ras: Report ARM processor information to userspace +- fuse: update attr_version counter on fuse_notify_inval_inode() +- alinux: random: speed up the initialization of module +- net: mac802154: Fix general protection fault +- cipso,calipso: resolve a number of problems with the DOI refcounts +- Bluetooth: verify AMP hci_chan before amp_destroy +- net/nfc: fix use-after-free llcp_sock_bind/connect +- x86: Select HARDIRQS_SW_RESEND on x86 +- x86/apic/vector: Force interupt handler invocation to irq context + +* Wed May 26 2021 Cheng Jian - 4.19.90-2105.4.0.0086 +- tools arch x86: Sync asm/cpufeatures.h with the with the kernel +- cpufreq: intel_pstate: Also use CPPC nominal_perf for base_frequency +- ACPI / CPPC: Fix guaranteed performance handling +- perf vendor events: Add JSON metrics for Cascadelake server +- perf vendor events: Add stepping in CPUID string for x86 +- cpufreq: intel_pstate: Fix compilation for !CONFIG_ACPI +- cpufreq: intel_pstate: Add base_frequency attribute +- ACPI / CPPC: Add support for guaranteed performance +- EDAC, skx: Fix randconfig builds in a better way +- EDAC, skx: Fix randconfig builds +- EDAC, skx_edac: Add address translation for non-volatile DIMMs +- ACPI/ADXL: Add address translation interface using an ACPI DSM +- x86/mce: Add macros for the corrected error count bit field +- x86/mce: Use BIT_ULL(x) for bit mask definitions +- x86/cpufeatures: Enumerate the new AVX512 BFLOAT16 instructions +- tools/testing/selftests/exec: fix link error +- NFSv4.1: Don't rebind to the same source port when reconnecting to the server +- genirq: Sanitize state handling in check_irq_resend() +- genirq: Add return value to check_irq_resend() +- irqchip/gic-v2, v3: Prevent SW resends entirely +- irqchip/git-v3-its: Implement irq_retrigger callback for device-triggered LPIs +- irqchip/gic-v2, v3: Implement irq_chip->irq_retrigger() +- genirq: Walk the irq_data hierarchy when resending an interrupt +- genirq: Add protection against unsafe usage of generic_handle_irq() + +* Mon May 24 2021 Cheng Jian - 4.19.90-2105.3.0.0085 +- jbd2: don't abort the journal when freeing buffers +- jbd2: ensure abort the journal if detect IO error when writing original buffer back +- jbd2: remove the out label in __jbd2_journal_remove_checkpoint() +- x86/unwind/orc: Remove boot-time ORC unwind tables sorting +- scripts/sorttable: Implement build-time ORC unwind table sorting +- scripts/sorttable: Rename 'sortextable' to 'sorttable' +- scripts/sortextable: Refactor the do_func() function +- scripts/sortextable: Remove dead code +- scripts/sortextable: Clean up the code to meet the kernel coding style better +- scripts/sortextable: Rewrite error/success handling +- treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 378 +- ext4: Fix bug on in ext4_es_cache_extent as ext4_split_extent_at failed +- Revert "ext4: Fix bug on in ext4_es_cache_extent as ext4_split_extent_at failed" +- nfs4.0: Refetch lease_time after clientid update +- nfs4: Rename nfs41_setup_state_renewal +- nfs4: Make nfs4_proc_get_lease_time available for nfs4.0 +- nfs: Fix copy-and-paste error in debug message +- ext4: cleanup in-core orphan list if ext4_truncate() failed to get a transaction handle +- bluetooth: eliminate the potential race condition when removing the HCI controller +- mm: enhance variables check and sync for pin mem +- perf jit: Fix inaccurate DWARF line table +- perf jvmti: Remove redundant jitdump line table entries +- perf jvmti: Fix demangling Java symbols +- perf tests: Add test for the java demangler +- perf jvmti: Do not report error when missing debug information +- perf jvmti: Fix jitdump for methods without debug info +- bpf: Fix leakage of uninitialized bpf stack under speculation +- bpf: Fix masking negation logic upon negative dst register +- bcache: add readahead cache policy options via sysfs interface +- mm/page_alloc: fix managed_pages of zone is incorrect and out of bounds +- freezer: Add unsafe version of freezable_schedule_timeout_interruptible() for NFS +- NFS: Allow signal interruption of NFS4ERR_DELAYed operations +- SUNRPC: Make "no retrans timeout" soft tasks behave like softconn for timeouts +- SUNRPC: Don't let RPC_SOFTCONN tasks time out if the transport is connected +- ext4: fix check to prevent false positive report of incorrect used inodes +- livepatch/x86_64: Fix the deadlock when insmoding livepatch kernel module +- tools/testing/selftests: add self-test for verifying load alignment +- fs/binfmt_elf: use PT_LOAD p_align values for suitable start address +- ext4: introduce ext4_sb_bread_unmovable() to replace sb_bread_unmovable() +- ext4: use ext4_sb_bread() instead of sb_bread() +- ext4: introduce ext4_sb_breadahead_unmovable() to replace sb_breadahead_unmovable() +- ext4: use ext4_buffer_uptodate() in __ext4_get_inode_loc() +- ext4: use common helpers in all places reading metadata buffers +- ext4: introduce new metadata buffer read helpers +- ext4: treat buffers contining write errors as valid in ext4_sb_bread() +- bpf: Fix truncation handling for mod32 dst reg wrt zero +- bpf: Fix 32 bit src register truncation on div/mod +- arm64: bpf: implement jitting of JMP32 +- x86_64: bpf: implement jitting of JMP32 +- bpf: JIT blinds support JMP32 +- bpf: interpreter support for JMP32 +- tools: bpftool: teach cfg code about JMP32 +- bpf: disassembler support JMP32 +- bpf: verifier support JMP32 +- bpf: refactor verifier min/max code for condition jump +- bpf: allocate 0x06 to new eBPF instruction class JMP32 + +* Wed May 12 2021 Cheng Jian - 4.19.90-2105.2.0.0084 +- ovl: allow upperdir inside lowerdir +- ACPI: x86: Call acpi_boot_table_init() after acpi_table_upgrade() +- ACPI: tables: x86: Reserve memory occupied by ACPI tables +- x86/crash: Fix crash_setup_memmap_entries() out-of-bounds access +- locking/qrwlock: Fix ordering in queued_write_lock_slowpath() +- net: ip6_tunnel: Unregister catch-all devices +- netfilter: nft_limit: avoid possible divide error in nft_limit_init +- netfilter: conntrack: do not print icmpv6 as unknown via /proc +- scsi: libsas: Reset num_scatter if libata marks qc as NODATA +- arm64: alternatives: Move length validation in alternative_{insn, endif} +- arm64: fix inline asm in load_unaligned_zeropad() +- readdir: make sure to verify directory entry for legacy interfaces too +- neighbour: Disregard DEAD dst in neigh_update +- driver core: Fix locking bug in deferred_probe_timeout_work_func() +- netfilter: x_tables: fix compat match/target pad out-of-bound write +- workqueue: Move the position of debug_work_activate() in __queue_work() +- xfrm: interface: fix ipv4 pmtu check to honor ip header df +- net-ipv6: bugfix - raw & sctp - switch to ipv6_can_nonlocal_bind() +- net: ensure mac header is set in virtio_net_hdr_to_skb() +- fs: direct-io: fix missing sdio->boundary +- net: ipv6: check for validity before dereferencing cfg->fc_nlinfo.nlh +- cifs: Silently ignore unknown oplock break handle +- cifs: revalidate mapping when we open files for SMB1 POSIX +- scsi: target: pscsi: Clean up after failure in pscsi_map_sg() +- mm: fix race by making init_zero_pfn() early_initcall +- tracing: Fix stack trace event size +- PM: runtime: Fix ordering in pm_runtime_get_suppliers() +- PM: runtime: Fix race getting/putting suppliers at probe +- ext4: do not iput inode under running transaction in ext4_rename() +- locking/ww_mutex: Simplify use_ww_ctx & ww_ctx handling +- thermal/core: Add NULL pointer check before using cooling device stats +- scsi: st: Fix a use after free in st_open() +- vhost: Fix vhost_vq_reset() +- rpc: fix NULL dereference on kmalloc failure +- ext4: fix bh ref count on error paths +- ipv6: weaken the v4mapped source check +- tcp: relookup sock for RST+ACK packets handled by obsolete req sock +- nfs: we don't support removing system.nfs4_acl +- NFSv4.2: fix return value of _nfs4_get_security_label() +- nfs: fix PNFS_FLEXFILE_LAYOUT Kconfig default +- pNFS/NFSv4: Try to return invalid layout in pnfs_layout_process() +- pNFS/NFSv4: Fix a layout segment leak in pnfs_layout_process() +- NFSv4.2: condition READDIR's mask for security label based on LSM state +- NFSv4.2: support EXCHGID4_FLAG_SUPP_FENCE_OPS 4.2 EXCHANGE_ID flag +- NFS: fix nfs_path in case of a rename retry +- NFSv4.1 handle ERR_DELAY error reclaiming locking state on delegation recall +- NFS: Don't return layout segments that are in use +- NFS: Don't move layouts to plh_return_segs list while in use +- SUNRPC reverting d03727b248d0 ("NFSv4 fix CLOSE not waiting for direct IO compeletion") +- NFSv4 fix CLOSE not waiting for direct IO compeletion +- NFSv4.1 fix rpc_call_done assignment for BIND_CONN_TO_SESSION +- nfs: Fix potential posix_acl refcnt leak in nfs3_set_acl +- NFSv4/pnfs: Return valid stateids in nfs_layout_find_inode_by_stateid() +- NFSv4.1 make cachethis=no for writes +- NFS/pnfs: Fix pnfs_generic_prepare_to_resend_writes() +- NFS/pnfs: Bulk destroy of layouts needs to be safe w.r.t. umount +- cgroup/files: support boot parameter to control if disable files cgroup +- efi: Fix a race and a buffer overflow while reading efivars via sysfs +- RDMA/hns: Allocate one more recv SGE for HIP08 +- mm: memcontrol: fix slub memory accounting +- mm, sl[ou]b: improve memory accounting +- mm: fix numa stats for thp migration +- mm/vmscan: count layzfree pages and fix nr_isolated_* mismatch +- SUNRPC: Close a race with transport setup and module put +- sunrpc: Change the place of endtime in struct krb5_ctx +- bpf: Tighten speculative pointer arithmetic mask +- bpf: Move sanitize_val_alu out of op switch +- bpf: Refactor and streamline bounds check into helper +- bpf: Improve verifier error messages for users +- bpf: Rework ptr_limit into alu_limit and add common error path +- bpf: Ensure off_reg has no mixed signed bounds for all types +- bpf: Move off_reg into sanitize_ptr_alu +- bpf: Add sanity check for upper ptr_limit +- bpf: Simplify alu_limit masking for pointer arithmetic + +* Tue May 11 2021 Cheng Jian - 4.19.90-2104.26.0.0083 +- pid: fix pid recover method kabi change +- config: enable kernel hotupgrade features by default +- kexec: Add quick kexec support for kernel +- arm64: smp: Add support for cpu park +- pid: add pid reserve method for checkpoint and restore +- mm: add pin memory method for checkpoint add restore +- Revert "sched: Introduce qos scheduler for co-location" +- Revert "sched: Throttle qos cfs_rq when current cpu is running online task" +- Revert "sched: Enable qos scheduler config" +- Revert "memcg: support priority for oom" +- Revert "memcg: enable CONFIG_MEMCG_QOS by default" +- Revert "memcg: fix kabi broken when enable CONFIG_MEMCG_QOS" +- f2fs: fix to avoid out-of-bounds memory access +- ext4: Reduce ext4 timestamp warnings +- livepatch: Restoring code segment permissions after stop_machine completed +- livepatch: Delete redundant variable 'flag' +- memcg: fix kabi broken when enable CONFIG_MEMCG_QOS +- memcg: enable CONFIG_MEMCG_QOS by default +- memcg: support priority for oom +- sched: Enable qos scheduler config +- sched: Throttle qos cfs_rq when current cpu is running online task +- sched: Introduce qos scheduler for co-location +- ipv6: route: convert comma to semicolon +- ipv6/route: Add a missing check on proc_dointvec +- netfilter: xtables: avoid BUG_ON +- SUNRPC: Test whether the task is queued before grabbing the queue spinlocks +- SUNRPC: If there is no reply expected, bail early from call_decode +- SUNRPC: Fix backchannel latency metrics +- sunrpc: convert to time64_t for expiry +- sunrpc: Fix potential leaks in sunrpc_cache_unhash() +- SUNRPC: Skip zero-refcount transports +- SUNRPC: Fix buffer handling of GSS MIC without slack +- SUNRPC: Don't allow compiler optimisation of svc_xprt_release_slot() +- SUNRPC/nfs: Fix return value for nfs4_callback_compound() +- net/sunrpc: return 0 on attempt to write to "transports" +- net/sunrpc: Fix return value for sysctl sunrpc.transports +- sunrpc: raise kernel RPC channel buffer size +- sunrpc: add missing newline when printing parameter 'pool_mode' by sysfs +- xprtrdma: Fix trace point use-after-free race +- SUNRPC: Fix backchannel RPC soft lockups +- SUNRPC/cache: Fix unsafe traverse caused double-free in cache_purge +- nfsd: export upcalls must not return ESTALE when mountd is down +- sunrpc/cache: handle missing listeners better. +- xprtrdma: Fix handling of RDMA_ERROR replies +- xprtrdma: Expose transport header errors +- sunrpc: destroy rpc_inode_cachep after unregister_filesystem +- xprtrdma: fix incorrect header size calculations +- nvme: fix ns removal hang when failing to revalidate due to a transient error +- kernel/cputime: do not update cputime when cpu offline +- perf/x86: Always store regs->ip in perf_callchain_kernel() +- perf/x86: Make perf callchains work without CONFIG_FRAME_POINTER +- irqchip/gic-v3: Do not enable irqs when handling spurious interrups +- config: enable CONFIG_HW_RANDOM_HISI_V2 by default +- hwrng: add data_mode to support rand data with post process +- hwrng: add HiSilicon TRNG driver + +* Sun Apr 25 2021 Cheng Jian - 4.19.90-2104.21.0.0082 +- bcache: Rewrite patch to delay to invalidate cache data +- nfc: Avoid endless loops caused by repeated llcp_sock_connect() +- nfc: fix memory leak in llcp_sock_connect() +- nfc: fix refcount leak in llcp_sock_connect() +- nfc: fix refcount leak in llcp_sock_bind() + +* Thu Apr 22 2021 Cheng Jian - 4.19.90-2104.19.0.0081 +- KVM: arm64: Support the vCPU preemption check +- KVM: arm64: Add interface to support vCPU preempted check +- KVM: arm64: Support pvsched preempted via shared structure +- KVM: arm64: Implement PV_SCHED_FEATURES call +- KVM: arm64: Document PV-sched interface +- KVM: Check preempted_in_kernel for involuntary preemption +- KVM: Boost vCPUs that are delivering interrupts +- arm64/spinlock: fix a -Wunused-function warning +- locking/osq: Use optimized spinning loop for arm64 +- arm/arm64: Make use of the SMCCC 1.1 wrapper +- arm/arm64: Provide a wrapper for SMCCC 1.1 calls +- KVM: Implement kvm_put_guest() +- KVM: arm/arm64: Factor out hypercall handling from PSCI code + +* Thu Apr 22 2021 Cheng Jian - 4.19.90-2104.18.0.0080 +- bcache: Add a sample of userspace prefetch client +- bcache: Delay to invalidate cache data in writearound write +- bcache: inflight prefetch requests block overlapped normal requests +- bcache: provide a switch to bypass all IO requests +- bcache: add a framework to perform prefetch + +* Thu Apr 22 2021 Cheng Jian - 4.19.90-2104.17.0.0079 +- net/hinic: Fix null pointer dereference in hinic_physical_port_id +- kvm: debugfs: Export x86 kvm exits to vcpu_stat +- ext4: fix time overflow +- ext4: drop legacy pre-1970 encoding workaround +- fuse: fix live lock in fuse_iget() +- fuse: fix bad inode +- net/sctp: fix race condition in sctp_destroy_sock +- config: set config hip08 prefetch default value +- ext4: do not set SB_ACTIVE in ext4_orphan_cleanup() +- RDMA/hns: add eq and cq time cfg compatibility support. +- nvme: fix incorrect behavior when BLKROSET is called by the user +- nvme-fc: fix error loop in create_hw_io_queues +- nvme-fc: Fix wrong return value in __nvme_fc_init_request() +- nvme-multipath: fix deadlock between ana_work and scan_work +- nvme: fix deadlock caused by ANA update wrong locking +- nvme-multipath: Fix memory leak with ana_log_buf +- nvme-fc: fix module unloads while lports still pending +- ipmi: remve duplicate code in __ipmi_bmc_register() +- ipmi_si_intf: Fix race in timer shutdown handling +- ipmi_ssif: fix unexpected driver unregister warning +- ipmi_si: fix unexpected driver unregister warning +- ipmi:ssif: Only unregister the platform driver if it was registered +- ipmi: Make ipmi_interfaces_srcu variable static +- ipmi: Fix return value when a message is truncated +- ipmi: Free the address list on module cleanup +- net: hns3: clear VF down state bit before request link status +- config: disable config ARM64_BOOTPARAM_HOTPLUG_CPU0 by default +- config: disable CONFIG_SATA_ZHAOXIN by default + +* Thu Apr 15 2021 Cheng Jian - 4.19.90-2104.16.0.0078 +- config/arm64: fix kabi by disable CONFIG_NVME_MULTIPATH + +* Thu Apr 15 2021 Cheng Jian - 4.19.90-2104.15.0.0077 +- config/x86: enable SHRINK_PAGECACHE +- arm64: Add config switch and kernel parameter for CPU0 hotplug + +* Thu Apr 15 2021 Cheng Jian - 4.19.90-2104.14.0.0076 +- arm64: errata: enable HISILICON_ERRATUM_HIP08_RU_PREFETCH +- arm64: errata: fix kabi changed for cpu_errata +- arm64: errata: add option to disable cache readunique prefetch on 1620 + +* Thu Apr 15 2021 Cheng Jian - 4.19.90-2104.13.0.0075 +- firewire: nosy: Fix a use-after-free bug in nosy_ioctl() + +* Thu Apr 15 2021 Cheng Jian - 4.19.90-2104.12.0.0074 +- iommu/arm-smmu-v3: Reduce contention during command-queue insertion +- iommu/arm-smmu-v3: Operate directly on low-level queue where possible +- iommu/arm-smmu-v3: Move low-level queue fields out of arm_smmu_queue +- iommu/arm-smmu-v3: Drop unused 'q' argument from Q_OVF macro +- iommu/arm-smmu-v3: Separate s/w and h/w views of prod and cons indexes +- iommu/io-pgtable: Rename iommu_gather_ops to iommu_flush_ops +- iommu/io-pgtable-arm: Remove redundant call to io_pgtable_tlb_sync() +- iommu/arm-smmu-v3: Increase maximum size of queues +- iommu/io-pgtable: Replace IO_PGTABLE_QUIRK_NO_DMA with specific flag +- iommu: Allow io-pgtable to be used outside of drivers/iommu/ +- iommu: Fix flush_tlb_all typo +- iommu: Change tlb_range_add to iotlb_range_add and tlb_sync to iotlb_sync + +* Thu Apr 15 2021 Cheng Jian - 4.19.90-2104.11.0.0073 +- io_uring: order refnode recycling +- io_uring: get an active ref_node from files_data +- io_uring: fix racy req->flags modification +- io_uring: defer file table grabbing request cleanup for locked requests +- io_uring: batch put_task_struct() +- tasks: add put_task_struct_many() +- io_uring: fix missing io_queue_linked_timeout() +- io_uring: deduplicate io_grab_files() calls +- io_uring: don't do opcode prep twice +- io_uring: don't open-code recv kbuf managment +- io_uring: extract io_put_kbuf() helper +- io_uring: simplify file ref tracking in submission state +- io_uring: move BUFFER_SELECT check into *recv[msg] +- io_uring: free selected-bufs if error'ed +- io_uring: don't forget cflags in io_recv() +- io_uring: remove extra checks in send/recv +- io_uring: indent left {send,recv}[msg]() +- io-wq: update hash bits +- io_uring: get rid of atomic FAA for cq_timeouts +- io_uring: consolidate *_check_overflow accounting +- io_uring: de-unionise io_kiocb +- io_uring: follow **iovec idiom in io_import_iovec +- io_uring: mark ->work uninitialised after cleanup +- io_uring/io-wq: move RLIMIT_FSIZE to io-wq +- io_uring: alloc ->io in io_req_defer_prep() +- io_uring: inline io_req_work_grab_env() +- io_uring: fix racy IOPOLL completions +- io_uring: always let io_iopoll_complete() complete polled io +- io_uring: don't recurse on tsk->sighand->siglock with signalfd +- io_uring: don't use poll handler if file can't be nonblocking read/written +- io_uring: fix linked deferred ->files cancellation +- io_uring: fix cancel of deferred reqs with ->files +- io_uring: flush timeouts that should already have expired +- io_uring: find and cancel head link async work on files exit +- io_uring: always plug for any number of IOs +- io_uring: fix recursive completion locking on oveflow flush +- io_uring: enable lookup of links holding inflight files +- io_uring: place cflags into completion data +- io_uring: remove sequence from io_kiocb +- io_uring: use non-intrusive list for defer +- io_uring: remove init for unused list +- io_uring: add req->timeout.list +- io_uring: use completion list for CQ overflow +- io_uring: use inflight_entry list for iopoll'ing +- io_uring: rename ctx->poll into ctx->iopoll +- io_uring: share completion list w/ per-op space +- io_uring: get rid of __req_need_defer() +- io_uring: only call kfree() for a non-zero pointer +- io_uring: fix a use after free in io_async_task_func() +- io_uring: remove nr_events arg from iopoll_check() +- io_uring: don't delay iopoll'ed req completion +- io_uring: fix lost cqe->flags +- io_uring: keep queue_sqe()'s fail path separately +- io_uring: fix mis-refcounting linked timeouts +- io_uring: use new io_req_task_work_add() helper throughout +- io_uring: abstract out task work running +- io_uring: do grab_env() just before punting +- io_uring: factor out grab_env() from defer_prep() +- io_uring: do init work in grab_env() +- io_uring: don't pass def into io_req_work_grab_env +- io_uring: fix function args for !CONFIG_NET +- io_uring: set @poll->file after @poll init +- io_uring: remove REQ_F_MUST_PUNT +- io_uring: remove setting REQ_F_MUST_PUNT in rw +- io_uring: optimise io_req_find_next() fast check +- io_uring: kill REQ_F_TIMEOUT_NOSEQ +- io_uring: kill REQ_F_TIMEOUT +- io_uring: replace find_next() out param with ret +- io_uring: fix missing io_grab_files() +- io_uring: don't mark link's head for_async +- io_uring: fix feeding io-wq with uninit reqs +- io_uring: fix punting req w/o grabbed env +- io_uring: fix req->work corruption +- io_uring: simplify io_async_task_func() +- io_uring: fix NULL mm in io_poll_task_func() +- io_uring: use task_work for links if possible +- io_uring: do task_work_run() during iopoll +- io_uring: clean up req->result setting by rw +- io_uring: cosmetic changes for batch free +- io_uring: batch-free linked requests as well +- io_uring: dismantle req early and remove need_iter +- io_uring: remove inflight batching in free_many() +- io_uring: fix refs underflow in io_iopoll_queue() +- io_uring: enable READ/WRITE to use deferred completions +- io_uring: pass in completion state to appropriate issue side handlers +- io_uring: pass down completion state on the issue side +- io_uring: add 'io_comp_state' to struct io_submit_state +- io_uring: provide generic io_req_complete() helper +- io_uring: add missing REQ_F_COMP_LOCKED for nested requests +- io_uring: clean up io_kill_linked_timeout() locking +- io_uring: deduplicate freeing linked timeouts +- io_uring: kill REQ_F_LINK_NEXT +- io_uring: fix stalled deferred requests +- io_uring: add IORING_OP_OPENAT2 for compatablity +- arm64: fix kabi with io_uring interface +- x86: fix kabi with io_uring interface +- io_uring: fix provide_buffers sign extension +- io_uring: ignore double poll add on the same waitqueue head +- io_uring: fix SQPOLL IORING_OP_CLOSE cancelation state +- io_uring: make ctx cancel on exit targeted to actual ctx +- io_uring: fix error path cleanup in io_sqe_files_register() +- io_uring: ensure open/openat2 name is cleaned on cancelation +- io_uring: sanitize double poll handling +- io_uring: fail poll arm on queue proc failure +- io_uring: allow non-fixed files with SQPOLL +- io_uring: ensure consistent view of original task ->mm from SQPOLL +- io_uring: stash ctx task reference for SQPOLL +- io_uring: don't miscount pinned memory +- io_uring: don't burn CPU for iopoll on exit +- io_uring: fix imbalanced sqo_mm accounting +- io_uring: return locked and pinned page accounting +- io_uring: fix missing ->mm on exit +- io_uring: fix NULL-mm for linked reqs +- io_uring: account locked memory before potential error case +- io_uring: don't touch 'ctx' after installing file descriptor +- io_uring: remove dead 'ctx' argument and move forward declaration +- io_uring: fix recvmsg setup with compat buf-select +- io_uring: fix shift-out-of-bounds when round up cq size +- io_uring: round-up cq size before comparing with rounded sq size +- io_uring: use type appropriate io_kiocb handler for double poll +- io_uring: fix double poll mask init +- io_uring: Fix sizeof() mismatch +- io_uring: keep a pointer ref_node in file_data +- io_uring: refactor *files_register()'s error paths +- io_uring: clean file_data access in files_register +- io-wq: fix use-after-free in io_wq_worker_running +- io_uring: fix potential ABBA deadlock in ->show_fdinfo() +- io_uring: always delete double poll wait entry on match +- io-wq: fix hang after cancelling pending hashed work +- io_uring: fix racy overflow count reporting +- io_uring: partially inline io_iopoll_getevents() +- io_uring: briefly loose locks while reaping events +- io_uring: fix stopping iopoll'ing too early +- io_uring: fix potential use after free on fallback request free +- io_uring: set table->files[i] to NULL when io_sqe_file_register failed +- io_uring: fix removing the wrong file in __io_sqe_files_update() +- io_uring: fix IOPOLL -EAGAIN retries +- io_uring: clear req->result on IOPOLL re-issue +- io_uring: hold 'ctx' reference around task_work queue + execute +- io_uring: use TWA_SIGNAL for task_work uncondtionally +- io_uring: Fix NULL pointer dereference in loop_rw_iter() +- io_uring: clear IORING_SQ_NEED_WAKEUP after executing task works +- io_uring: add a helper for async rw iovec prep +- io_uring: simplify io_req_map_rw() +- io_uring: extract io_sendmsg_copy_hdr() +- io_uring: use more specific type in rcv/snd msg cp +- io_uring: rename sr->msg into umsg +- io_uring: fix sq array offset calculation +- io_uring: fix lockup in io_fail_links() +- io_uring: fix ->work corruption with poll_add +- io_uring: missed req_init_async() for IOSQE_ASYNC +- io_uring: always allow drain/link/hardlink/async sqe flags +- io_uring: ensure double poll additions work with both request types +- io_uring: fix recvmsg memory leak with buffer selection +- io_uring: fix not initialised work->flags +- io_uring: fix missing msg_name assignment +- io_uring: account user memory freed when exit has been queued +- io_uring: fix memleak in io_sqe_files_register() +- io_uring: fix memleak in __io_sqe_files_update() +- io_uring: export cq overflow status to userspace +- io_uring: fix regression with always ignoring signals in io_cqring_wait() +- io_uring: use signal based task_work running +- task_work: teach task_work_add() to do signal_wake_up() +- io_uring: fix current->mm NULL dereference on exit +- io_uring: fix hanging iopoll in case of -EAGAIN +- io_uring: fix io_sq_thread no schedule when busy +- io-wq: return next work from ->do_work() directly +- io-wq: compact io-wq flags numbers +- io_uring: separate reporting of ring pages from registered pages +- io_uring: report pinned memory usage +- io_uring: rename ctx->account_mem field +- io_uring: add wrappers for memory accounting +- io_uring: use EPOLLEXCLUSIVE flag to aoid thundering herd type behavior +- io_uring: change the poll type to be 32-bits +- io_uring: fix possible race condition against REQ_F_NEED_CLEANUP +- io_uring: reap poll completions while waiting for refs to drop on exit +- io_uring: acquire 'mm' for task_work for SQPOLL +- io_uring: add memory barrier to synchronize io_kiocb's result and iopoll_completed +- io_uring: don't fail links for EAGAIN error in IOPOLL mode +- io_uring: cancel by ->task not pid +- io_uring: lazy get task +- io_uring: batch cancel in io_uring_cancel_files() +- io_uring: cancel all task's requests on exit +- io-wq: add an option to cancel all matched reqs +- io-wq: reorder cancellation pending -> running +- io_uring: fix lazy work init +- io_uring: fix io_kiocb.flags modification race in IOPOLL mode +- io_uring: check file O_NONBLOCK state for accept +- io_uring: avoid unnecessary io_wq_work copy for fast poll feature +- io_uring: avoid whole io_wq_work copy for requests completed inline +- io_uring: allow O_NONBLOCK async retry +- io_wq: add per-wq work handler instead of per work +- io_uring: don't arm a timeout through work.func +- io_uring: remove custom ->func handlers +- io_uring: don't derive close state from ->func +- io_uring: use kvfree() in io_sqe_buffer_register() +- io_uring: validate the full range of provided buffers for access +- io_uring: re-set iov base/len for buffer select retry +- io_uring: move send/recv IOPOLL check into prep +- io_uring: fix {SQ,IO}POLL with unsupported opcodes +- io_uring: disallow close of ring itself +- io_uring: fix overflowed reqs cancellation +- io_uring: off timeouts based only on completions +- io_uring: move timeouts flushing to a helper +- statx: hide interfaces no longer used by io_uring +- io_uring: call statx directly +- statx: allow system call to be invoked from io_uring +- io_uring: add io_statx structure +- io_uring: get rid of manual punting in io_close +- io_uring: separate DRAIN flushing into a cold path +- io_uring: don't re-read sqe->off in timeout_prep() +- io_uring: simplify io_timeout locking +- io_uring: fix flush req->refs underflow +- io_uring: don't submit sqes when ctx->refs is dying +- io_uring: async task poll trigger cleanup +- io_uring: add tee(2) support +- splice: export do_tee() +- io_uring: don't repeat valid flag list +- io_uring: rename io_file_put() +- io_uring: remove req->needs_fixed_files +- io_uring: cleanup io_poll_remove_one() logic +- io_uring: file registration list and lock optimization +- io_uring: add IORING_CQ_EVENTFD_DISABLED to the CQ ring flags +- io_uring: add 'cq_flags' field for the CQ ring +- io_uring: allow POLL_ADD with double poll_wait() users +- io_uring: batch reap of dead file registrations +- io_uring: name sq thread and ref completions +- io_uring: remove duplicate semicolon at the end of line +- io_uring: remove obsolete 'state' parameter +- io_uring: remove 'fd is io_uring' from close path +- io_uring: reset -EBUSY error when io sq thread is waken up +- io_uring: don't add non-IO requests to iopoll pending list +- io_uring: don't use kiocb.private to store buf_index +- io_uring: cancel work if task_work_add() fails +- io_uring: remove dead check in io_splice() +- io_uring: fix FORCE_ASYNC req preparation +- io_uring: don't prepare DRAIN reqs twice +- io_uring: initialize ctx->sqo_wait earlier +- io_uring: polled fixed file must go through free iteration +- io_uring: fix zero len do_splice() +- io_uring: don't use 'fd' for openat/openat2/statx +- splice: move f_mode checks to do_{splice,tee}() +- io_uring: handle -EFAULT properly in io_uring_setup() +- io_uring: fix mismatched finish_wait() calls in io_uring_cancel_files() +- io_uring: punt splice async because of inode mutex +- io_uring: check non-sync defer_list carefully +- io_uring: fix extra put in sync_file_range() +- io_uring: use cond_resched() in io_ring_ctx_wait_and_kill() +- io_uring: use proper references for fallback_req locking +- io_uring: only force async punt if poll based retry can't handle it +- io_uring: enable poll retry for any file with ->read_iter / ->write_iter +- io_uring: statx must grab the file table for valid fd +- io_uring: only restore req->work for req that needs do completion +- io_uring: don't count rqs failed after current one +- io_uring: kill already cached timeout.seq_offset +- io_uring: fix cached_sq_head in io_timeout() +- io_uring: only post events in io_poll_remove_all() if we completed some +- io_uring: io_async_task_func() should check and honor cancelation +- io_uring: check for need to re-wait in polled async handling +- io_uring: correct O_NONBLOCK check for splice punt +- io_uring: restore req->work when canceling poll request +- io_uring: move all request init code in one place +- io_uring: keep all sqe->flags in req->flags +- io_uring: early submission req fail code +- io_uring: track mm through current->mm +- io_uring: remove obsolete @mm_fault +- io_uring: punt final io_ring_ctx wait-and-free to workqueue +- io_uring: fix fs cleanup on cqe overflow +- io_uring: don't read user-shared sqe flags twice +- io_uring: remove req init from io_get_req() +- io_uring: alloc req only after getting sqe +- io_uring: simplify io_get_sqring +- io_uring: do not always copy iovec in io_req_map_rw() +- io_uring: ensure openat sets O_LARGEFILE if needed +- io_uring: initialize fixed_file_data lock +- io_uring: remove redundant variable pointer nxt and io_wq_assign_next call +- io_uring: fix ctx refcounting in io_submit_sqes() +- io_uring: process requests completed with -EAGAIN on poll list +- io_uring: remove bogus RLIMIT_NOFILE check in file registration +- io_uring: use io-wq manager as backup task if task is exiting +- io_uring: grab task reference for poll requests +- io_uring: retry poll if we got woken with non-matching mask +- io_uring: add missing finish_wait() in io_sq_thread() +- io_uring: refactor file register/unregister/update handling +- io_uring: cleanup io_alloc_async_ctx() +- io_uring: fix missing 'return' in comment +- io-wq: handle hashed writes in chains +- io-uring: drop 'free_pfile' in struct io_file_put +- io-uring: drop completion when removing file +- io_uring: Fix ->data corruption on re-enqueue +- io-wq: close cancel gap for hashed linked work +- io_uring: make spdxcheck.py happy +- io_uring: honor original task RLIMIT_FSIZE +- io-wq: hash dependent work +- io-wq: split hashing and enqueueing +- io-wq: don't resched if there is no work +- io-wq: remove duplicated cancel code +- io_uring: fix truncated async read/readv and write/writev retry +- io_uring: dual license io_uring.h uapi header +- io_uring: io_uring_enter(2) don't poll while SETUP_IOPOLL|SETUP_SQPOLL enabled +- io_uring: Fix unused function warnings +- io_uring: add end-of-bits marker and build time verify it +- io_uring: provide means of removing buffers +- io_uring: add IOSQE_BUFFER_SELECT support for IORING_OP_RECVMSG +- net: abstract out normal and compat msghdr import +- io_uring: add IOSQE_BUFFER_SELECT support for IORING_OP_READV +- io_uring: support buffer selection for OP_READ and OP_RECV +- io_uring: add IORING_OP_PROVIDE_BUFFERS +- io_uring: buffer registration infrastructure +- io_uring/io-wq: forward submission ref to async +- io-wq: optimise out *next_work() double lock +- io-wq: optimise locking in io_worker_handle_work() +- io-wq: shuffle io_worker_handle_work() code +- io_uring: get next work with submission ref drop +- io_uring: remove @nxt from handlers +- io_uring: make submission ref putting consistent +- io_uring: clean up io_close +- io_uring: Ensure mask is initialized in io_arm_poll_handler +- io_uring: remove io_prep_next_work() +- io_uring: remove extra nxt check after punt +- io_uring: use poll driven retry for files that support it +- io_uring: mark requests that we can do poll async in io_op_defs +- io_uring: add per-task callback handler +- io_uring: store io_kiocb in wait->private +- task_work_run: don't take ->pi_lock unconditionally +- io-wq: use BIT for ulong hash +- io_uring: remove IO_WQ_WORK_CB +- io-wq: remove unused IO_WQ_WORK_HAS_MM +- io_uring: extract kmsg copy helper +- io_uring: clean io_poll_complete +- io_uring: add splice(2) support +- io_uring: add interface for getting files +- splice: make do_splice public +- io_uring: remove req->in_async +- io_uring: don't do full *prep_worker() from io-wq +- io_uring: don't call work.func from sync ctx +- io_uring: io_accept() should hold on to submit reference on retry +- io_uring: consider any io_read/write -EAGAIN as final +- io_uring: make sure accept honor rlimit nofile +- io_uring: make sure openat/openat2 honor rlimit nofile +- io_uring: NULL-deref for IOSQE_{ASYNC,DRAIN} +- io_uring: ensure RCU callback ordering with rcu_barrier() +- io_uring: fix lockup with timeouts +- io_uring: free fixed_file_data after RCU grace period +- io-wq: remove io_wq_flush and IO_WQ_WORK_INTERNAL +- io-wq: fix IO_WQ_WORK_NO_CANCEL cancellation +- io_uring: fix 32-bit compatability with sendmsg/recvmsg +- io_uring: define and set show_fdinfo only if procfs is enabled +- io_uring: drop file set ref put/get on switch +- io_uring: import_single_range() returns 0/-ERROR +- io_uring: pick up link work on submit reference drop +- io-wq: ensure work->task_pid is cleared on init +- io-wq: remove spin-for-work optimization +- io_uring: fix poll_list race for SETUP_IOPOLL|SETUP_SQPOLL +- io_uring: fix personality idr leak +- io_uring: handle multiple personalities in link chains +- io_uring: fix __io_iopoll_check deadlock in io_sq_thread +- io_uring: prevent sq_thread from spinning when it should stop +- io_uring: fix use-after-free by io_cleanup_req() +- io_uring: remove unnecessary NULL checks +- io_uring: add missing io_req_cancelled() +- io_uring: prune request from overflow list on flush +- io-wq: don't call kXalloc_node() with non-online node +- io_uring: retain sockaddr_storage across send/recvmsg async punt +- io_uring: cancel pending async work if task exits +- io-wq: add io_wq_cancel_pid() to cancel based on a specific pid +- io-wq: make io_wqe_cancel_work() take a match handler +- io_uring: fix openat/statx's filename leak +- io_uring: fix double prep iovec leak +- io_uring: fix async close() with f_op->flush() +- io_uring: allow AT_FDCWD for non-file openat/openat2/statx +- io_uring: grab ->fs as part of async preparation +- io-wq: add support for inheriting ->fs +- io_uring: retry raw bdev writes if we hit -EOPNOTSUPP +- io_uring: add cleanup for openat()/statx() +- io_uring: fix iovec leaks +- io_uring: remove unused struct io_async_open +- io_uring: flush overflowed CQ events in the io_uring_poll() +- io_uring: statx/openat/openat2 don't support fixed files +- io_uring: fix deferred req iovec leak +- io_uring: fix 1-bit bitfields to be unsigned +- io_uring: get rid of delayed mm check +- io_uring: cleanup fixed file data table references +- io_uring: spin for sq thread to idle on shutdown +- io_uring: put the flag changing code in the same spot +- io_uring: iterate req cache backwards +- io_uring: punt even fadvise() WILLNEED to async context +- io_uring: fix sporadic double CQE entry for close +- io_uring: remove extra ->file check +- io_uring: don't map read/write iovec potentially twice +- io_uring: use the proper helpers for io_send/recv +- io_uring: prevent potential eventfd recursion on poll +- io_uring: add BUILD_BUG_ON() to assert the layout of struct io_uring_sqe +- io_uring: add ->show_fdinfo() for the io_uring file descriptor +- io_uring: add support for epoll_ctl(2) +- eventpoll: support non-blocking do_epoll_ctl() calls +- eventpoll: abstract out epoll_ctl() handler +- io_uring: fix linked command file table usage +- io_uring: support using a registered personality for commands +- io_uring: allow registering credentials +- io_uring: add io-wq workqueue sharing +- io-wq: allow grabbing existing io-wq +- io_uring/io-wq: don't use static creds/mm assignments +- io-wq: make the io_wq ref counted +- io_uring: fix refcounting with batched allocations at OOM +- io_uring: add comment for drain_next +- io_uring: don't attempt to copy iovec for READ/WRITE +- io_uring: honor IOSQE_ASYNC for linked reqs +- io_uring: prep req when do IOSQE_ASYNC +- io_uring: use labeled array init in io_op_defs +- io_uring: optimise sqe-to-req flags translation +- io_uring: remove REQ_F_IO_DRAINED +- io_uring: file switch work needs to get flushed on exit +- io_uring: hide uring_fd in ctx +- io_uring: remove extra check in __io_commit_cqring +- io_uring: optimise use of ctx->drain_next +- io_uring: add support for probing opcodes +- io_uring: account fixed file references correctly in batch +- io_uring: add opcode to issue trace event +- io_uring: remove 'fname' from io_open structure +- io_uring: enable option to only trigger eventfd for async completions +- io_uring: change io_ring_ctx bool fields into bit fields +- io_uring: file set registration should use interruptible waits +- io_uring: Remove unnecessary null check +- io_uring: add support for send(2) and recv(2) +- io_uring: remove extra io_wq_current_is_worker() +- io_uring: optimise commit_sqring() for common case +- io_uring: optimise head checks in io_get_sqring() +- io_uring: clamp to_submit in io_submit_sqes() +- io_uring: add support for IORING_SETUP_CLAMP +- io_uring: extend batch freeing to cover more cases +- io_uring: wrap multi-req freeing in struct req_batch +- io_uring: batch getting pcpu references +- pcpu_ref: add percpu_ref_tryget_many() +- io_uring: add IORING_OP_MADVISE +- mm: make do_madvise() available internally +- io_uring: add IORING_OP_FADVISE +- io_uring: allow use of offset == -1 to mean file position +- io_uring: add non-vectored read/write commands +- io_uring: improve poll completion performance +- io_uring: split overflow state into SQ and CQ side +- io_uring: add lookup table for various opcode needs +- io_uring: remove two unnecessary function declarations +- io_uring: move *queue_link_head() from common path +- io_uring: rename prev to head +- io_uring: add IOSQE_ASYNC +- io-wq: support concurrent non-blocking work +- io_uring: add support for IORING_OP_STATX +- fs: make two stat prep helpers available +- io_uring: avoid ring quiesce for fixed file set unregister and update +- io_uring: add support for IORING_OP_CLOSE +- io-wq: add support for uncancellable work +- percpu-refcount: Introduce percpu_ref_resurrect() +- percpu_ref: introduce PERCPU_REF_ALLOW_REINIT flag +- fs: make filename_lookup available externally +- fs: introduce __close_fd_get_file to support IORING_OP_CLOSE for io_uring +- io_uring: add support for IORING_OP_OPENAT +- fs: make build_open_flags() available internally +- io_uring: add support for fallocate() +- io_uring: don't cancel all work on process exit +- Revert "io_uring: only allow submit from owning task" +- io_uring: fix compat for IORING_REGISTER_FILES_UPDATE +- io_uring: only allow submit from owning task +- io_uring: ensure workqueue offload grabs ring mutex for poll list +- io_uring: clear req->result always before issuing a read/write request +- io_uring: be consistent in assigning next work from handler +- io-wq: cancel work if we fail getting a mm reference +- io_uring: don't setup async context for read/write fixed +- io_uring: remove punt of short reads to async context +- io-wq: add cond_resched() to worker thread +- io-wq: remove unused busy list from io_sqe +- io_uring: pass in 'sqe' to the prep handlers +- io_uring: standardize the prep methods +- io_uring: read 'count' for IORING_OP_TIMEOUT in prep handler +- io_uring: move all prep state for IORING_OP_{SEND,RECV}_MGS to prep handler +- io_uring: move all prep state for IORING_OP_CONNECT to prep handler +- io_uring: add and use struct io_rw for read/writes +- io_uring: use u64_to_user_ptr() consistently +- io_uring: io_wq_submit_work() should not touch req->rw +- io_uring: don't wait when under-submitting +- io_uring: warn about unhandled opcode +- io_uring: read opcode and user_data from SQE exactly once +- io_uring: make IORING_OP_TIMEOUT_REMOVE deferrable +- io_uring: make IORING_OP_CANCEL_ASYNC deferrable +- io_uring: make IORING_POLL_ADD and IORING_POLL_REMOVE deferrable +- io_uring: make HARDLINK imply LINK +- io_uring: any deferred command must have stable sqe data +- io_uring: remove 'sqe' parameter to the OP helpers that take it +- io_uring: fix pre-prepped issue with force_nonblock == true +- io-wq: re-add io_wq_current_is_worker() +- io_uring: fix sporadic -EFAULT from IORING_OP_RECVMSG +- io_uring: fix stale comment and a few typos +- io_uring: ensure we return -EINVAL on unknown opcode +- io_uring: add sockets to list of files that support non-blocking issue +- io_uring: only hash regular files for async work execution +- io_uring: run next sqe inline if possible +- io_uring: don't dynamically allocate poll data +- io_uring: deferred send/recvmsg should assign iov +- io_uring: sqthread should grab ctx->uring_lock for submissions +- io-wq: briefly spin for new work after finishing work +- io-wq: remove worker->wait waitqueue +- io_uring: allow unbreakable links +- io_uring: fix a typo in a comment +- io_uring: hook all linked requests via link_list +- io_uring: fix error handling in io_queue_link_head +- io_uring: use hash table for poll command lookups +- io-wq: clear node->next on list deletion +- io_uring: ensure deferred timeouts copy necessary data +- io_uring: allow IO_SQE_* flags on IORING_OP_TIMEOUT +- io_uring: handle connect -EINPROGRESS like -EAGAIN +- io_uring: remove io_wq_current_is_worker +- io_uring: remove parameter ctx of io_submit_state_start +- io_uring: mark us with IORING_FEAT_SUBMIT_STABLE +- io_uring: ensure async punted connect requests copy data +- io_uring: ensure async punted sendmsg/recvmsg requests copy data +- net: disallow ancillary data for __sys_{send,recv}msg_file() +- net: separate out the msghdr copy from ___sys_{send,recv}msg() +- io_uring: ensure async punted read/write requests copy iovec +- io_uring: add general async offload context +- io_uring: transform send/recvmsg() -ERESTARTSYS to -EINTR +- io_uring: use current task creds instead of allocating a new one +- io_uring: fix missing kmap() declaration on powerpc +- io_uring: add mapping support for NOMMU archs +- io_uring: make poll->wait dynamically allocated +- io-wq: shrink io_wq_work a bit +- io-wq: fix handling of NUMA node IDs +- io_uring: use kzalloc instead of kcalloc for single-element allocations +- io_uring: cleanup io_import_fixed() +- io_uring: inline struct sqe_submit +- io_uring: store timeout's sqe->off in proper place +- io_uring: remove superfluous check for sqe->off in io_accept() +- io_uring: async workers should inherit the user creds +- io-wq: have io_wq_create() take a 'data' argument +- io_uring: fix dead-hung for non-iter fixed rw +- io_uring: add support for IORING_OP_CONNECT +- net: add __sys_connect_file() helper +- io_uring: only return -EBUSY for submit on non-flushed backlog +- io_uring: only !null ptr to io_issue_sqe() +- io_uring: simplify io_req_link_next() +- io_uring: pass only !null to io_req_find_next() +- io_uring: remove io_free_req_find_next() +- io_uring: add likely/unlikely in io_get_sqring() +- io_uring: rename __io_submit_sqe() +- io_uring: improve trace_io_uring_defer() trace point +- io_uring: drain next sqe instead of shadowing +- io_uring: close lookup gap for dependent next work +- io_uring: allow finding next link independent of req reference count +- io_uring: io_allocate_scq_urings() should return a sane state +- io_uring: Always REQ_F_FREE_SQE for allocated sqe +- io_uring: io_fail_links() should only consider first linked timeout +- io_uring: Fix leaking linked timeouts +- io_uring: remove redundant check +- io_uring: break links for failed defer +- io-wq: remove extra space characters +- io-wq: wait for io_wq_create() to setup necessary workers +- io_uring: request cancellations should break links +- io_uring: correct poll cancel and linked timeout expiration completion +- io_uring: remove dead REQ_F_SEQ_PREV flag +- io_uring: fix sequencing issues with linked timeouts +- io_uring: make req->timeout be dynamically allocated +- io_uring: make io_double_put_req() use normal completion path +- io_uring: cleanup return values from the queueing functions +- io_uring: io_async_cancel() should pass in 'nxt' request pointer +- io_uring: make POLL_ADD/POLL_REMOVE scale better +- io-wq: remove now redundant struct io_wq_nulls_list +- io_uring: Fix getting file for non-fd opcodes +- io_uring: introduce req_need_defer() +- io_uring: clean up io_uring_cancel_files() +- io-wq: ensure free/busy list browsing see all items +- io_uring: ensure registered buffer import returns the IO length +- io-wq: ensure we have a stable view of ->cur_work for cancellations +- io_wq: add get/put_work handlers to io_wq_create() +- io_uring: Fix getting file for timeout +- io_uring: check for validity of ->rings in teardown +- io_uring: fix potential deadlock in io_poll_wake() +- io_uring: use correct "is IO worker" helper +- io_uring: make timeout sequence == 0 mean no sequence +- io_uring: fix -ENOENT issue with linked timer with short timeout +- io_uring: don't do flush cancel under inflight_lock +- io_uring: flag SQPOLL busy condition to userspace +- io_uring: make ASYNC_CANCEL work with poll and timeout +- io_uring: provide fallback request for OOM situations +- io_uring: convert accept4() -ERESTARTSYS into -EINTR +- io_uring: fix error clear of ->file_table in io_sqe_files_register() +- io_uring: separate the io_free_req and io_free_req_find_next interface +- io_uring: keep io_put_req only responsible for release and put req +- io_uring: remove passed in 'ctx' function parameter ctx if possible +- io_uring: reduce/pack size of io_ring_ctx +- io_uring: properly mark async work as bounded vs unbounded +- io-wq: add support for bounded vs unbunded work +- io-wq: io_wqe_run_queue() doesn't need to use list_empty_careful() +- io_uring: add support for backlogged CQ ring +- io_uring: pass in io_kiocb to fill/add CQ handlers +- io_uring: make io_cqring_events() take 'ctx' as argument +- io_uring: add support for linked SQE timeouts +- io_uring: abstract out io_async_cancel_one() helper +- io_uring: use inlined struct sqe_submit +- io_uring: Use submit info inlined into req +- io_uring: allocate io_kiocb upfront +- io_uring: io_queue_link*() right after submit +- io_uring: Merge io_submit_sqes and io_ring_submit +- io_uring: kill dead REQ_F_LINK_DONE flag +- io_uring: fixup a few spots where link failure isn't flagged +- io_uring: enable optimized link handling for IORING_OP_POLL_ADD +- io-wq: use proper nesting IRQ disabling spinlocks for cancel +- io_uring: add completion trace event +- io-wq: use kfree_rcu() to simplify the code +- io_uring: set -EINTR directly when a signal wakes up in io_cqring_wait +- io_uring: support for generic async request cancel +- io_uring: ensure we clear io_kiocb->result before each issue +- io_uring: io_wq_create() returns an error pointer, not NULL +- io_uring: fix race with canceling timeouts +- io_uring: support for larger fixed file sets +- io_uring: protect fixed file indexing with array_index_nospec() +- io_uring: add support for IORING_OP_ACCEPT +- net: add __sys_accept4_file() helper +- io_uring: io_uring: add support for async work inheriting files +- io_uring: replace workqueue usage with io-wq +- io-wq: small threadpool implementation for io_uring +- sched/core, workqueues: Distangle worker accounting from rq lock +- sched: Remove stale PF_MUTEX_TESTER bit +- io_uring: Fix mm_fault with READ/WRITE_FIXED +- io_uring: remove index from sqe_submit +- io_uring: add set of tracing events +- io_uring: add support for canceling timeout requests +- io_uring: add support for absolute timeouts +- io_uring: replace s->needs_lock with s->in_async +- io_uring: allow application controlled CQ ring size +- io_uring: add support for IORING_REGISTER_FILES_UPDATE +- io_uring: allow sparse fixed file sets +- io_uring: run dependent links inline if possible +- io_uring: don't touch ctx in setup after ring fd install +- io_uring: Fix leaked shadow_req +- io_uring: fix bad inflight accounting for SETUP_IOPOLL|SETUP_SQTHREAD +- io_uring: used cached copies of sq->dropped and cq->overflow +- io_uring: Fix race for sqes with userspace +- io_uring: Fix broken links with offloading +- io_uring: Fix corrupted user_data +- io_uring: correct timeout req sequence when inserting a new entry +- io_uring : correct timeout req sequence when waiting timeout +- io_uring: revert "io_uring: optimize submit_and_wait API" +- io_uring: fix logic error in io_timeout +- io_uring: fix up O_NONBLOCK handling for sockets +- io_uring: consider the overflow of sequence for timeout req +- io_uring: fix sequence logic for timeout requests +- io_uring: only flush workqueues on fileset removal +- io_uring: remove wait loop spurious wakeups +- io_uring: fix reversed nonblock flag for link submission +- io_uring: use __kernel_timespec in timeout ABI +- io_uring: make CQ ring wakeups be more efficient +- io_uring: compare cached_cq_tail with cq.head in_io_uring_poll +- io_uring: correctly handle non ->{read,write}_iter() file_operations +- io_uring: IORING_OP_TIMEOUT support +- io_uring: use cond_resched() in sqthread +- io_uring: fix potential crash issue due to io_get_req failure +- io_uring: ensure poll commands clear ->sqe +- io_uring: fix use-after-free of shadow_req +- io_uring: use kmemdup instead of kmalloc and memcpy +- io_uring: increase IORING_MAX_ENTRIES to 32K +- io_uring: make sqpoll wakeup possible with getevents +- io_uring: extend async work merging +- io_uring: limit parallelism of buffered writes +- io_uring: add io_queue_async_work() helper +- io_uring: optimize submit_and_wait API +- io_uring: add support for link with drain +- io_uring: fix wrong sequence setting logic +- io_uring: expose single mmap capability +- io_uring: allocate the two rings together +- io_uring: add need_resched() check in inner poll loop +- io_uring: don't enter poll loop if we have CQEs pending +- io_uring: fix potential hang with polled IO +- io_uring: fix an issue when IOSQE_IO_LINK is inserted into defer list +- io_uring: fix manual setup of iov_iter for fixed buffers +- io_uring: fix KASAN use after free in io_sq_wq_submit_work +- io_uring: ensure ->list is initialized for poll commands +- io_uring: track io length in async_list based on bytes +- io_uring: don't use iov_iter_advance() for fixed buffers +- io_uring: add a memory barrier before atomic_read +- io_uring: fix counter inc/dec mismatch in async_list +- io_uring: fix the sequence comparison in io_sequence_defer +- io_uring: fix io_sq_thread_stop running in front of io_sq_thread +- io_uring: add support for recvmsg() +- io_uring: add support for sendmsg() +- io_uring: add support for sqe links +- io_uring: punt short reads to async context +- uio: make import_iovec()/compat_import_iovec() return bytes on success +- io_uring: ensure req->file is cleared on allocation +- io_uring: fix memory leak of UNIX domain socket inode +- io_uring: Fix __io_uring_register() false success +- tools/io_uring: sync with liburing +- tools/io_uring: fix Makefile for pthread library link +- select: shift restore_saved_sigmask_unless() into poll_select_copy_remaining() +- select: change do_poll() to return -ERESTARTNOHAND rather than -EINTR +- signal: simplify set_user_sigmask/restore_user_sigmask +- signal: remove the wrong signal_pending() check in restore_user_sigmask() +- io_uring: use wait_event_interruptible for cq_wait conditional wait +- io_uring: adjust smp_rmb inside io_cqring_events +- io_uring: fix infinite wait in khread_park() on io_finish_async() +- io_uring: remove 'ev_flags' argument +- io_uring: fix failure to verify SQ_AFF cpu +- io_uring: fix race condition reading SQE data +- io_uring: use cpu_online() to check p->sq_thread_cpu instead of cpu_possible() +- io_uring: fix shadowed variable ret return code being not checked +- req->error only used for iopoll +- io_uring: add support for eventfd notifications +- io_uring: add support for IORING_OP_SYNC_FILE_RANGE +- io_uring: add support for marking commands as draining +- fs: add sync_file_range() helper +- io_uring: avoid page allocation warnings +- io_uring: drop req submit reference always in async punt +- io_uring: free allocated io_memory once +- io_uring: fix SQPOLL cpu validation +- io_uring: have submission side sqe errors post a cqe +- io_uring: remove unnecessary barrier after unsetting IORING_SQ_NEED_WAKEUP +- io_uring: remove unnecessary barrier after incrementing dropped counter +- io_uring: remove unnecessary barrier before reading SQ tail +- io_uring: remove unnecessary barrier after updating SQ head +- io_uring: remove unnecessary barrier before reading cq head +- io_uring: remove unnecessary barrier before wq_has_sleeper +- io_uring: fix notes on barriers +- io_uring: fix handling SQEs requesting NOWAIT +- io_uring: remove 'state' argument from io_{read,write} path +- io_uring: fix poll full SQ detection +- io_uring: fix race condition when sq threads goes sleeping +- io_uring: fix race condition reading SQ entries +- io_uring: fail io_uring_register(2) on a dying io_uring instance +- io_uring: fix CQ overflow condition +- io_uring: fix possible deadlock between io_uring_{enter,register} +- io_uring: drop io_file_put() 'file' argument +- io_uring: only test SQPOLL cpu after we've verified it +- io_uring: park SQPOLL thread if it's percpu +- io_uring: restrict IORING_SETUP_SQPOLL to root +- io_uring: fix double free in case of fileset regitration failure +- io_uring: offload write to async worker in case of -EAGAIN +- io_uring: fix big-endian compat signal mask handling +- io_uring: retry bulk slab allocs as single allocs +- io_uring: fix poll races +- io_uring: fix fget/fput handling +- io_uring: add prepped flag +- io_uring: make io_read/write return an integer +- io_uring: use regular request ref counts +- tools/io_uring: remove IOCQE_FLAG_CACHEHIT +- io_uring: add a few test tools +- io_uring: allow workqueue item to handle multiple buffered requests +- io_uring: add support for IORING_OP_POLL +- io_uring: add io_kiocb ref count +- io_uring: add submission polling +- io_uring: add file set registration +- net: split out functions related to registering inflight socket files +- io_uring: add support for pre-mapped user IO buffers +- io_uring: batch io_kiocb allocation +- io_uring: use fget/fput_many() for file references +- fs: add fget_many() and fput_many() +- io_uring: support for IO polling +- io_uring: add fsync support +- Add io_uring IO interface +- io_pgetevents: use __kernel_timespec +- pselect6: use __kernel_timespec +- ppoll: use __kernel_timespec +- signal: Add restore_user_sigmask() +- signal: Add set_user_sigmask() +- block: Initialize BIO I/O priority early +- block: prevent merging of requests with different priorities +- aio: Fix fallback I/O priority value +- block: Introduce get_current_ioprio() +- aio: Comment use of IOCB_FLAG_IOPRIO aio flag +- fs: fix kabi change since add iopoll +- fs: add an iopoll method to struct file_operations +- signal: Allow cifs and drbd to receive their terminating signals +- cifs: fix rmmod regression in cifs.ko caused by force_sig changes +- signal/cifs: Fix cifs_put_tcp_session to call send_sig instead of force_sig + +* Wed Apr 14 2021 Cheng Jian - 4.19.90-2104.10.0.0072 +- bpf, x86: Validate computation of branch displacements for x86-32 +- bpf, x86: Validate computation of branch displacements for x86-64 + +* Wed Apr 14 2021 Cheng Jian - 4.19.90-2104.9.0.0071 +- mm/vmalloc.c: fix percpu free VM area search criteria +- mm/vmalloc.c: avoid bogus -Wmaybe-uninitialized warning +- mm/vmap: add DEBUG_AUGMENT_LOWEST_MATCH_CHECK macro +- mm/vmap: add DEBUG_AUGMENT_PROPAGATE_CHECK macro +- mm/vmalloc.c: keep track of free blocks for vmap allocation + +* Wed Apr 14 2021 Cheng Jian - 4.19.90-2104.8.0.0070 +- config: Enable CONFIG_USERSWAP +- userswap: support userswap via userfaultfd +- userswap: add a new flag 'MAP_REPLACE' for mmap() +- mm, mempolicy: fix up gup usage in lookup_node +- mm/mempolicy: Allow lookup_node() to handle fatal signal +- mm/gup: Let __get_user_pages_locked() return -EINTR for fatal signal +- mm/gup: fix fixup_user_fault() on multiple retries +- mm/gup: allow VM_FAULT_RETRY for multiple times +- mm: allow VM_FAULT_RETRY for multiple times + +* Wed Apr 14 2021 Cheng Jian - 4.19.90-2104.7.0.0069 +- sched/fair: fix kabi broken due to adding fields in rq and sched_domain_shared +- sched/fair: fix try_steal compile error +- config: enable CONFIG_SCHED_STEAL by default +- sched/fair: introduce SCHED_STEAL +- disable stealing by default +- sched/fair: Provide idle search schedstats +- sched/fair: disable stealing if too many NUMA nodes +- sched/fair: Steal work from an overloaded CPU when CPU goes idle +- sched/fair: Provide can_migrate_task_llc +- sched/fair: Generalize the detach_task interface +- sched/fair: Hoist idle_stamp up from idle_balance +- sched/fair: Dynamically update cfs_overload_cpus +- sched/topology: Provide cfs_overload_cpus bitmap +- sched/topology: Provide hooks to allocate data shared per LLC +- sched: Provide sparsemask, a reduced contention bitmap + +* Wed Apr 14 2021 Cheng Jian - 4.19.90-2104.6.0.0068 +- sched/fair: fix kabi broken due to adding idle_h_nr_running in cfs_rq +- sched/fair: Make sched-idle CPU selection consistent throughout +- sched/fair: Optimize select_idle_cpu +- sched/fair: Fall back to sched-idle CPU if idle CPU isn't found +- sched/fair: Start tracking SCHED_IDLE tasks count in cfs_rq +- sched/core: Create task_has_idle_policy() helper + +* Wed Apr 14 2021 Cheng Jian - 4.19.90-2104.5.0.0067 +- ext4: add reclaim checks to xattr code +- locking/mutex: Fix non debug version of mutex_lock_io_nested() +- dm verity: add root hash pkcs#7 signature verification +- Revert "netfilter: x_tables: Update remaining dereference to RCU" +- netfilter: x_tables: Use correct memory barriers. +- Revert "netfilter: x_tables: Switch synchronization to RCU" +- arm64: kdump: update ppos when reading elfcorehdr +- netfilter: ctnetlink: fix dump of the expect mask attribute +- dm ioctl: fix out of bounds array access when no devices +- block: Suppress uevent for hidden device when removed +- NFS: Correct size calculation for create reply length +- cifs: Fix preauth hash corruption +- ext4: do not try to set xattr into ea_inode if value is empty +- kernel, fs: Introduce and use set_restart_fn() and arch_set_restart_data() +- nvme-rdma: fix possible hang when failing to set io queues +- sunrpc: fix refcount leak for rpc auth modules +- include/linux/sched/mm.h: use rcu_dereference in in_vfork() +- hrtimer: Update softirq_expires_next correctly after __hrtimer_get_next_event() +- scsi: target: core: Prevent underflow for service actions +- scsi: target: core: Add cmd length set before cmd complete +- PCI: Fix pci_register_io_range() memory leak +- Revert "mm, slub: consider rest of partial list if acquire_slab() fails" +- cifs: return proper error code in statfs(2) +- tcp: add sanity tests to TCP_QUEUE_SEQ +- tcp: annotate tp->write_seq lockless reads +- tcp: annotate tp->copied_seq lockless reads +- netfilter: x_tables: gpf inside xt_find_revision() +- net: Fix gro aggregation for udp encaps with zero csum +- dm table: fix zoned iterate_devices based device capability checks +- dm table: fix DAX iterate_devices based device capability checks +- dm table: fix iterate_devices based device capability checks +- dm bufio: subtract the number of initial sectors in dm_bufio_get_device_size +- swap: fix swapfile read/write offset +- mm/hugetlb.c: fix unnecessary address expansion of pmd sharing +- net: fix up truesize of cloned skb in skb_prepare_for_shift() +- xfs: Fix assert failure in xfs_setattr_size() +- arm64 module: set plt* section addresses to 0x0 +- hugetlb: fix update_and_free_page contig page struct assumption +- net: icmp: pass zeroed opts from icmp{,v6}_ndo_send before sending +- ipv6: silence compilation warning for non-IPV6 builds +- ipv6: icmp6: avoid indirect call for icmpv6_send() +- xfrm: interface: use icmp_ndo_send helper +- sunvnet: use icmp_ndo_send helper +- gtp: use icmp_ndo_send helper +- icmp: allow icmpv6_ndo_send to work with CONFIG_IPV6=n +- icmp: introduce helper for nat'd source address in network device context +- dm: fix deadlock when swapping to encrypted device +- printk: fix deadlock when kernel panic +- module: Ignore _GLOBAL_OFFSET_TABLE_ when warning for undefined symbols +- hugetlb: fix copy_huge_page_from_user contig page struct assumption +- x86: fix seq_file iteration for pat/memtype.c +- ACPI: property: Fix fwnode string properties matching +- blk-settings: align max_sectors on "logical_block_size" boundary +- mm/rmap: fix potential pte_unmap on an not mapped pte +- arm64: Add missing ISB after invalidating TLB in __primary_switch +- mm/hugetlb: fix potential double free in hugetlb_register_node() error path +- mm/memory.c: fix potential pte_unmap_unlock pte error +- ocfs2: fix a use after free on error +- tracepoint: Do not fail unregistering a probe due to memory failure +- isofs: release buffer head before return +- tcp: fix SO_RCVLOWAT related hangs under mem pressure +- random: fix the RNDRESEEDCRNG ioctl +- bfq: Avoid false bfq queue merging +- locking/static_key: Fix false positive warnings on concurrent dec/inc +- jump_label/lockdep: Assert we hold the hotplug lock for _cpuslocked() operations +- KVM: fix memory leak in kvm_io_bus_unregister_dev() +- net: qrtr: fix a kernel-infoleak in qrtr_recvmsg() +- xen-blkback: don't leak persistent grants from xen_blkbk_map() +- KVM: SVM: Periodically schedule when unregistering regions on destroy +- gianfar: fix jumbo packets+napi+rx overrun crash +- usbip: fix stub_dev usbip_sockfd_store() races leading to gpf +- media: v4l: ioctl: Fix memory leak in video_usercopy +- block: only update parent bi_status when bio fail +- RDMA/hns: fix timer, gid_type, scc cfg +- block: respect queue limit of max discard segment +- block: Use non _rcu version of list functions for tag_set_list + +* Thu Apr 08 2021 Cheng Jian - 4.19.90-2104.4.0.0066 +- ext4: fix potential error in ext4_do_update_inode +- mm, sl[aou]b: guarantee natural alignment for kmalloc(power-of-two) +- mm,hwpoison: return -EBUSY when migration fails +- config: Enable files cgroup on x86 +- ext4: Fix unreport netlink message to userspace when fs abort +- ext4: don't leak old mountpoint samples +- scsi: libiscsi: convert change of struct iscsi_conn to fix KABI +- scsi: libiscsi: Reset max/exp cmdsn during recovery +- scsi: iscsi_tcp: Fix shost can_queue initialization +- scsi: libiscsi: Add helper to calculate max SCSI cmds per session +- scsi: libiscsi: Fix iSCSI host workq destruction +- scsi: libiscsi: Fix iscsi_task use after free() +- scsi: libiscsi: Drop taskqueuelock +- scsi: libiscsi: Fix iscsi_prep_scsi_cmd_pdu() error handling +- scsi: libiscsi: Fix error count for active session +- ext4: fix timer use-after-free on failed mount +- loop: fix I/O error on fsync() in detached loop devices +- md/bitmap: fix memory leak of temporary bitmap +- md: get sysfs entry after redundancy attr group create +- md: fix deadlock causing by sysfs_notify +- md: fix the checking of wrong work queue +- md: flush md_rdev_misc_wq for HOT_ADD_DISK case +- md: don't flush workqueue unconditionally in md_open +- md: add new workqueue for delete rdev + +* Wed Apr 07 2021 Cheng Jian - 4.19.90-2104.3.0.0065 +- nvme-fabrics: fix kabi broken due to adding fields in struct nvme_ctrl + * Wed Apr 07 2021 Cheng Jian - 4.19.90-2104.2.0.0064 - x86/Kconfig: Drop vendor dependency for X86_UMIP - x86/Kconfig: Rename UMIP config parameter