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() ...
Showing the changes to include/uapi/linux (3 of 128 files). Show all
Unified · Split
| @@ -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 */ | |
| @@ -212,10 +212,8 @@ struct fsxattr { · 211 unmodified lines | ||
| 212 | 212 | #define BLKROTATIONAL _IO(0x12,126) |
| 213 | 213 | #define BLKZEROOUT _IO(0x12,127) |
| 214 | 214 | #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) */ | |
| 219 | 217 | |
| 220 | 218 | #define BMAP_IOCTL 1 /* obsolete - kept for compatibility */ |
| 221 | 219 | #define FIBMAP _IO(0x00,1) /* bmap access */ |
| @@ -405,6 +405,11 @@ struct ublk_param_zoned { · 404 unmodified lines | ||
| 405 | 405 | __u8 reserved[20]; |
| 406 | 406 | }; |
| 407 | 407 | |
| 408 | +struct ublk_param_dma_align { | |
| 409 | + __u32 alignment; | |
| 410 | + __u8 pad[4]; | |
| 411 | +}; | |
| 412 | + | |
| 408 | 413 | struct ublk_params { |
| 409 | 414 | /* |
| 410 | 415 | * Total length of parameters, userspace has to set 'len' for both |
| @@ -417,12 +422,14 @@ struct ublk_params { · 6 unmodified lines | ||
| 417 | 422 | #define UBLK_PARAM_TYPE_DISCARD (1 << 1) |
| 418 | 423 | #define UBLK_PARAM_TYPE_DEVT (1 << 2) |
| 419 | 424 | #define UBLK_PARAM_TYPE_ZONED (1 << 3) |
| 425 | +#define UBLK_PARAM_TYPE_DMA_ALIGN (1 << 4) | |
| 420 | 426 | __u32 types; /* types of parameter included */ |
| 421 | 427 | |
| 422 | 428 | struct ublk_param_basic basic; |
| 423 | 429 | struct ublk_param_discard discard; |
| 424 | 430 | struct ublk_param_devt devt; |
| 425 | 431 | struct ublk_param_zoned zoned; |
| 432 | + struct ublk_param_dma_align dma; | |
| 426 | 433 | }; |
| 427 | 434 | |
| 428 | 435 | #endif |