# changelog

author: Cheng Jian <cj.chengjian@huawei.com> - 4.19.90-2104.4.0.0067
changelog:
  - 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


author: Cheng Jian <cj.chengjian@huawei.com> - 4.19.90-2104.5.0.0068
changelog:
  - 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


author: Cheng Jian <cj.chengjian@huawei.com> - 4.19.90-2104.6.0.0069
changelog:
  - 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


author: Cheng Jian <cj.chengjian@huawei.com> - 4.19.90-2104.7.0.0070
changelog:
  - 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


author: Cheng Jian <cj.chengjian@huawei.com> - 4.19.90-2104.8.0.0071
changelog:
  - 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


author: Cheng Jian <cj.chengjian@huawei.com> - 4.19.90-2104.9.0.0072
changelog:
  - 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


author: Cheng Jian <cj.chengjian@huawei.com> - 4.19.90-2104.10.0.0073
changelog:
  - bpf, x86: Validate computation of branch displacements for x86-32
  - bpf, x86: Validate computation of branch displacements for x86-64


author: Cheng Jian <cj.chengjian@huawei.com> - 4.19.90-2104.11.0.0074
changelog:
  - 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


author: Cheng Jian <cj.chengjian@huawei.com> - 4.19.90-2104.12.0.0075
changelog:
  - 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


author: Cheng Jian <cj.chengjian@huawei.com> - 4.19.90-2104.14.0.0077
changelog:
  - 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


author: Cheng Jian <cj.chengjian@huawei.com> - 4.19.90-2104.15.0.0078
changelog:
  - config/x86: enable SHRINK_PAGECACHE
  - arm64: Add config switch and kernel parameter for CPU0 hotplug


author: Cheng Jian <cj.chengjian@huawei.com> - 4.19.90-2104.17.0.0081
changelog:
  - 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


author: Cheng Jian <cj.chengjian@huawei.com> - 4.19.90-2104.18.0.0082
changelog:
  - 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


author: Cheng Jian <cj.chengjian@huawei.com> - 4.19.90-2104.19.0.0083
changelog:
  - 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


author: Cheng Jian <cj.chengjian@huawei.com> - 4.19.90-2104.21.0.0084
changelog:
  - 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()


author: Cheng Jian <cj.chengjian@huawei.com> - 4.19.90-2104.26.0.0085
changelog:
  - 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


author: Cheng Jian <cj.chengjian@huawei.com> - 4.19.90-2105.2.0.0086
changelog:
  - 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


author: Cheng Jian <cj.chengjian@huawei.com> - 4.19.90-2105.3.0.0087
changelog:
  - 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


author: Cheng Jian <cj.chengjian@huawei.com> - 4.19.90-2105.4.0.0088
changelog:
  - 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()


author: Cheng Jian <cj.chengjian@huawei.com> - 4.19.90-2105.5.0.0089
changelog:
  - 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


author: Cheng Jian <cj.chengjian@huawei.com> - 4.19.90-2105.6.0.0090
changelog:
  - 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


author: Cheng Jian <cj.chengjian@huawei.com> - 4.19.90-2105.8.0.0091
changelog:
  - 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


author: Cheng Jian <cj.chengjian@huawei.com> - 4.19.90-2105.9.0.0092
changelog:
  - 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


author: Cheng Jian <cj.chengjian@huawei.com> - 4.19.90-2106.1.0.0093
changelog:
  - 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()


author: Cheng Jian <cj.chengjian@huawei.com> - 4.19.90-2106.2.0.0094
changelog:
  - sched/membarrier: fix NULL poiner in membarrier_global_expedited
  - writeback: don't warn on an unregistered BDI in __mark_inode_dirty


