diff options
author | Caleb Sander Mateos <csander@purestorage.com> | 2025-05-06 11:54:12 -0600 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2025-05-06 13:13:49 -0600 |
commit | 86b6e0bd1a69efd0ed408997e0adfb85df96a0c7 (patch) | |
tree | bc9106f5e2c75b6926b87360d48dc5aee9bbbefc | |
parent | 38e8397dde6338c76593ddb17ccf3118fc3f5203 (diff) |
nvme: fix write_stream_granularity initialization
write_stream_granularity is set to max(info->runs, U32_MAX), which means
that any RUNS value less than 2 ** 32 becomes U32_MAX, and any larger
value is silently truncated to an unsigned int.
Use min() instead to provide the correct semantics, capping RUNS values
at U32_MAX.
Signed-off-by: Caleb Sander Mateos <csander@purestorage.com>
Fixes: 30b5f20bb2dd ("nvme: register fdp parameters with the block layer")
Reviewed-by: Keith Busch <kbusch@kernel.org>
Link: https://lore.kernel.org/r/20250506175413.1936110-1-csander@purestorage.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r-- | drivers/nvme/host/core.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c index 52331a14bce1..a9fb8cd54420 100644 --- a/drivers/nvme/host/core.c +++ b/drivers/nvme/host/core.c @@ -2392,7 +2392,7 @@ static int nvme_update_ns_info_block(struct nvme_ns *ns, lim.max_write_streams = ns->head->nr_plids; if (lim.max_write_streams) - lim.write_stream_granularity = max(info->runs, U32_MAX); + lim.write_stream_granularity = min(info->runs, U32_MAX); else lim.write_stream_granularity = 0; |