Centos-kernel-stream-9/fs/btrfs
Rado Vrbovsky 05df4237af Merge: USB/TBT code rebase of supported drivers to upstream v6.11
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/5592

JIRA: https://issues.redhat.com/browse/RHEL-59051

CVE: CVE-2024-44960
CVE JIRA: https://issues.redhat.com/browse/RHEL-57138

CVE: CVE-2024-46675
CVE JIRA: https://issues.redhat.com/browse/RHEL-64322

This MR rebases supported USB/TBT drivers to upstream kernel v6.11. By
design, changes on this rebase are limited to supported USB/Thunderbolt
drivers and infrastructure. Changes which happen to touch the drivers but
are tree-wide are selectively or partially pulled in, whenever relevant.

Notes:

I) Omits:

Omitted-fix: aefa036be8c2 ("phy: freescale: imx8qm-hsio: Include bitfield.h for FIELD_PREP")
Omitted-fix: 2d6213bd592b ("crypto: spacc - Add ifndef around MIN")
Omitted-fix: b8fc70ab7b5f ("Revert "crypto: spacc - Add SPAcc Skcipher support")
Omitted-fix: bf791751162a ("thunderbolt: Add only on-board retimers when !CONFIG_USB4_DEBUGFS_MARGINING")

II) This MR drops `rtsx_pci_ms` driver because it became dead code with
commit <c0e5f4e73a71> ("misc: rtsx: Add support for RTS5261"), which as
consequence was latter dropped on commit <d0f459259c13> ("memstick:
rtsx_pci_ms: Remove Realtek PCI memstick driver"). The latter is being
merged here.

III) This MR also includes minmax updates to fix these build and test errors:

1 - Signedness error:

```
drivers/usb/typec/ucsi/ucsi.c: In function 'ucsi_get_pd_message':
./include/linux/build_bug.h:78:41: error: static assertion failed: "min(bytes, (((con->ucsi)->version < 0x0200) ? 0x10 : 0xff)) signedness error, fix types or consider umin() before min_t()"
   78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
```

2 - ISO C90 error:

```
drivers/scsi/Makefile:196: FORCE prerequisite is missing
lib/vsprintf.c: In function 'resource_string':
lib/vsprintf.c:1068:9: error: ISO C90 forbids variable length array 'sym' [-Werror=vla]
 1068 |         char sym[max(2*RSRC_BUF_SIZE + DECODED_BUF_SIZE,
      |         ^~~~
```

3 - Oops on drm_gem_shmem CKI testing:

```
Unable to handle kernel paging request at virtual address ffffffff80000000
...
Internal error: Oops: 0000000096000146 [#1] SMP
...
drm_gem_shmem_test_obj_create_private+0x1cc/0x41c [drm_gem_shmem_test]
...
# drm_gem_shmem_test_obj_create_private: try faulted: last line seen drivers/gpu/drm/tests/drm_gem_shmem_test.c:120
# drm_gem_shmem_test_obj_create_private: internal error occurred preventing test case from running: -4
```

Signed-off-by: Desnes Nunes <desnesn@redhat.com>

Approved-by: José Ignacio Tornos Martínez <jtornosm@redhat.com>
Approved-by: Bastien Nocera <bnocera@redhat.com>
Approved-by: Tony Camuso <tcamuso@redhat.com>
Approved-by: Rafael Aquini <raquini@redhat.com>
Approved-by: Chris von Recklinghausen <crecklin@redhat.com>
Approved-by: Ivan Vecera <ivecera@redhat.com>
Approved-by: David Arcari <darcari@redhat.com>
Approved-by: Eric Chanudet <echanude@redhat.com>
Approved-by: Adam Jackson <ajax@redhat.com>
Approved-by: CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com>

