Unverified Commit 8c17b6e2 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!3117 Backport 5.10.188 LTS patches from upstream

Merge Pull Request from: @sanglipeng 
 
issue:https://gitee.com/openeuler/kernel/issues/I8KYFP

Conflicts:

Already merged(34):
a3a1550c4d2e: nfc: llcp: simplify llcp_sock_connect() error paths
96f2c6f272ec: net: nfc: Fix use-after-free caused by nfc_llcp_find_local
9bdcda7abaf2: netfilter: conntrack: dccp: copy entire header to stack buffer, not just basic one
810e401b34c4: io_uring: ensure IOPOLL locks around deferred work
3f51f1157f67: netfilter: nf_tables: use net_generic infra for transaction data
8180fc2fadd4: netfilter: nf_tables: incorrect error path handling with NFT_MSG_NEWRULE
d53c295c1f43: netfilter: nf_tables: fix chain binding transaction logic
34d09fe49f59: netfilter: nf_tables: add NFT_TRANS_PREPARE_ERROR to deal with bound set/chain
0205dd16edeb: netfilter: nf_tables: reject unbound anonymous set before commit phase
237f37f7b9f0: netfilter: nf_tables: reject unbound chain set before commit phase
21cf0d66ef88: netfilter: nftables: rename set element data activation/deactivation functions
a136b7942ad2: netfilter: nf_tables: drop map element references from preparation phase
a07e415be383: netfilter: nf_tables: unbind non-anonymous set if rule construction fails
80e0e8d5f543: net/sched: cls_fw: Fix improper refcount update leads to use-after-free
f4ff37981235: nvme-pci: fix DMA direction of unmapping integrity data
b39ef5b52f10: f2fs: fix to avoid NULL pointer dereference f2fs_write_end_io()
3a91099ecd59: netfilter: nft_set_pipapo: fix improper element removal
30e5460d69e6: netfilter: nf_tables: skip bound chain on rule flush
8563b58a4360: blk-iocost: use spin_lock_irqsave in adjust_inuse_and_calc_cost
220f86cc19dc: RDMA/hns: Fix hns_roce_table_get return value
7289ca7a5170: mm: rename p4d_page_vaddr to p4d_pgtable and make it return pud_t *
d87ef4e857b7: media: usb: siano: Fix warning due to null work_func_t function pointer
e52019c09535: coresight: Fix loss of connection info when a module is unloaded
8bf91a8d4871: integrity: Fix possible multiple allocation in integrity_inode_get()
f0aec6c403a0: selftests/bpf: Add verifier test for PTR_TO_MEM spill
4ae2e501331a: netfilter: nf_tables: do not ignore genmask when looking up chain by id
ea213922249c: netfilter: nf_tables: prevent OOB access in nft_byteorder_eval
2ad31ce40e81: ipv6/addrconf: fix a potential refcount underflow for idev
8359ee85fd6d: net/sched: sch_qfq: account for stab overhead in qfq_enqueue
84293af5455b: ext4: only update i_reserved_data_blocks on successful block allocation
5e68f1f3a20f: ring-buffer: Fix deadloop issue on reading trace_pipe
634daf6b2c81: md/raid10: prevent soft lockup while flush writes
1a1e793e021d: tracing: Fix memory leak of iter->temp when reading trace_pipe
edce5fba78cc: ftrace: Fix possible warning on checking all pages used in ftrace_process_locs()



Rejected(19):
39fa14e824ac: md/raid10: check slab-out-of-bounds in md_bitmap_get_counter
2990e2ece18d: md/raid10: fix null-ptr-deref of mreplace in raid10_sync_request
9d1cccdad080: md/raid10: fix io loss while replacement replace rdev
08f61a349135: bpf: Remove extra lock_sock for TCP_ZEROCOPY_RECEIVE
cc1b04b699e6: RDMA: Remove uverbs_ex_cmd_mask values that are linked to functions
de1049dd18bd: RDMA/hns: Fix coding style issues
aa495b927f9c: RDMA/hns: Use refcount_t APIs for HEM
9196f44239cf: RDMA/hns: Clean the hardware related code for HEM
245aa7c0233e: ARM: dts: BCM5301X: fix duplex-full => full-duplex
bfad11018806: mm: rename pud_page_vaddr to pud_pgtable and make it return pmd_t *
e8f51401d642: hwrng: virtio - always add a pending request
77471e4912d3: hwrng: virtio - Fix race on data_avail and actual data
be99faf0c4db: ext4: Fix reusing stale buffer heads from last failed mounting
c52e04c58ded: xhci: Fix TRB prefetch issue of ZHAOXIN hosts
790e4e82c57d: xhci: Show ZHAOXIN xHCI root hub speed correctly
9a085fa9b7d6: RDMA/cma: Ensure rdma_addr_cancel() happens before issuing more requests
94c10c0fa51b: netfilter: nf_tables: skip bound chain in netns release path
cf6c06ac7487: net: Introduce net.ipv4.tcp_migrate_req.
115b19f89353: ftrace: Store the order of pages allocated in ftrace_page
b190ced50a5e: sctp: add bpf_bypass_getsockopt proto callback

