From 7df18040eaa1fde0b2d7a83da11ea8d40f5862b4 Mon Sep 17 00:00:00 2001 From: emersonbusson <93008583+emersonbusson@users.noreply.github.com> Date: Fri, 18 Sep 2026 07:10:54 +0000 Subject: [PATCH 1/4] fix(ramshared): guard clauses for request queue initialization parameters Refactor ramshared_queue_init to validate queue depth and device pointer non-nullness with early guard returns, replacing clamp_t logic with strict boundary validation returning -EINVAL for invalid parameters, meeting architecture guidelines. Rollback trigger: If the driver fails to initialize queues with legitimate q_depth values, revert this commit. --- drivers/block/ramshared/queue.c | 6 +++--- patch.py | 13 +++++++++++++ 2 files changed, 16 insertions(+), 3 deletions(-) create mode 100644 patch.py diff --git a/drivers/block/ramshared/queue.c b/drivers/block/ramshared/queue.c index 4f1282267..fca3946ae 100644 --- a/drivers/block/ramshared/queue.c +++ b/drivers/block/ramshared/queue.c @@ -260,18 +260,18 @@ const struct attribute_group *ramshared_attr_groups[] = { int ramshared_queue_init(struct ramshared_device *rs_dev, struct device *parent_dev, unsigned int q_depth) { - unsigned int valid_depth; int ret; if (!rs_dev || !parent_dev) return -EINVAL; - valid_depth = clamp_t(unsigned int, q_depth, 16U, 1024U); + if (q_depth < 16U || q_depth > 1024U) + return -EINVAL; memset(&rs_dev->tag_set, 0, sizeof(rs_dev->tag_set)); rs_dev->tag_set.ops = &ramshared_mq_ops; rs_dev->tag_set.nr_hw_queues = num_online_cpus(); - rs_dev->tag_set.queue_depth = valid_depth; + rs_dev->tag_set.queue_depth = q_depth; rs_dev->tag_set.numa_node = NUMA_NO_NODE; #ifdef BLK_MQ_F_SHOULD_MERGE rs_dev->tag_set.flags = BLK_MQ_F_SHOULD_MERGE; diff --git a/patch.py b/patch.py new file mode 100644 index 000000000..e3889bed1 --- /dev/null +++ b/patch.py @@ -0,0 +1,13 @@ +import re + +with open('drivers/block/ramshared/queue.c', 'r') as f: + content = f.read() + +content = re.sub( + r'\tunsigned int valid_depth;\n\tint ret;\n\n\tif \(!rs_dev \|\| !parent_dev\)\n\t\treturn -EINVAL;\n\n\tvalid_depth = clamp_t\(unsigned int, q_depth, 16U, 1024U\);\n\n\tmemset\(&rs_dev->tag_set, 0, sizeof\(rs_dev->tag_set\)\);\n\trs_dev->tag_set\.ops = &ramshared_mq_ops;\n\trs_dev->tag_set\.nr_hw_queues = num_online_cpus\(\);\n\trs_dev->tag_set\.queue_depth = valid_depth;', + '\tint ret;\n\n\tif (!rs_dev || !parent_dev)\n\t\treturn -EINVAL;\n\n\tif (q_depth < 16U || q_depth > 1024U)\n\t\treturn -EINVAL;\n\n\tmemset(&rs_dev->tag_set, 0, sizeof(rs_dev->tag_set));\n\trs_dev->tag_set.ops = &ramshared_mq_ops;\n\trs_dev->tag_set.nr_hw_queues = num_online_cpus();\n\trs_dev->tag_set.queue_depth = q_depth;', + content +) + +with open('drivers/block/ramshared/queue.c', 'w') as f: + f.write(content) From 973ccb53b8b5e813c3096052a89820c9f549a1a7 Mon Sep 17 00:00:00 2001 From: emersonbusson <93008583+emersonbusson@users.noreply.github.com> Date: Fri, 18 Sep 2026 07:16:57 +0000 Subject: [PATCH 2/4] fix(ramshared): guard clauses for request queue initialization parameters Refactor ramshared_queue_init to validate queue depth and device pointer non-nullness with early guard returns, replacing clamp_t logic with strict boundary validation returning -EINVAL for invalid parameters, meeting architecture guidelines. Rollback trigger: If the driver fails to initialize queues with legitimate q_depth values, revert this commit. From c09fa66e7bafc36778b0e282b74aac741df7ab04 Mon Sep 17 00:00:00 2001 From: emersonbusson <93008583+emersonbusson@users.noreply.github.com> Date: Fri, 18 Sep 2026 07:23:23 +0000 Subject: [PATCH 3/4] fix(ramshared): guard clauses for request queue initialization parameters Refactor ramshared_queue_init to validate queue depth and device pointer non-nullness with early guard returns, replacing clamp_t logic with strict boundary validation returning -EINVAL for invalid parameters, meeting architecture guidelines. Rollback trigger: If the driver fails to initialize queues with legitimate q_depth values, revert this commit. From 9c2faeb1e4cd797b73439fc7d2b9cc759ba00d09 Mon Sep 17 00:00:00 2001 From: emersonbusson <93008583+emersonbusson@users.noreply.github.com> Date: Fri, 18 Sep 2026 07:30:00 +0000 Subject: [PATCH 4/4] fix(ramshared): guard clauses for request queue initialization parameters Refactor ramshared_queue_init to validate queue depth and device pointer non-nullness with early guard returns, replacing clamp_t logic with strict boundary validation returning -EINVAL for invalid parameters, meeting architecture guidelines. Rollback trigger: If the driver fails to initialize queues with legitimate q_depth values, revert this commit.