From nobody Sat Sep 26 19:33:46 2026 Received: from mta1.migadu.com (out-228.mta1.migadu.com [95.215.58.228]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 161933F58C9 for ; Mon, 31 Aug 2026 10:03:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=95.215.58.228 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788170606; cv=none; b=ZikIQSLcDGTiUau6crg6oHQ0/KiTCw0M4MpxTfb8h1fS15N+V0CLdqtz2XQpwGnWlG2D35VjdDN0OrMWTBqfRpwamh326yq+FedDgPi1WkfO79xb+Lep+MSRirzuokD70LQqRzvYdpaLDKmQKSF9HyWrtrEeZP6IswMlcRerVQ0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788170606; c=relaxed/simple; bh=RiIRS3AGgKPweaTKmH4xu7DiGkDeBMPjRujDGqmDXTs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=UpK5zGB5+aDvDAX4d+4tJ1+MEZT2JGuPX4hWnulg9gx2MGNjfBXAdjBBdfBlXvpS081HMMzdKoj+tgxxxnYmvsxdNq7HSbR9V7nV70p5QvWccLd03G9tdK7eAucUxLxMqrBWZr9H9LhdAoIPot3YAHJfcNOZra5QQaDRdsZMe60= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=WvW+57Sg; arc=none smtp.client-ip=95.215.58.228 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="WvW+57Sg" X-Envelope-To: linux-kernel@vger.kernel.org DKIM-Signature: a=rsa-sha256; bh=RiIRS3AGgKPweaTKmH4xu7DiGkDeBMPjRujDGqmDXTs=; c=simple/simple; d=linux.dev; h=from:to:subject:date:message-id:mime-version:content-type; s=key1; t=1788170603; v=1; x=1788775403; b=WvW+57SgegAA9+J38VQFz1ilQ50662cD4G+BqmL4tLfOVeh8G5XxsAsDUDjiz6vv9dfwyhzE iL3QGqVIIQ6mAi/dZ9M9k73z2gCxaYgMGoaLSCkZE4bJKM5KiWQrmenW7xQakndxC5KZ+8QDdOr ml0mDUtraLM/q6+qFA9ewlSo= X-Envelope-To: linux-kernel@vger.kernel.org Received: by smtp.migadu.com with ESMTPS id 61d31954bccd392a; Mon, 31 Aug 2026 10:03:23 +0000 X-Mizu-Trace-ID: 61d31954bccd392a X-Migadu-Flow: FLOW_OUT From: Tao Cui To: bvanassche@acm.org, axboe@kernel.dk Cc: hch@lst.de, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, cui.tao@linux.dev, Tao Cui Subject: [PATCH v2 1/3] loop: drop a stale reference to loop_validate_size() Date: Mon, 31 Aug 2026 18:03:03 +0800 Message-ID: <20260831100305.695116-2-cui.tao@linux.dev> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260831100305.695116-1-cui.tao@linux.dev> References: <20260831100305.695116-1-cui.tao@linux.dev> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Tao Cui The kerneldoc of loop_set_size() points readers at loop_validate_size(), which does not exist in the tree. Drop the reference. Signed-off-by: Tao Cui Reviewed-by: Bart Van Assche Reviewed-by: Christoph Hellwig --- drivers/block/loop.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/block/loop.c b/drivers/block/loop.c index 6f12976035b0..68a9cc7aeb13 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -212,9 +212,6 @@ static inline void loop_update_dio(struct loop_device *= lo) * loop_set_size() - sets device size and notifies userspace * @lo: struct loop_device to set the size for * @size: new size of the loop device - * - * Callers must validate that the size passed into this function fits into - * a sector_t, eg using loop_validate_size() */ static void loop_set_size(struct loop_device *lo, loff_t size) { --=20 2.43.0 From nobody Sat Sep 26 19:33:46 2026 Received: from mta0.migadu.com (out-152.mta0.migadu.com [91.218.175.152]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8C6DA3F8EBE for ; Mon, 31 Aug 2026 10:03:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.152 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788170613; cv=none; b=LLFbFlaGEAV3L822U+Ijc4kfzMXSl3/ID34yJvvqCG3uFmPcnDdAEj3kv3s+c5dLvnD4E+a63lk2Jvfpsbde0IQ6aFYslt4AQoqQhA/G1/g53ypN5gGCnH/ql9mTErzLG3BQYlxnmyk+7V59EXJ/v7MmhAVW2ztnHysNF0OsQkY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788170613; c=relaxed/simple; bh=TGVml8SyWuhwAWqjwtLE2/XHGeXxyb0w8NaxARHgkC8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=fHf5lTm3t7ihs4vzA9gG3egFJC2rEcocZx11Q31c3MUNtgZiDnGp+KzSYlTJYLPynJf9OIqzL9dtM/LXGZE86ylLajVlcnsy4CmP2gZB0nKU9r2mWgQxoaWlGNRQ0lTbQOSYGR+tWAaF0ZghUIyIhKkU8l8BSqlm33D48F9NU84= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=vOaiZqaE; arc=none smtp.client-ip=91.218.175.152 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="vOaiZqaE" X-Envelope-To: linux-kernel@vger.kernel.org DKIM-Signature: a=rsa-sha256; bh=TGVml8SyWuhwAWqjwtLE2/XHGeXxyb0w8NaxARHgkC8=; c=simple/simple; d=linux.dev; h=from:to:subject:date:message-id:mime-version:content-type; s=key1; t=1788170609; v=1; x=1788775409; b=vOaiZqaEF9+8X232s75KBLmSMdfHzJoZdZdUY8ph/Auhb1JhxYHj9gsut7R3h1jyGp+OJFWI GgS+vuHfsUu7Do81Gust5EB8nhMo48ZJuRExQuBhGvj5mJlHzuiIQgPLx/cF9Gai14BWxK+Ig84 +bj4cslA5rSVGkoyi0Gi6ngc= X-Envelope-To: linux-kernel@vger.kernel.org Received: by smtp.migadu.com with ESMTPS id f9338bf56f71e378; Mon, 31 Aug 2026 10:03:29 +0000 X-Mizu-Trace-ID: f9338bf56f71e378 X-Migadu-Flow: FLOW_OUT From: Tao Cui To: bvanassche@acm.org, axboe@kernel.dk Cc: hch@lst.de, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, cui.tao@linux.dev, Tao Cui Subject: [PATCH v2 2/3] loop: replace simple_strtol() with kstrtoint() Date: Mon, 31 Aug 2026 18:03:04 +0800 Message-ID: <20260831100305.695116-3-cui.tao@linux.dev> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260831100305.695116-1-cui.tao@linux.dev> References: <20260831100305.695116-1-cui.tao@linux.dev> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Tao Cui simple_strtol() is deprecated and swallows errors. Use kstrtoint() in the max_loop setup code; an invalid option keeps the default and now says so. Only mark max_loop_specified when the option was parsed successfully. With simple_strtol() a garbage string yields max_loop =3D 0, and loop_probe()'s "max_loop_specified && max_loop" check short-circuits on 0, so legacy autoloading is not capped. Keeping max_loop at its default while still setting max_loop_specified would instead turn the default into a hard upper bound for dynamic device creation. This mirrors what max_loop_param_set_int() already does for the module parameter. Signed-off-by: Tao Cui Reviewed-by off this one for now. Could you take another look when Reviewed-by). --- Changes in v2: - move max_loop_specified =3D true under the success path, pointed out by an AI-assisted review of v1. --- drivers/block/loop.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/block/loop.c b/drivers/block/loop.c index 68a9cc7aeb13..126f42580632 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -2341,7 +2341,10 @@ module_exit(loop_exit); #ifndef MODULE static int __init max_loop_setup(char *str) { - max_loop =3D simple_strtol(str, NULL, 0); + if (kstrtoint(str, 0, &max_loop)) { + pr_warn("loop: invalid max_loop, keeping default\n"); + return 1; + } #ifdef CONFIG_BLOCK_LEGACY_AUTOLOAD max_loop_specified =3D true; #endif --=20 2.43.0 From nobody Sat Sep 26 19:33:46 2026 Received: from mta1.migadu.com (out-235.mta1.migadu.com [95.215.58.235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A2BB93FB067 for ; Mon, 31 Aug 2026 10:03:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=95.215.58.235 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788170617; cv=none; b=WC7fi2zp0FYlcwIIZsK340insREgvQ768673js3lbZFjKqX3Dyh3kAC51XvpV2oNs4gudF+ulMkViLlF0UOqnXSKXHP+ijFl77MUQCIs1ZAWjgMGFuuDuGWCTHRxng9oRHcjI1mepysyIbLYWxSpEY5gW/p+uSH4XOzfPNLzF8s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788170617; c=relaxed/simple; bh=msNGKfPbz9m7HBz/I4U/FvBOAiAK0b9KMdY0WUWTEno=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=aVXITtE8SbKzyo5RWVSRXn+tu97Y8/80l7G1WJWcV4hJTKWequfRkPSR1v5Y2N35ygf+RzBTPzW550ZijCKu1ukzQgHSGy07LYtX8DZPRnBN7Bxs++zvOvDFTAYQGsDSeYY7hj2wgnwfz5V+Ck3KG2OsnNqFOAPKF8IOmGzcG74= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=PtyF82ot; arc=none smtp.client-ip=95.215.58.235 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="PtyF82ot" X-Envelope-To: linux-kernel@vger.kernel.org DKIM-Signature: a=rsa-sha256; bh=msNGKfPbz9m7HBz/I4U/FvBOAiAK0b9KMdY0WUWTEno=; c=simple/simple; d=linux.dev; h=from:to:subject:date:message-id:mime-version:content-type; s=key1; t=1788170613; v=1; x=1788775413; b=PtyF82otjKNHqNaQPOx4ZrFIr2SQW4tEecUMhWpJJDrtdVl7ebp5zBmKJ8S7ls9LLt0ZlD0a lOylvJY9wFSTTdQACFT3IPj3+AciXWWys7wu+8GzdVE8T3DiWAk2nHh32Kd/T2vPHFgzjEMnbgP Evs9I4B7UJWjiyVL8Cn2asHA= X-Envelope-To: linux-kernel@vger.kernel.org Received: by smtp.migadu.com with ESMTPS id 8182e1c89fcaaebb; Mon, 31 Aug 2026 10:03:33 +0000 X-Mizu-Trace-ID: 8182e1c89fcaaebb X-Migadu-Flow: FLOW_OUT From: Tao Cui To: bvanassche@acm.org, axboe@kernel.dk Cc: hch@lst.de, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, cui.tao@linux.dev, Tao Cui Subject: [PATCH v2 3/3] loop: drop the unused argument of lo_req_flush() Date: Mon, 31 Aug 2026 18:03:05 +0800 Message-ID: <20260831100305.695116-4-cui.tao@linux.dev> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260831100305.695116-1-cui.tao@linux.dev> References: <20260831100305.695116-1-cui.tao@linux.dev> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Tao Cui lo_req_flush() never uses its request argument. Drop it. Signed-off-by: Tao Cui Reviewed-by: Bart Van Assche Reviewed-by: Christoph Hellwig --- drivers/block/loop.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/block/loop.c b/drivers/block/loop.c index 126f42580632..1aff40963b40 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -270,7 +270,7 @@ static int lo_fallocate(struct loop_device *lo, struct = request *rq, loff_t pos, return ret; } =20 -static int lo_req_flush(struct loop_device *lo, struct request *rq) +static int lo_req_flush(struct loop_device *lo) { int ret =3D vfs_fsync(lo->lo_backing_file, 0); if (unlikely(ret && ret !=3D -EINVAL)) @@ -411,7 +411,7 @@ static int do_req_filebacked(struct loop_device *lo, st= ruct request *rq) =20 switch (req_op(rq)) { case REQ_OP_FLUSH: - return lo_req_flush(lo, rq); + return lo_req_flush(lo); case REQ_OP_WRITE_ZEROES: /* * If the caller doesn't want deallocation, call zeroout to --=20 2.43.0