Kabi broken(1):
322377cc909d: posix-timers: Ensure timer ID search-loop limit is
 valid

Total patches:  508 - 34 - 20 - 1 = 453 
 
Link:https://gitee.com/openeuler/kernel/pulls/3117

 

Reviewed-by: default avatarJialin Zhang <zhangjialin11@huawei.com>
Signed-off-by: default avatarJialin Zhang <zhangjialin11@huawei.com>
parents c4c6d735 31e08f2f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -196,7 +196,7 @@ information and return operation results::
		    struct args_ismountpoint	ismountpoint;
	    };

	    char path[0];
	    char path[];
    };

The ioctlfd field is a mount point file descriptor of an autofs mount
+1 −1
Original line number Diff line number Diff line
@@ -467,7 +467,7 @@ Each ioctl is passed a pointer to an `autofs_dev_ioctl` structure::
			struct args_ismountpoint	ismountpoint;
		};

                char path[0];
                char path[];
        };

For the **OPEN_MOUNT** and **IS_MOUNTPOINT** commands, the target
+14 −12
Original line number Diff line number Diff line
@@ -22,12 +22,11 @@ exclusive.
3) object removal.  Locking rules: caller locks parent, finds victim,
locks victim and calls the method.  Locks are exclusive.

4) rename() that is _not_ cross-directory.  Locking rules: caller locks
the parent and finds source and target.  In case of exchange (with
RENAME_EXCHANGE in flags argument) lock both.  In any case,
if the target already exists, lock it.  If the source is a non-directory,
lock it.  If we need to lock both, lock them in inode pointer order.
Then call the method.  All locks are exclusive.
4) rename() that is _not_ cross-directory.  Locking rules: caller locks the
parent and finds source and target.  We lock both (provided they exist).  If we
need to lock two inodes of different type (dir vs non-dir), we lock directory
first.  If we need to lock two inodes of the same type, lock them in inode
pointer order.  Then call the method.  All locks are exclusive.
NB: we might get away with locking the source (and target in exchange
case) shared.

@@ -44,15 +43,17 @@ All locks are exclusive.
rules:

	* lock the filesystem
	* lock parents in "ancestors first" order.
	* lock parents in "ancestors first" order. If one is not ancestor of
	  the other, lock them in inode pointer order.
	* find source and target.
	* if old parent is equal to or is a descendent of target
	  fail with -ENOTEMPTY
	* if new parent is equal to or is a descendent of source
	  fail with -ELOOP
	* If it's an exchange, lock both the source and the target.
	* If the target exists, lock it.  If the source is a non-directory,
	  lock it.  If we need to lock both, do so in inode pointer order.
	* Lock both the source and the target provided they exist. If we
	  need to lock two inodes of different type (dir vs non-dir), we lock
	  the directory first. If we need to lock two inodes of the same type,
	  lock them in inode pointer order.
	* call the method.

All ->i_rwsem are taken exclusive.  Again, we might get away with locking
@@ -66,8 +67,9 @@ If no directory is its own ancestor, the scheme above is deadlock-free.

Proof:

	First of all, at any moment we have a partial ordering of the
	objects - A < B iff A is an ancestor of B.
	First of all, at any moment we have a linear ordering of the
	objects - A < B iff (A is an ancestor of B) or (B is not an ancestor
        of A and ptr(A) < ptr(B)).

	That ordering can change.  However, the following is true:

+9 −0
Original line number Diff line number Diff line
@@ -433,6 +433,15 @@ start N bytes into the buffer leaving the first N bytes for the
application to use. The final option is the flags field, but it will
be dealt with in separate sections for each UMEM flag.

SO_BINDTODEVICE setsockopt
--------------------------

This is a generic SOL_SOCKET option that can be used to tie AF_XDP
socket to a particular network interface.  It is useful when a socket
is created by a privileged process and passed to a non-privileged one.
Once the option is set, kernel will refuse attempts to bind that socket
to a different interface.  Updating the value requires CAP_NET_RAW.

XDP_STATISTICS getsockopt
-------------------------

+4 −4
Original line number Diff line number Diff line
@@ -8,6 +8,10 @@

#include <asm/dwarf.h>

#define ASM_NL		 `	/* use '`' to mark new line in macro */
#define __ALIGN		.align 4
#define __ALIGN_STR	__stringify(__ALIGN)

#ifdef __ASSEMBLY__

.macro ST2 e, o, off
@@ -28,10 +32,6 @@
#endif
.endm

#define ASM_NL		 `	/* use '`' to mark new line in macro */
#define __ALIGN		.align 4
#define __ALIGN_STR	__stringify(__ALIGN)

/* annotation for data we want in DCCM - if enabled in .config */
.macro ARCFP_DATA nm
#ifdef CONFIG_ARC_HAS_DCCM
Loading