Merged-by: Rado Vrbovsky <rvrbovsk@redhat.com>
2024-11-25 13:17:44 +00:00
..
tests fs: port inode_init_owner() to mnt_idmap 2024-10-16 10:45:26 +08:00
Kconfig block: make blkcg_punt_bio_submit optional 2024-09-27 08:38:52 +08:00
Makefile Kbuild: add -Wno-shift-negative-value where -Wextra is used 2022-06-07 17:44:33 -04:00
acl.c fs: port ->set_acl() to pass mnt_idmap 2024-10-16 10:45:12 +08:00
async-thread.c
async-thread.h
backref.c btrfs: fix lock inversion problem when doing qgroup extent tracing 2021-07-22 15:50:07 +02:00
backref.h btrfs: fix lock inversion problem when doing qgroup extent tracing 2021-07-22 15:50:07 +02:00
block-group.c btrfs: don't block if we can't acquire the reclaim lock 2021-07-07 17:42:57 +02:00
block-group.h btrfs: rework chunk allocation to avoid exhaustion of the system chunk array 2021-07-07 17:42:41 +02:00
block-rsv.c
block-rsv.h
btrfs_inode.h btrfs: remove stale comment and logic from btrfs_inode_in_log() 2021-04-19 17:25:16 +02:00
check-integrity.c btrfs: check-integrity: stop storing the block device name in btrfsic_dev_state 2022-10-12 09:17:30 +08:00
check-integrity.h
compression.c mm: don't include <linux/blk-cgroup.h> in <linux/backing-dev.h> 2021-12-06 16:42:47 +08:00
compression.h btrfs: optimize variables size in btrfs_submit_compressed_write 2021-06-21 15:19:07 +02:00
ctree.c mm: don't include <linux/blk-cgroup.h> in <linux/backing-dev.h> 2021-12-06 16:42:47 +08:00
ctree.h fs: pass dentry to set acl method 2024-10-15 16:11:25 +08:00
delalloc-space.c btrfs: fix typos in comments 2021-06-22 14:11:57 +02:00
delalloc-space.h
delayed-inode.c btrfs: remove total_data_size variable in btrfs_batch_insert_items() 2021-06-21 15:19:11 +02:00
delayed-inode.h
delayed-ref.c btrfs: fix lock inversion problem when doing qgroup extent tracing 2021-07-22 15:50:07 +02:00
delayed-ref.h
dev-replace.c block: replace fmode_t with a block-specific type for block open flags 2023-09-18 17:59:18 +08:00
dev-replace.h btrfs: zoned: mark block groups to copy for device-replace 2021-02-09 02:46:07 +01:00
dir-item.c
discard.c btrfs: fix typos in comments 2021-06-22 14:11:57 +02:00
discard.h
disk-io.c btrfs: simplify ->flush_bio handling 2022-10-12 09:20:12 +08:00
disk-io.h btrfs: split alloc_log_tree() 2021-02-09 02:46:07 +01:00
export.c
export.h
extent-io-tree.h
extent-tree.c block: decouple REQ_OP_SECURE_ERASE from REQ_OP_DISCARD 2022-06-22 08:58:02 +08:00
extent_io.c block: remove the per-bio/request write hint 2022-10-12 09:17:31 +08:00
extent_io.h btrfs: rename PagePrivate2 to PageOrdered inside btrfs 2021-06-21 15:19:09 +02:00
extent_map.c
extent_map.h
file-item.c btrfs: fix typos in comments 2021-06-22 14:11:57 +02:00
file.c backing_dev: remove current->backing_dev_info 2024-04-17 10:04:36 +08:00
free-space-cache.c btrfs: don't set the full sync flag when truncation does not touch extents 2021-06-21 15:19:05 +02:00
free-space-cache.h btrfs: zoned: track unusable bytes for zones 2021-02-09 02:46:03 +01:00
free-space-tree.c
free-space-tree.h
inode-item.c
inode.c fs: port inode_init_owner() to mnt_idmap 2024-10-16 10:45:26 +08:00
ioctl.c fs: port ->permission() to pass mnt_idmap 2024-10-16 10:45:20 +08:00
locking.c btrfs: fix typos in comments 2021-06-22 14:11:57 +02:00
locking.h
lzo.c btrfs: convert kmap to kmap_local_page, simple cases 2021-04-19 17:25:16 +02:00
misc.h
ordered-data.c btrfs: store a block_device in struct btrfs_ordered_extent 2021-07-22 15:50:15 +02:00
ordered-data.h btrfs: store a block_device in struct btrfs_ordered_extent 2021-07-22 15:50:15 +02:00
orphan.c
print-tree.c
print-tree.h
props.c btrfs: props: change how empty value is interpreted 2021-06-22 14:11:58 +02:00
props.h
qgroup.c btrfs: fix lock inversion problem when doing qgroup extent tracing 2021-07-22 15:50:07 +02:00
qgroup.h btrfs: fix lock inversion problem when doing qgroup extent tracing 2021-07-22 15:50:07 +02:00
raid56.c CFI on arm64 series for v5.13-rc1 2021-04-27 10:16:46 -07:00
raid56.h
rcu-string.h
reada.c btrfs: subpage: make readahead work properly 2021-03-16 11:06:21 +01:00
ref-verify.c btrfs: ref-verify: use 'inline void' keyword ordering 2021-03-02 16:55:40 +01:00
ref-verify.h
reflink.c fs: Remove ->readpages address space operation 2022-10-12 07:28:04 -04:00
reflink.h
relocation.c btrfs: ensure relocation never runs while we have send operations running 2021-06-22 14:11:58 +02:00
root-tree.c
scrub.c btrfs: fix typos in comments 2021-06-22 14:11:57 +02:00
send.c btrfs: send: fix crash when memory allocations trigger reclaim 2021-06-22 14:11:58 +02:00
send.h
space-info.c btrfs: rip out btrfs_space_info::total_bytes_pinned 2021-06-22 14:55:25 +02:00
space-info.h btrfs: rip out btrfs_space_info::total_bytes_pinned 2021-06-22 14:55:25 +02:00
struct-funcs.c
subpage.c btrfs: subpage: fix a rare race between metadata endio and eb freeing 2021-06-21 15:19:10 +02:00
subpage.h btrfs: subpage: fix a rare race between metadata endio and eb freeing 2021-06-21 15:19:10 +02:00
super.c btrfs: Do not restrict writes to btrfs devices 2024-04-17 10:04:31 +08:00
sysfs.c btrfs: rip out btrfs_space_info::total_bytes_pinned 2021-06-22 14:55:25 +02:00
sysfs.h
transaction.c btrfs: rework chunk allocation to avoid exhaustion of the system chunk array 2021-07-07 17:42:41 +02:00
transaction.h btrfs: rework chunk allocation to avoid exhaustion of the system chunk array 2021-07-07 17:42:41 +02:00
tree-checker.c minmax: don't use max() in situations that want a C constant expression 2024-11-18 10:30:14 -03:00
tree-checker.h
tree-defrag.c
tree-log.c btrfs: fix lost inode on log replay after mix of fsync, rename and inode eviction 2021-07-28 19:02:30 +02:00
tree-log.h
tree-mod-log.c btrfs: fix race when picking most recent mod log operation for an old root 2021-04-20 19:27:17 +02:00
tree-mod-log.h btrfs: add and use helper to get lowest sequence number for the tree mod log 2021-04-19 17:25:17 +02:00
ulist.c
ulist.h
uuid-tree.c
volumes.c block: replace fmode_t with a block-specific type for block open flags 2023-09-18 17:59:18 +08:00
volumes.h block: use the holder as indication for exclusive opens 2023-09-18 17:57:43 +08:00
xattr.c fs: port xattr to mnt_idmap 2024-10-16 10:45:21 +08:00
xattr.h
zlib.c btrfs: use memzero_page() instead of open coded kmap pattern 2021-05-05 11:27:27 -07:00
zoned.c btrfs: store a block_device in struct btrfs_ordered_extent 2021-07-22 15:50:15 +02:00
zoned.h btrfs: zoned: factor out zoned device lookup 2021-06-21 15:19:05 +02:00
zstd.c lib: zstd: Add kernel-specific API 2021-12-22 05:19:34 -05:00