History

Merge tag 'for-6.15/block-20250322' of git://git.kernel.dk/linux

Pull block updates from Jens Axboe: - Fixes for integrity handling - NVMe pull request via Keith: - Secure concatenation for TCP transport (Hannes) - Multipath sysfs visibility (Nilay) - Various cleanups (Qasim, Baruch, Wang, Chen, Mike, Damien, Li) - Correct use of 64-bit BARs for pci-epf target (Niklas) - Socket fix for selinux when used in containers (Peijie) - MD pull request via Yu: - fix recovery can preempt resync (Li Nan) - fix md-bitmap IO limit (Su Yue) - fix raid10 discard with REQ_NOWAIT (Xiao Ni) - fix raid1 memory leak (Zheng Qixing) - fix mddev uaf (Yu Kuai) - fix raid1,raid10 IO flags (Yu Kuai) - some refactor and cleanup (Yu Kuai) - Series cleaning up and fixing bugs in the bad block handling code - Improve support for write failure simulation in null_blk - Various lock ordering fixes - Fixes for locking for debugfs attributes - Various ublk related fixes and improvements - Cleanups for blk-rq-qos wait handling - blk-throttle fixes - Fixes for loop dio and sync handling - Fixes and cleanups for the auto-PI code - Block side support for hardware encryption keys in blk-crypto - Various cleanups and fixes * tag 'for-6.15/block-20250322' of git://git.kernel.dk/linux: (105 commits) nvmet: replace max(a, min(b, c)) by clamp(val, lo, hi) nvme-tcp: fix selinux denied when calling sock_sendmsg nvmet: pci-epf: Always configure BAR0 as 64-bit nvmet: Remove duplicate uuid_copy nvme: zns: Simplify nvme_zone_parse_entry() nvmet: pci-epf: Remove redundant 'flush_workqueue()' calls nvmet-fc: Remove unused functions nvme-pci: remove stale comment nvme-fc: Utilise min3() to simplify queue count calculation nvme-multipath: Add visibility for queue-depth io-policy nvme-multipath: Add visibility for numa io-policy nvme-multipath: Add visibility for round-robin io-policy nvmet: add tls_concat and tls_key debugfs entries nvmet-tcp: support secure channel concatenation nvmet: Add 'sq' argument to alloc_ctrl_args nvme-fabrics: reset admin connection for secure concatenation nvme-tcp: request secure channel concatenation nvme-keyring: add nvme_tls_psk_refresh() nvme: add nvme_auth_derive_tls_psk() nvme: add nvme_auth_generate_digest() ...

Linus Torvalds committed 1 year ago

Commit 9b960d82 parents 91928e0 3c9f0c9128 files · +4059 −1561Browse files

Showing the changes to include/uapi/linux (3 of 128 files). Show all

Unified · Split

3 files
  1. include/uapi/linux/blk-crypto.h +44 −0
  2. include/uapi/linux/fs.h +2 −4
  3. include/uapi/linux/ublk_cmd.h +7 −0
include/uapi/linux/blk-crypto.h+44−0
@@ -0,0 +1,44 @@
1+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2+#ifndef _UAPI_LINUX_BLK_CRYPTO_H
3+#define _UAPI_LINUX_BLK_CRYPTO_H
4+
5+#include <linux/ioctl.h>
6+#include <linux/types.h>
7+
8+struct blk_crypto_import_key_arg {
9+ /* Raw key (input) */
10+ __u64 raw_key_ptr;
11+ __u64 raw_key_size;
12+ /* Long-term wrapped key blob (output) */
13+ __u64 lt_key_ptr;
14+ __u64 lt_key_size;
15+ __u64 reserved[4];
16+};
17+
18+struct blk_crypto_generate_key_arg {
19+ /* Long-term wrapped key blob (output) */
20+ __u64 lt_key_ptr;
21+ __u64 lt_key_size;
22+ __u64 reserved[4];
23+};
24+
25+struct blk_crypto_prepare_key_arg {
26+ /* Long-term wrapped key blob (input) */
27+ __u64 lt_key_ptr;
28+ __u64 lt_key_size;
29+ /* Ephemerally-wrapped key blob (output) */
30+ __u64 eph_key_ptr;
31+ __u64 eph_key_size;
32+ __u64 reserved[4];
33+};
34+
35+/*
36+ * These ioctls share the block device ioctl space; see uapi/linux/fs.h.
37+ * 140-141 are reserved for future blk-crypto ioctls; any more than that would
38+ * require an additional allocation from the block device ioctl space.
39+ */
40+#define BLKCRYPTOIMPORTKEY _IOWR(0x12, 137, struct blk_crypto_import_key_arg)
41+#define BLKCRYPTOGENERATEKEY _IOWR(0x12, 138, struct blk_crypto_generate_key_arg)
42+#define BLKCRYPTOPREPAREKEY _IOWR(0x12, 139, struct blk_crypto_prepare_key_arg)
43+
44+#endif /* _UAPI_LINUX_BLK_CRYPTO_H */
include/uapi/linux/fs.h+2−4
@@ -212,10 +212,8 @@ struct fsxattr { · 211 unmodified lines
212212 #define BLKROTATIONAL _IO(0x12,126)
213213 #define BLKZEROOUT _IO(0x12,127)
214214 #define BLKGETDISKSEQ _IOR(0x12,128,__u64)
215−/*
216− * A jump here: 130-136 are reserved for zoned block devices
217− * (see uapi/linux/blkzoned.h)
218− */
215+/* 130-136 are used by zoned block device ioctls (uapi/linux/blkzoned.h) */
216+/* 137-141 are used by blk-crypto ioctls (uapi/linux/blk-crypto.h) */
219217
220218 #define BMAP_IOCTL 1 /* obsolete - kept for compatibility */
221219 #define FIBMAP _IO(0x00,1) /* bmap access */
include/uapi/linux/ublk_cmd.h+7−0
@@ -405,6 +405,11 @@ struct ublk_param_zoned { · 404 unmodified lines
405405 __u8 reserved[20];
406406 };
407407
408+struct ublk_param_dma_align {
409+ __u32 alignment;
410+ __u8 pad[4];
411+};
412+
408413 struct ublk_params {
409414 /*
410415 * Total length of parameters, userspace has to set 'len' for both
@@ -417,12 +422,14 @@ struct ublk_params { · 6 unmodified lines
417422 #define UBLK_PARAM_TYPE_DISCARD (1 << 1)
418423 #define UBLK_PARAM_TYPE_DEVT (1 << 2)
419424 #define UBLK_PARAM_TYPE_ZONED (1 << 3)
425+#define UBLK_PARAM_TYPE_DMA_ALIGN (1 << 4)
420426 __u32 types; /* types of parameter included */
421427
422428 struct ublk_param_basic basic;
423429 struct ublk_param_discard discard;
424430 struct ublk_param_devt devt;
425431 struct ublk_param_zoned zoned;
432+ struct ublk_param_dma_align dma;
426433 };
427434
428435 #endif