From nobody Wed Oct 8 05:54:58 2025 Received: from outbound.pv.icloud.com (p-west1-cluster4-host1-snip4-10.eps.apple.com [57.103.65.141]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F330027A44C for ; Tue, 1 Jul 2025 15:25:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=57.103.65.141 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751383541; cv=none; b=tyoXKXfEPSPS3MjfvXXvYefhEhl+LUeMl6vlO6b9KAcWcQAtC+NXIYFolwRhkOcA1XTMgC52R/Z/ygp+OPQwEXafYQGjty26Lm8KgX5iS9ULuEkge092uM0NENZ7qw6r5RASD9p3/bR0Hf1LeHoSDjz5h3QQIvGiXNjI3eneTok= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751383541; c=relaxed/simple; bh=ToT/qrB5vmw8oj3wHwC2wdBpYqz1cqLUWloS/5fBO0E=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=cyBQI8L0iq1kftUycauPdFcitkjngXre3sdHRCXfNkEppKwtvU2HqeJlO2YBtRom2WiGuDNktOiKymP7d0UL87/kheJQ8l890HcUjE0CloQNaspaiRwakishQs0ZhJatUHepL0QWAHoip+CNkoZsqrRwEo1kHA2HJQPdTmYR4Uk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=icloud.com; spf=pass smtp.mailfrom=icloud.com; dkim=pass (2048-bit key) header.d=icloud.com header.i=@icloud.com header.b=X8KQSdvp; arc=none smtp.client-ip=57.103.65.141 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=icloud.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=icloud.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=icloud.com header.i=@icloud.com header.b="X8KQSdvp" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=1a1hai; bh=MUmH/dSLuMIQ3BghP0YpZ08ZyiT9o160Xdozk2ClE7g=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:x-icloud-hme; b=X8KQSdvplGYOrBJa08wp8/uD5Vxiefd2KUe8kIX9eUeXj4zQPRS+63MfHIM2+3Wdw Nzf0hg9aN2I05BR5D9CYHAXbBNhcI1NdcMgdqnex8gTrloyZaEYPz9tfDP4n3Rj521 WcFKyVnfhNY8ZVD7qjlvu98UxrK5rnnhgpCQWsVzu5NPQT81PLPdWPGNLvJPJ+/aXn tMoAZ9HPf70M7YMf625/yFr0uncsvlU8lk1WXpj3NuCwVk0M//Rqb0QRg7at9OJJN2 6L7frFbEVyB0hRHXYF8/BVAati/Ce94Dtg5k53GOFW7Tn5vSXhfBBM9yYXvubo7vnb hpJnq4Cp3FJCg== Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by outbound.pv.icloud.com (Postfix) with ESMTPS id BD95A1800169; Tue, 1 Jul 2025 15:25:35 +0000 (UTC) Received: from [192.168.1.26] (pv-asmtp-me-k8s.p00.prod.me.com [17.56.9.36]) by outbound.pv.icloud.com (Postfix) with ESMTPSA id 5B00818000B4; Tue, 1 Jul 2025 15:25:23 +0000 (UTC) From: Zijun Hu Date: Tue, 01 Jul 2025 23:24:39 +0800 Subject: [PATCH v2 1/9] char: misc: Move drivers/misc/misc_minor_kunit.c to drivers/char/ Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250701-rfc_miscdev-v2-1-3eb22bf533be@oss.qualcomm.com> References: <20250701-rfc_miscdev-v2-0-3eb22bf533be@oss.qualcomm.com> In-Reply-To: <20250701-rfc_miscdev-v2-0-3eb22bf533be@oss.qualcomm.com> To: Arnd Bergmann , Greg Kroah-Hartman , Jean Delvare , Guenter Roeck , Rudolf Marek , Wim Van Sebroeck , "James E.J. Bottomley" , Helge Deller , "David S. Miller" , Andreas Larsson Cc: Thadeu Lima de Souza Cascardo , Zijun Hu , linux-kernel@vger.kernel.org, linux-hwmon@vger.kernel.org, linux-watchdog@vger.kernel.org, linux-parisc@vger.kernel.org, sparclinux@vger.kernel.org, Zijun Hu X-Mailer: b4 0.14.2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzAxMDEwMyBTYWx0ZWRfX0aIv1eQUrHuN thMTjwjJOzYamKeHqq9XE0RTZeiLkc5SwVnwO1Em4ojdU683RuII+VtgwXlArIZ3pIedAJCSpi4 6mXfBHTRrhIRKX1cSwc+IcV72pCOMZHWlSegA4Ahl7TwBCKJJh8PQvEdtZUvUciml779PGhc5xZ UPi7B5Cqo5+9ZDZE5hvtvERirDUpgS7i9Rl+3R8pSHMaku24tVBVO7Ifi9ngyx2tovERx9qtijw x9jjUOpcHpxN3juAGeZAmEO+IXm7tve2jlf6BGkqgajRldPPpFZfHbTn/V99Uwek+AZQ1Xtfk= X-Proofpoint-GUID: COsbJGt4oiL_TVfqkY23ieirxVF4HMrO X-Proofpoint-ORIG-GUID: COsbJGt4oiL_TVfqkY23ieirxVF4HMrO X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.7,FMLib:17.12.80.40 definitions=2025-07-01_02,2025-06-27_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 malwarescore=0 adultscore=0 spamscore=0 clxscore=1015 phishscore=0 bulkscore=0 mlxlogscore=915 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.22.0-2506060001 definitions=main-2507010103 From: Zijun Hu drivers/misc/misc_minor_kunit.c is to test miscdevice APIs defined in drivers/char/misc.c, but is not in the same directory as the later. Move misc_minor_kunit.c to drivers/char/. Signed-off-by: Zijun Hu --- drivers/char/Makefile | 1 + drivers/{misc =3D> char}/misc_minor_kunit.c | 0 drivers/misc/Makefile | 1 - 3 files changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/char/Makefile b/drivers/char/Makefile index e9b360cdc99a7fee9c70eabcffe9caf763552aa2..7d10d92edcedbff5957d6c5c342= 6aa9400c94e43 100644 --- a/drivers/char/Makefile +++ b/drivers/char/Makefile @@ -6,6 +6,7 @@ obj-y +=3D mem.o random.o obj-$(CONFIG_TTY_PRINTK) +=3D ttyprintk.o obj-y +=3D misc.o +obj-$(CONFIG_TEST_MISC_MINOR) +=3D misc_minor_kunit.o obj-$(CONFIG_ATARI_DSP56K) +=3D dsp56k.o obj-$(CONFIG_VIRTIO_CONSOLE) +=3D virtio_console.o obj-$(CONFIG_UV_MMTIMER) +=3D uv_mmtimer.o diff --git a/drivers/misc/misc_minor_kunit.c b/drivers/char/misc_minor_kuni= t.c similarity index 100% rename from drivers/misc/misc_minor_kunit.c rename to drivers/char/misc_minor_kunit.c diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile index 917b9a7183aa1db63cc4049c042c3437f6756a1a..94f44e6c2db79dedc3839bbfb53= e10cde103fbc6 100644 --- a/drivers/misc/Makefile +++ b/drivers/misc/Makefile @@ -23,7 +23,6 @@ obj-$(CONFIG_SENSORS_BH1770) +=3D bh1770glc.o obj-$(CONFIG_SENSORS_APDS990X) +=3D apds990x.o obj-$(CONFIG_ENCLOSURE_SERVICES) +=3D enclosure.o obj-$(CONFIG_KGDB_TESTS) +=3D kgdbts.o -obj-$(CONFIG_TEST_MISC_MINOR) +=3D misc_minor_kunit.o obj-$(CONFIG_SGI_XP) +=3D sgi-xp/ obj-$(CONFIG_SGI_GRU) +=3D sgi-gru/ obj-$(CONFIG_SMPRO_ERRMON) +=3D smpro-errmon.o --=20 2.34.1 From nobody Wed Oct 8 05:54:58 2025 Received: from outbound.pv.icloud.com (p-west1-cluster2-host7-snip4-3.eps.apple.com [57.103.64.194]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 27A8027C162 for ; Tue, 1 Jul 2025 15:25:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=57.103.64.194 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751383542; cv=none; b=FsTuH/0qFsAWqle3K9nOu3yBjK0eHm7E3CFSmKN0vJSDSGn/nYc8lScYx+PSvrcIkuK50QluyHQAirNBgesxWzoYFYIT3KJF2OkzfpOVNW/Sv15SdozX+EAXx1KoEpYBgZsK4q32wyZcE8YfbkxGKbfrhoVwHLoIHZsFaY4W018= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751383542; c=relaxed/simple; bh=a0Fmr5Ma8nogUPchBdjHRJTchby/j/GeMZ1mQtEsXb0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=PlzirrswYTaWfPZtea0Slrr3NAfe/OTwT0nhGDT7+fq/77OQuv5yuQhyRIftbSQcKinFk5orTcrAGgTAwCsdL7vvXZG0zV+bORSFbhUiBx6MfurWvXmWYUIFqtp2+BLUKEqqd6AfOY9J87W8SVZNiJ7aXFkT13yBjo5e+Ycnp4A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=icloud.com; spf=pass smtp.mailfrom=icloud.com; dkim=pass (2048-bit key) header.d=icloud.com header.i=@icloud.com header.b=C/VNz0Ph; arc=none smtp.client-ip=57.103.64.194 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=icloud.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=icloud.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=icloud.com header.i=@icloud.com header.b="C/VNz0Ph" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=1a1hai; bh=S6JRYwPZKS734gM/R0sULr/pZk9DTkb9x/1Vr4wyhCg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:x-icloud-hme; b=C/VNz0Ph3TyYpSiKfyRC4LW4Jg61oktL/fTP26TQcggJqxgv2p2hH+4y/uxvvViCF 5UcdYXEdmgFF0iugqNT+CethejSk69xb1atNo1fphtTxMKN8Xuyp/0Z7FxNqS/QDDA 2nc62Ms+L78WSqBRfD86nsfH/wkCu8Ty6II7uaxBKtlD4Qg3MbTzq49ml9QEMPKNFc I0vIcBYVRSgEbOUoh41sLs1kaePnG9zRNMRUG0k3grHN7hZF6dKK+VT4PPAHWvzPSp Zd0q2l8Za3gFqHowBJHgSRvJ8+LAMEywKnOCQzLypU6L9+hEAjl837KxK9tQwC/nlm YlMXayN7A9Gjw== Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by outbound.pv.icloud.com (Postfix) with ESMTPS id 1C03F1800198; Tue, 1 Jul 2025 15:25:37 +0000 (UTC) Received: from [192.168.1.26] (pv-asmtp-me-k8s.p00.prod.me.com [17.56.9.36]) by outbound.pv.icloud.com (Postfix) with ESMTPSA id 586E91800167; Tue, 1 Jul 2025 15:25:28 +0000 (UTC) From: Zijun Hu Date: Tue, 01 Jul 2025 23:24:40 +0800 Subject: [PATCH v2 2/9] char: misc: Adapt and add test cases for simple minor space division Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250701-rfc_miscdev-v2-2-3eb22bf533be@oss.qualcomm.com> References: <20250701-rfc_miscdev-v2-0-3eb22bf533be@oss.qualcomm.com> In-Reply-To: <20250701-rfc_miscdev-v2-0-3eb22bf533be@oss.qualcomm.com> To: Arnd Bergmann , Greg Kroah-Hartman , Jean Delvare , Guenter Roeck , Rudolf Marek , Wim Van Sebroeck , "James E.J. Bottomley" , Helge Deller , "David S. Miller" , Andreas Larsson Cc: Thadeu Lima de Souza Cascardo , Zijun Hu , linux-kernel@vger.kernel.org, linux-hwmon@vger.kernel.org, linux-watchdog@vger.kernel.org, linux-parisc@vger.kernel.org, sparclinux@vger.kernel.org, Zijun Hu X-Mailer: b4 0.14.2 X-Proofpoint-ORIG-GUID: p9XhtsSexeEv0UKMNOHUUdyp6YpxL9uZ X-Proofpoint-GUID: p9XhtsSexeEv0UKMNOHUUdyp6YpxL9uZ X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzAxMDEwMyBTYWx0ZWRfX1rfSpScUb4WZ ccJTTkIOLRUTOU71wP5BMKdmZyylOeccxYK+xLg2YxrB4DSl+tQZuh/Nw+J2W5HqCQJjSHgRaZU UOEGVmAApYST3Km+IB0XUsoEJzCvD4ruftMI7YClO59YZtJZIHr4PRlKDEg6jtKQv+jneZtduN4 94zTFlBtV8K69Y7nmfhmp2UsUcrtsCGICCrvUJ3oi3XniajSz3snaNA5pvhuTdsAqj3BoFTXGrm 5HEbSHMdf5R96mt39ar3wrp/LUb/wc5swpZKSgs6UpfwVmXc87QTV5jKg7S6t40P37Vdhm8u4= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.7,FMLib:17.12.80.40 definitions=2025-07-01_02,2025-06-27_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 phishscore=0 suspectscore=0 malwarescore=0 clxscore=1015 adultscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.22.0-2506060001 definitions=main-2507010103 From: Zijun Hu Adapt and add test cases for next change which Regard minor which > MISC_DYNAMIC_MINOR as invalid parameter when register miscdevice, hence get a simple minor space division below: |< 255 : Fixed minor code |=3D=3D 255 : Indicator to request dynamic minor code |> 255 : Dynamic minor code requested, 1048320 minor codes totally. Signed-off-by: Zijun Hu --- drivers/char/misc_minor_kunit.c | 51 +++++++++++++++++--------------------= ---- 1 file changed, 21 insertions(+), 30 deletions(-) diff --git a/drivers/char/misc_minor_kunit.c b/drivers/char/misc_minor_kuni= t.c index 30eceac5f1b6402b0f918af6f56602ed1a6c14ec..81e2ef488a6f6ae7138c7dd8bcb= effe38aa65933 100644 --- a/drivers/char/misc_minor_kunit.c +++ b/drivers/char/misc_minor_kunit.c @@ -7,12 +7,6 @@ #include #include =20 -/* dynamic minor (2) */ -static struct miscdevice dev_dynamic_minor =3D { - .minor =3D 2, - .name =3D "dev_dynamic_minor", -}; - /* static minor (LCD_MINOR) */ static struct miscdevice dev_static_minor =3D { .minor =3D LCD_MINOR, @@ -25,16 +19,6 @@ static struct miscdevice dev_misc_dynamic_minor =3D { .name =3D "dev_misc_dynamic_minor", }; =20 -static void kunit_dynamic_minor(struct kunit *test) -{ - int ret; - - ret =3D misc_register(&dev_dynamic_minor); - KUNIT_EXPECT_EQ(test, 0, ret); - KUNIT_EXPECT_EQ(test, 2, dev_dynamic_minor.minor); - misc_deregister(&dev_dynamic_minor); -} - static void kunit_static_minor(struct kunit *test) { int ret; @@ -157,13 +141,7 @@ static bool is_valid_dynamic_minor(int minor) { if (minor < 0) return false; - if (minor =3D=3D MISC_DYNAMIC_MINOR) - return false; - if (minor >=3D 0 && minor <=3D 15) - return false; - if (minor >=3D 128 && minor < MISC_DYNAMIC_MINOR) - return false; - return true; + return minor > MISC_DYNAMIC_MINOR; } =20 static int miscdev_test_open(struct inode *inode, struct file *file) @@ -557,7 +535,7 @@ static void __init miscdev_test_conflict(struct kunit *= test) */ miscstat.minor =3D miscdyn.minor; ret =3D misc_register(&miscstat); - KUNIT_EXPECT_EQ(test, ret, -EBUSY); + KUNIT_EXPECT_EQ(test, ret, -EINVAL); if (ret =3D=3D 0) misc_deregister(&miscstat); =20 @@ -590,8 +568,9 @@ static void __init miscdev_test_conflict_reverse(struct= kunit *test) misc_deregister(&miscdyn); =20 ret =3D misc_register(&miscstat); - KUNIT_EXPECT_EQ(test, ret, 0); - KUNIT_EXPECT_EQ(test, miscstat.minor, miscdyn.minor); + KUNIT_EXPECT_EQ(test, ret, -EINVAL); + if (ret =3D=3D 0) + misc_deregister(&miscstat); =20 /* * Try to register a dynamic minor after registering a static minor @@ -601,20 +580,32 @@ static void __init miscdev_test_conflict_reverse(stru= ct kunit *test) miscdyn.minor =3D MISC_DYNAMIC_MINOR; ret =3D misc_register(&miscdyn); KUNIT_EXPECT_EQ(test, ret, 0); - KUNIT_EXPECT_NE(test, miscdyn.minor, miscstat.minor); + KUNIT_EXPECT_EQ(test, miscdyn.minor, miscstat.minor); KUNIT_EXPECT_TRUE(test, is_valid_dynamic_minor(miscdyn.minor)); if (ret =3D=3D 0) misc_deregister(&miscdyn); +} =20 - miscdev_test_can_open(test, &miscstat); +/* Take minor(> MISC_DYNAMIC_MINOR) as invalid when register miscdevice */ +static void __init miscdev_test_invalid_input(struct kunit *test) +{ + struct miscdevice misc_test =3D { + .minor =3D MISC_DYNAMIC_MINOR + 1, + .name =3D "misc_test", + .fops =3D &miscdev_test_fops, + }; + int ret; =20 - misc_deregister(&miscstat); + ret =3D misc_register(&misc_test); + KUNIT_EXPECT_EQ(test, ret, -EINVAL); + if (ret =3D=3D 0) + misc_deregister(&misc_test); } =20 static struct kunit_case test_cases[] =3D { - KUNIT_CASE(kunit_dynamic_minor), KUNIT_CASE(kunit_static_minor), KUNIT_CASE(kunit_misc_dynamic_minor), + KUNIT_CASE(miscdev_test_invalid_input), KUNIT_CASE_PARAM(miscdev_test_twice, miscdev_gen_params), KUNIT_CASE_PARAM(miscdev_test_duplicate_minor, miscdev_gen_params), KUNIT_CASE(miscdev_test_duplicate_name), --=20 2.34.1 From nobody Wed Oct 8 05:54:58 2025 Received: from outbound.pv.icloud.com (p-west1-cluster2-host2-snip4-1.eps.apple.com [57.103.64.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 17A4027E7D8 for ; Tue, 1 Jul 2025 15:25:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=57.103.64.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751383547; cv=none; b=r5DJeaFhCkaLPBEpIjEqJetBJ3se9y3OUD3gk9TCmZW3Pwp7AVWM5OF9zCArWquLKBJRzPL7Sy66hCCZ5i6bAwF61SSEvvFTQLkBZWZlIvyK4+Vb2jaFpZoxoqEWhX1rPcJ+s7gCaeUO73gaYC195YymRG4Krd9jAZKTIX2xNiM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751383547; c=relaxed/simple; bh=Y6fwgsRleYFe3vmL0Qkpoex3Lw83IPXlvQn/PZLO5R4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jQ3lWqG2KjRgnYszkC5NDYRYMrgAYaUwEvhtjAiT5ltHSj80Qp/9Zi8PG9pDn5N4N5nYnOQJc3Osb9U53JZEZnBrxqFzH30N/V64XkSjypDja8dqf7Nu6tkAfX0k3vLm8NOxzgF7GZ+sFWCt8veOD3MwHfSUJO5A135DJl/MFzU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=icloud.com; spf=pass smtp.mailfrom=icloud.com; dkim=pass (2048-bit key) header.d=icloud.com header.i=@icloud.com header.b=T6WeffsP; arc=none smtp.client-ip=57.103.64.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=icloud.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=icloud.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=icloud.com header.i=@icloud.com header.b="T6WeffsP" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=1a1hai; bh=M9thk0HWSASu15ggFGqvr7qHauPRfJDZWE65nGcVLhc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:x-icloud-hme; b=T6WeffsPWTbmLWdqDUuuRdv50xNAP/shlj3x14HPe5HPZr9hoBqSTH1fhPcnAlsrc ZIQLBalvFCliLLds3wW9WlmcjpZj0RJpLX8cVhNTehTSZNtMHyLaJQeJtbbxKGPFs2 PsvwgxCVZeszNwM1EiiLSeE9YBgPum8XVFjBt0U20LZoAEbn0wBROrH1XjCjZXjGiw SFBTpYbyaQS0rGqC7RuVlA8IOtH6QRFVBfgaEsw7fYOEOpH4oWOsVP9fwzTmpOgYVK J2oS7bBBho+PDDqgQoVenDUylCh6c+uIbCKfOv9E6kAZk9Db81ZkXLsz8A3qH6jp58 kgiJ4N6ul/+dQ== Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by outbound.pv.icloud.com (Postfix) with ESMTPS id 326AC180009F; Tue, 1 Jul 2025 15:25:40 +0000 (UTC) Received: from [192.168.1.26] (pv-asmtp-me-k8s.p00.prod.me.com [17.56.9.36]) by outbound.pv.icloud.com (Postfix) with ESMTPSA id 56B7F18001A6; Tue, 1 Jul 2025 15:25:33 +0000 (UTC) From: Zijun Hu Date: Tue, 01 Jul 2025 23:24:41 +0800 Subject: [PATCH v2 3/9] char: misc: Disallow registering miscdevice whose minor > MISC_DYNAMIC_MINOR Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250701-rfc_miscdev-v2-3-3eb22bf533be@oss.qualcomm.com> References: <20250701-rfc_miscdev-v2-0-3eb22bf533be@oss.qualcomm.com> In-Reply-To: <20250701-rfc_miscdev-v2-0-3eb22bf533be@oss.qualcomm.com> To: Arnd Bergmann , Greg Kroah-Hartman , Jean Delvare , Guenter Roeck , Rudolf Marek , Wim Van Sebroeck , "James E.J. Bottomley" , Helge Deller , "David S. Miller" , Andreas Larsson Cc: Thadeu Lima de Souza Cascardo , Zijun Hu , linux-kernel@vger.kernel.org, linux-hwmon@vger.kernel.org, linux-watchdog@vger.kernel.org, linux-parisc@vger.kernel.org, sparclinux@vger.kernel.org, Zijun Hu X-Mailer: b4 0.14.2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzAxMDEwMyBTYWx0ZWRfX2eKciueVJqyJ CR08dIAkhtsO8MA+fsbyGFkuDcG8yod6ONaXdMJcxquBwdhaHADSp739VMKgrpsJ1msK9BPo+7+ mldJ/sfRsJkLJJ5eJ0gFLd9fuGyDQFf41uQL1epsdglmcXJmHZIFPuS3JaAj2fnIOK2tpYlwi1n Bsla2ye4d8MuDV63XZgiN2M5DLeO4/m59ZE1Hs8WLcgZUesLvP4JsZLvTwkYf+HcIJhq77PySFj MjPMktA2VMsXn7o6gUA6BQ/e0pgc/49VqrKnhmrEqtg2CfZeRz/W9XjaECci5D+9yQmQZL7s4= X-Proofpoint-GUID: c6trp0oY4JwYkK3lGfQeBSo5JLI4xzjd X-Proofpoint-ORIG-GUID: c6trp0oY4JwYkK3lGfQeBSo5JLI4xzjd X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.7,FMLib:17.12.80.40 definitions=2025-07-01_02,2025-06-27_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 malwarescore=0 spamscore=0 mlxlogscore=999 mlxscore=0 adultscore=0 suspectscore=0 bulkscore=0 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.22.0-2506060001 definitions=main-2507010103 From: Zijun Hu Currently, It is allowed to register miscdevice with minor > 255 which is defined by macro MISC_DYNAMIC_MINOR, and cause: - Chaos regarding divison and management of minor codes. - Registering failure if the minor was allocated to other dynamic request. Fortunately, in-kernel users have not had such usage yet. Fix by explicitly refusing to register miscdev whose minor > 255. Also bring in very simple minor code space division and management: |< 255 : Fixed minor code |=3D=3D 255 : Indicator to request dynamic minor code |> 255 : Dynamic minor code requested, 1048320 minor codes totally And all fixed minors allocated should be registered in 'linux/miscdevice.h' Signed-off-by: Zijun Hu --- drivers/char/misc.c | 6 ++++++ include/linux/miscdevice.h | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/drivers/char/misc.c b/drivers/char/misc.c index 558302a64dd908aee30341547a5413df1af71459..b8e66466184fa21fb66d968db79= 50e0b5669ac43 100644 --- a/drivers/char/misc.c +++ b/drivers/char/misc.c @@ -210,6 +210,12 @@ int misc_register(struct miscdevice *misc) int err =3D 0; bool is_dynamic =3D (misc->minor =3D=3D MISC_DYNAMIC_MINOR); =20 + if (misc->minor > MISC_DYNAMIC_MINOR) { + pr_err("Invalid fixed minor %d for miscdevice '%s'\n", + misc->minor, misc->name); + return -EINVAL; + } + INIT_LIST_HEAD(&misc->list); =20 mutex_lock(&misc_mtx); diff --git a/include/linux/miscdevice.h b/include/linux/miscdevice.h index 3e6deb00fc8535a7571f85489c74979e18385bad..565b88efeb23d02b7d91df1cd7d= f4bdcf2898224 100644 --- a/include/linux/miscdevice.h +++ b/include/linux/miscdevice.h @@ -71,6 +71,14 @@ #define USERIO_MINOR 240 #define VHOST_VSOCK_MINOR 241 #define RFKILL_MINOR 242 + +/* + * Misc char device minor code space division related to below macro: + * + * < 255 : Fixed minor code + * =3D=3D 255 : Indicator to request dynamic minor code + * > 255 : Dynamic minor code requested, 1048320 minor codes totally. + */ #define MISC_DYNAMIC_MINOR 255 =20 struct miscdevice { --=20 2.34.1 From nobody Wed Oct 8 05:54:58 2025 Received: from outbound.pv.icloud.com (p-west1-cluster2-host8-snip4-5.eps.apple.com [57.103.64.206]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1577027EFF5 for ; Tue, 1 Jul 2025 15:25:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=57.103.64.206 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751383553; cv=none; b=eKJjW2W2+bQfV+paYkZGgCLZDVlrSWmm/+x9EQzof6/YG+shWod/kjQwFs/vVSKstgXKYpHSk6blH25sst6dLMKp8oq1JLLVMVpeKZsQLxhU1gf1fN6bQ7cUr74hKvGwQhz6okX8t/EHi9FPTTDbOtWsqrKPjQSbMrwLhn1eJ4Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751383553; c=relaxed/simple; bh=eDFAjlhHJSW5X2fZbEtsYeL02eHd3XwjtVhkzfcoyEg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gA8OZNNPaiqwY8I5CCSWE79mLTWgkKe3YM7zWS3nt80Ae8YJz9Wkvav8KkY7ZNWPdaUbhR0O1QIx8UX3lDTh9QFLOZVmx+CcBSjk6BPvb/unXNTs2CcMdQBXAx8Txszx3GgvXGEgO64rzCwsz1zaLtypZ/tK1hS43f7xRmuQtlg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=icloud.com; spf=pass smtp.mailfrom=icloud.com; dkim=pass (2048-bit key) header.d=icloud.com header.i=@icloud.com header.b=j/MYLgGF; arc=none smtp.client-ip=57.103.64.206 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=icloud.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=icloud.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=icloud.com header.i=@icloud.com header.b="j/MYLgGF" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=1a1hai; bh=ZqSgMaAkXfnb4u/5m9fwC8YtQuLdUtL+vDaKunquJH0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:x-icloud-hme; b=j/MYLgGF5C/BRyv+Wd27WfIX1yFmyZ1RueTpEjokbBDNUmdCDdY2Xv9ivnYS4GfIv lIZ3q8XW/8mJIWTDbZJ4lMlVSOn5Dyet8SLmzsLx3GOufoAo6KGxlHmeaFOig73L37 9hgnEuZpnJHE99nB3MrKJJYX5X7CvxtGdMzNXApIfT852mZhpfKW6iEAANDxCMwTSe mEppSGKIoOZIYA5+15epP+6udBPLeT+jiiTj+B/hQKzMZdF4JVGNnuXBJoa80KmXk5 2N4gvpgSf5sbxeJpVu94dGCn8F5aEiM9dXOP75Ylhz/uX7hn5XnDqGUehf6mZDq68s /eDE2WCkm1gYw== Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by outbound.pv.icloud.com (Postfix) with ESMTPS id EFD1518000B3; Tue, 1 Jul 2025 15:25:45 +0000 (UTC) Received: from [192.168.1.26] (pv-asmtp-me-k8s.p00.prod.me.com [17.56.9.36]) by outbound.pv.icloud.com (Postfix) with ESMTPSA id 27CB618001B4; Tue, 1 Jul 2025 15:25:38 +0000 (UTC) From: Zijun Hu Date: Tue, 01 Jul 2025 23:24:42 +0800 Subject: [PATCH v2 4/9] char: misc: Add a reentry test case for dynamic minor request Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250701-rfc_miscdev-v2-4-3eb22bf533be@oss.qualcomm.com> References: <20250701-rfc_miscdev-v2-0-3eb22bf533be@oss.qualcomm.com> In-Reply-To: <20250701-rfc_miscdev-v2-0-3eb22bf533be@oss.qualcomm.com> To: Arnd Bergmann , Greg Kroah-Hartman , Jean Delvare , Guenter Roeck , Rudolf Marek , Wim Van Sebroeck , "James E.J. Bottomley" , Helge Deller , "David S. Miller" , Andreas Larsson Cc: Thadeu Lima de Souza Cascardo , Zijun Hu , linux-kernel@vger.kernel.org, linux-hwmon@vger.kernel.org, linux-watchdog@vger.kernel.org, linux-parisc@vger.kernel.org, sparclinux@vger.kernel.org, Zijun Hu X-Mailer: b4 0.14.2 X-Proofpoint-ORIG-GUID: LL_-ZMrQBZamLncVkvMk3GHieCBgHCQ9 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzAxMDEwMyBTYWx0ZWRfX8ebekPWSu1Vf Rr7G8gRIfG/3wPLgGGBS5pf98/UIAQrwzUVlZWgtuOFUyV+0ctv2THS7zvFJq/ha7RT1pGtEipm QJGinP9oHmny2r+ARnDolhpomTcd1dx0KMCSDi3/58Zv3wj6M6leqzxoXIyPXBW8Obx7AwUf+eb xns54uJ59tXfD7IpI0IXD00HZ1Pw40b6DFCCCTVY8/W9wfebCRTspVdEa7gfD8JN/saaABVsW4G E5BCmWiSnIpinu8KtStUYHO1zMWs4jm7tw2UzQYN1MQKET1ViyM5KEDzakSwQJt+EUJrxjXPY= X-Proofpoint-GUID: LL_-ZMrQBZamLncVkvMk3GHieCBgHCQ9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.7,FMLib:17.12.80.40 definitions=2025-07-01_02,2025-06-27_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 bulkscore=0 mlxscore=0 spamscore=0 mlxlogscore=999 adultscore=0 clxscore=1015 suspectscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.22.0-2506060001 definitions=main-2507010103 From: Zijun Hu Add a case to test reentry for requesting dynamic minor: 1) Provide Both @dev_A and @dev_B want to request dynamic minor by initializing their member minor to MISC_DYNAMIC_MINOR. 2) Register then de-register @dev_A. 3) Register @dev_B. 4) Register @dev_A again without reinitialization. 5) Check if @dev_A can be registered successfully. Signed-off-by: Zijun Hu --- drivers/char/misc_minor_kunit.c | 44 +++++++++++++++++++++++++++++++++++++= ++++ 1 file changed, 44 insertions(+) diff --git a/drivers/char/misc_minor_kunit.c b/drivers/char/misc_minor_kuni= t.c index 81e2ef488a6f6ae7138c7dd8bcbeffe38aa65933..9f1f77c04f9f1be56bc94cab412= 7ecb941e128b2 100644 --- a/drivers/char/misc_minor_kunit.c +++ b/drivers/char/misc_minor_kunit.c @@ -602,6 +602,49 @@ static void __init miscdev_test_invalid_input(struct k= unit *test) misc_deregister(&misc_test); } =20 +/* + * Verify if @miscdyn_a can still be registered successfully without + * reinitialization even if its minor ever owned was requested by + * another miscdevice such as @miscdyn_b. + */ +static void __init miscdev_test_dynamic_reentry(struct kunit *test) +{ + struct miscdevice miscdyn_a =3D { + .name =3D "miscdyn_a", + .minor =3D MISC_DYNAMIC_MINOR, + .fops =3D &miscdev_test_fops, + }; + struct miscdevice miscdyn_b =3D { + .name =3D "miscdyn_b", + .minor =3D MISC_DYNAMIC_MINOR, + .fops =3D &miscdev_test_fops, + }; + int ret, minor_a; + + ret =3D misc_register(&miscdyn_a); + KUNIT_ASSERT_EQ(test, ret, 0); + KUNIT_EXPECT_TRUE(test, is_valid_dynamic_minor(miscdyn_a.minor)); + minor_a =3D miscdyn_a.minor; + if (ret !=3D 0) + return; + misc_deregister(&miscdyn_a); + + ret =3D misc_register(&miscdyn_b); + KUNIT_ASSERT_EQ(test, ret, 0); + KUNIT_EXPECT_EQ(test, miscdyn_b.minor, minor_a); + if (ret !=3D 0) + return; + + ret =3D misc_register(&miscdyn_a); + KUNIT_ASSERT_EQ(test, ret, 0); + KUNIT_EXPECT_TRUE(test, is_valid_dynamic_minor(miscdyn_a.minor)); + KUNIT_EXPECT_NE(test, miscdyn_a.minor, miscdyn_b.minor); + if (ret =3D=3D 0) + misc_deregister(&miscdyn_a); + + misc_deregister(&miscdyn_b); +} + static struct kunit_case test_cases[] =3D { KUNIT_CASE(kunit_static_minor), KUNIT_CASE(kunit_misc_dynamic_minor), @@ -611,6 +654,7 @@ static struct kunit_case test_cases[] =3D { KUNIT_CASE(miscdev_test_duplicate_name), KUNIT_CASE(miscdev_test_duplicate_name_leak), KUNIT_CASE_PARAM(miscdev_test_duplicate_error, miscdev_gen_params), + KUNIT_CASE(miscdev_test_dynamic_reentry), {} }; =20 --=20 2.34.1 From nobody Wed Oct 8 05:54:58 2025 Received: from outbound.pv.icloud.com (p-west1-cluster6-host7-snip4-8.eps.apple.com [57.103.67.111]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A43B727F000 for ; Tue, 1 Jul 2025 15:25:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=57.103.67.111 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751383556; cv=none; b=j4D5yIFnbxMlB25IFDj36LFOiutZNdS3hnzHf3w3y5p3axXuL7XU0atSeq/fwi2KAxlkBiufvCgOHwSN58XFWC4SXTcR8GdLZnHky0zYiPrDIMDYPiyd96SDyWOJXCZw/h+KdxqRsQVq4YnFJwueYXTNSeQlyV6C1h2N1oT7Cfc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751383556; c=relaxed/simple; bh=772AHxo34d+5R8nYtMyLmqSAXi7BfYHTfqb9YvzEvJc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=AccAYKF1jS1aTeNjLO4x4rgrwZPaytqcUqsSHrVMON8Q8aoi/SpvQYDD6Ntj1YJalvo1UJHDobkCzIPmNEJVn6/4cw0IJjC/kDPIK0CvBsC9SpprKmqjMAkvvlSTy+UALUbuR+N5tS7K3XLjp7IASdBD0DIy9srWs7QSx9pUr1k= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=icloud.com; spf=pass smtp.mailfrom=icloud.com; dkim=pass (2048-bit key) header.d=icloud.com header.i=@icloud.com header.b=B+8QEkSZ; arc=none smtp.client-ip=57.103.67.111 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=icloud.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=icloud.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=icloud.com header.i=@icloud.com header.b="B+8QEkSZ" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=1a1hai; bh=N68iTZhVLnXxKDyqKngfBwKlCKSy1yb29iAlSAAd/vM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:x-icloud-hme; b=B+8QEkSZIw8O7tNMxOsgjqyXO7y+8gwj6Tkv6SBSzHV/2/WQh053Y7CimDPVFSV0R K4vssldmHTCwQC4xPUFZL33awKCarVQVERuamtM/F9m9UhfwueVvUZowXqnUrmX07J ugwE52biVQssoMjeN7ljIDuI7E4JWPBIHmFuRvAlr0MogxIWVpfTfhnM8biJ+aT3UT KlGEOwoLd6FCN+Mir5j+6VTQhAEwSjoCLrBwyShYV3vxMAn7ahkjQpXwJmTMlObJzJ BxGhehIfCHrIYGLfoAu9BUkIsg4PFqa3qO3F180Ta8EC8Ok1gzPBZSmFMaK7XsUssX +WvMusJj0XLEA== Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by outbound.pv.icloud.com (Postfix) with ESMTPS id E8A4418000A8; Tue, 1 Jul 2025 15:25:49 +0000 (UTC) Received: from [192.168.1.26] (pv-asmtp-me-k8s.p00.prod.me.com [17.56.9.36]) by outbound.pv.icloud.com (Postfix) with ESMTPSA id 5EABE1800155; Tue, 1 Jul 2025 15:25:45 +0000 (UTC) From: Zijun Hu Date: Tue, 01 Jul 2025 23:24:43 +0800 Subject: [PATCH v2 5/9] char: misc: Make registering dynamic device reentry Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250701-rfc_miscdev-v2-5-3eb22bf533be@oss.qualcomm.com> References: <20250701-rfc_miscdev-v2-0-3eb22bf533be@oss.qualcomm.com> In-Reply-To: <20250701-rfc_miscdev-v2-0-3eb22bf533be@oss.qualcomm.com> To: Arnd Bergmann , Greg Kroah-Hartman , Jean Delvare , Guenter Roeck , Rudolf Marek , Wim Van Sebroeck , "James E.J. Bottomley" , Helge Deller , "David S. Miller" , Andreas Larsson Cc: Thadeu Lima de Souza Cascardo , Zijun Hu , linux-kernel@vger.kernel.org, linux-hwmon@vger.kernel.org, linux-watchdog@vger.kernel.org, linux-parisc@vger.kernel.org, sparclinux@vger.kernel.org, Zijun Hu X-Mailer: b4 0.14.2 X-Proofpoint-GUID: TT2HF4qHnhqAbWyev-ZQKXjH7hIgC7gP X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzAxMDEwMyBTYWx0ZWRfX0Ya5ejokYAEE u3sv+NIJQZi/JQSLsHdqi3HXbOTgJhLZS3zagwQItjdY+re5y3O5rDNX4YzyaK25c+4+c0yl6VN naTR8d9CvHobALgDKSIBNEYi4QOcXPAv6Arcmp7AZIL4QiNf7LWJQ/Mx3EkCbeDGJTb5VkMuCI/ n6xdD9ErV52snpbyni1tV4U0AFtMnt2LR/YMforvVw6AjIeZpP4beACpF0cgpMlGrx/Sfsk7JO9 wc/ozOzSx4IghfMxDHG/BdDaeN+lPJrRNosEIH7MQoOVE4ZkoWbJgxUuwiiucNSuiTBZ65XqM= X-Proofpoint-ORIG-GUID: TT2HF4qHnhqAbWyev-ZQKXjH7hIgC7gP X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.7,FMLib:17.12.80.40 definitions=2025-07-01_02,2025-06-27_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 clxscore=1015 spamscore=0 malwarescore=0 suspectscore=0 phishscore=0 mlxscore=0 adultscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.22.0-2506060001 definitions=main-2507010103 From: Zijun Hu misc_deregister() frees dynamic minor but does not reset @misc->minor and cause kunit test case miscdev_test_dynamic_reentry() failure: | Invalid fixed minor 257 for miscdevice 'miscdyn_a' | #miscdev_test_dynamic_reentry: ASSERTION FAILED at misc_minor_kunit.c:639 | Expected ret =3D=3D 0, but | ret =3D=3D -22 (0xffffffffffffffea) | [FAILED] miscdev_test_dynamic_reentry Fix by resetting dynamic minor in misc_deregister() as error handling of misc_register() does. Signed-off-by: Zijun Hu --- drivers/char/misc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/char/misc.c b/drivers/char/misc.c index b8e66466184fa21fb66d968db7950e0b5669ac43..96ed343cf5c8509a09855020049= a9af82a3ede95 100644 --- a/drivers/char/misc.c +++ b/drivers/char/misc.c @@ -288,6 +288,8 @@ void misc_deregister(struct miscdevice *misc) list_del(&misc->list); device_destroy(&misc_class, MKDEV(MISC_MAJOR, misc->minor)); misc_minor_free(misc->minor); + if (misc->minor > MISC_DYNAMIC_MINOR) + misc->minor =3D MISC_DYNAMIC_MINOR; mutex_unlock(&misc_mtx); } EXPORT_SYMBOL(misc_deregister); --=20 2.34.1 From nobody Wed Oct 8 05:54:58 2025 Received: from outbound.pv.icloud.com (p-west1-cluster2-host8-snip4-10.eps.apple.com [57.103.64.211]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 45CE427F4D5 for ; Tue, 1 Jul 2025 15:25:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=57.103.64.211 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751383560; cv=none; b=bL8dYcYFI+ylb3JLEeEpoFg6+BXNb3EiddXBUehuFup/hysqqdYdsWsWeqGsIQJo4XKUeMIzMHQK4isA+2AfWHrhOj1JnYsC0/m99FD2XYaIlqdV5NFcC45vqpztoSV7IvVkzx+FBX1TWEElLVUOs0JgsNA4qXu6AQI8knLb5cw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751383560; c=relaxed/simple; bh=ldfknhlwCWcuoUqnJHEhTy4XSxhklb2aadv2s6gqlmo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gohwJTe9DcaUEFZFlUtBsaSeDC4ZcTJQsFRDfRuOCK2Vy4S5PElylvfcIr3tpp4aLkuVzmZMj94CoVyzIWXRJKQIVbSudW6YG6bhyk4fpDkAo+E7loLAHE2g/+59RTUs58v6u1MLdoFfH9DkHJOtjp5pAzknLRnsh0hniFKHrhU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=icloud.com; spf=pass smtp.mailfrom=icloud.com; dkim=pass (2048-bit key) header.d=icloud.com header.i=@icloud.com header.b=U50z4BCc; arc=none smtp.client-ip=57.103.64.211 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=icloud.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=icloud.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=icloud.com header.i=@icloud.com header.b="U50z4BCc" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=1a1hai; bh=3z8k8G78hPHpRDrth8Hd7u7gyNsHougHo2QTHX0bCyE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:x-icloud-hme; b=U50z4BCceGbr57nYxCx/TXgmK4gUuvaB73raF7eLDF0toGwrnCEMq/n4mGOFJAMaQ MGCHUQAI8LD70X/hzrf3lBScxK5+Khaq2TrJzflHzlv4cu03B+Jkd3MAHcMVN4NTyI 3CDQ+9H3zsUoSYyNnqzWqBcR1gRKBWfJ228PNJPM1hJASNv+ouKlt/VteVFUtoOOWb f9XVCHgxKINtVgHKWcZRuYTQWBG3uXNsOWrrZlTx6SJmHkSJZPA+1RRsOp5b2WnLcm K6g5/TYTdYSGWsvWtyYybbi1dngkoSU5HW4oRIEUKaNryuE3t+821jVsycItdTq0j4 DkFDMrqtcxYdA== Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by outbound.pv.icloud.com (Postfix) with ESMTPS id 507391800159; Tue, 1 Jul 2025 15:25:54 +0000 (UTC) Received: from [192.168.1.26] (pv-asmtp-me-k8s.p00.prod.me.com [17.56.9.36]) by outbound.pv.icloud.com (Postfix) with ESMTPSA id 9355A1800171; Tue, 1 Jul 2025 15:25:49 +0000 (UTC) From: Zijun Hu Date: Tue, 01 Jul 2025 23:24:44 +0800 Subject: [PATCH v2 6/9] char: misc: Does not request module for miscdevice with dynamic minor Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250701-rfc_miscdev-v2-6-3eb22bf533be@oss.qualcomm.com> References: <20250701-rfc_miscdev-v2-0-3eb22bf533be@oss.qualcomm.com> In-Reply-To: <20250701-rfc_miscdev-v2-0-3eb22bf533be@oss.qualcomm.com> To: Arnd Bergmann , Greg Kroah-Hartman , Jean Delvare , Guenter Roeck , Rudolf Marek , Wim Van Sebroeck , "James E.J. Bottomley" , Helge Deller , "David S. Miller" , Andreas Larsson Cc: Thadeu Lima de Souza Cascardo , Zijun Hu , linux-kernel@vger.kernel.org, linux-hwmon@vger.kernel.org, linux-watchdog@vger.kernel.org, linux-parisc@vger.kernel.org, sparclinux@vger.kernel.org, Zijun Hu X-Mailer: b4 0.14.2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzAxMDEwMyBTYWx0ZWRfXx/mpuh9GCEAZ /LNAVmDtjDrj8tuYqgKvjc8OKbRLZtyfrtK6GogBNfRqbPEeN7I8daCLv2kfxFrni+DOLQBrfkW gzMhYRPgbZtM7avEnuRRWx/QjdLMfIlgY8GhHSpowIAnBDjWqU82mTACUmEjbelFpZIgQxsSePX abrl86pd6AvmgkBcLoEf72Ub+RXoMoVZ/C5Y1mSoiBWEn6ZZtNfuJQAe/6aOQthXcnsxrbT/gv1 5FTd4s1j3L84FB302tUtPU1Gpx+QNR2iOgZX77v3g1kU4l1hrP55IevGoCiPGlvJVla9nSMVs= X-Proofpoint-GUID: ejVbLjlx1MUlbLcHBYb2y8cS3iogdBtk X-Proofpoint-ORIG-GUID: ejVbLjlx1MUlbLcHBYb2y8cS3iogdBtk X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.7,FMLib:17.12.80.40 definitions=2025-07-01_02,2025-06-27_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 phishscore=0 spamscore=0 suspectscore=0 clxscore=1015 mlxlogscore=999 bulkscore=0 mlxscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.22.0-2506060001 definitions=main-2507010103 From: Zijun Hu misc_open() may request module for miscdevice with dynamic minor which is meaningless since macro MODULE_ALIAS_MISCDEV() is not applicable for dynamic minor. Fix by only requesting module for miscdevice with fixed minor. Signed-off-by: Zijun Hu --- drivers/char/misc.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/char/misc.c b/drivers/char/misc.c index 96ed343cf5c8509a09855020049a9af82a3ede95..a0aae0fc792666a7bdc0ba00da9= dc02ff9cead42 100644 --- a/drivers/char/misc.c +++ b/drivers/char/misc.c @@ -132,7 +132,8 @@ static int misc_open(struct inode *inode, struct file *= file) break; } =20 - if (!new_fops) { + /* Only request module for fixed minor code */ + if (!new_fops && minor < MISC_DYNAMIC_MINOR) { mutex_unlock(&misc_mtx); request_module("char-major-%d-%d", MISC_MAJOR, minor); mutex_lock(&misc_mtx); @@ -144,10 +145,11 @@ static int misc_open(struct inode *inode, struct file= *file) new_fops =3D fops_get(iter->fops); break; } - if (!new_fops) - goto fail; } =20 + if (!new_fops) + goto fail; + /* * Place the miscdevice in the file's * private_data so it can be used by the --=20 2.34.1 From nobody Wed Oct 8 05:54:58 2025 Received: from outbound.pv.icloud.com (p-west1-cluster4-host6-snip4-10.eps.apple.com [57.103.65.251]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8928827AC3E for ; Tue, 1 Jul 2025 15:26:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=57.103.65.251 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751383567; cv=none; b=fH/kG85C97DQKINdjOkuoiBjc771wL1s6qFK9lS2vvTOnY5IOLW5GyJrbfEroBv4S69+tuK296ABMA55COKp1Sfrkut1YkqCODvstDR3QOeNig+tVfJxcnz2brSOXP+oyDlErTtonQF7hr0WO2YwiO76WI7eEiIZulC/5pza9qA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751383567; c=relaxed/simple; bh=hm08xCVJpifK1YGvN6kpdjEx3Zi2cHVqnSWYXayo0H8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ssKLwVAcS4UCalb+sNwC7zubSeg2/aSdxOUkrcwurdfLHZD4ZrsD3buf8MEgU1K1jdIYdUCSKRKrzVt6QQc2pB1BwNcPi3whlJv0HgajpdgCOxODhUQ5SlIsj1EF/FH5AVEoTE9oFq25XCSV2nne/wSfL0y/CccFpeSMmiX3in4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=icloud.com; spf=pass smtp.mailfrom=icloud.com; dkim=pass (2048-bit key) header.d=icloud.com header.i=@icloud.com header.b=0qWDiqUx; arc=none smtp.client-ip=57.103.65.251 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=icloud.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=icloud.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=icloud.com header.i=@icloud.com header.b="0qWDiqUx" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=1a1hai; bh=UKT3gxNRl5YzBh1j6iMSlGrirc7wdEcjwd4FP2M5g20=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:x-icloud-hme; b=0qWDiqUxSnHKSByqeX2WrUgUNexAH9BabYUSnuQRFiYl7Dwy2V5X4bsb8brAFlVJL 4MaaytGECwCFQEvTliyVZl9UrbfZ+g4gIL3MqbeRK3dru/kOb+6f9+gterUmN2oJ14 WsEEE9NOW81NYfAZch7I1StNnOvzk1DQc5ji4o8N2SEP30rGXUyHy9YsVUdJcO/Ptw MVLdJMDWy8eiLlG48F+9IjxCsg6h6P2FMAfkBKnNdXud/mTowru8APuHOLLHEkyoQb UnuCr2Et9QQ13DMCjGmWqjic3uMYku/sAb3a/f1JWyVfMUyk9Yhvx4GqiW2wATpWPE xe9txV19nHgwg== Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by outbound.pv.icloud.com (Postfix) with ESMTPS id D96B7180017A; Tue, 1 Jul 2025 15:25:59 +0000 (UTC) Received: from [192.168.1.26] (pv-asmtp-me-k8s.p00.prod.me.com [17.56.9.36]) by outbound.pv.icloud.com (Postfix) with ESMTPSA id 2ECD51800158; Tue, 1 Jul 2025 15:25:53 +0000 (UTC) From: Zijun Hu Date: Tue, 01 Jul 2025 23:24:45 +0800 Subject: [PATCH v2 7/9] char: misc: Allocate 4 more fixed minors for watchdog Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250701-rfc_miscdev-v2-7-3eb22bf533be@oss.qualcomm.com> References: <20250701-rfc_miscdev-v2-0-3eb22bf533be@oss.qualcomm.com> In-Reply-To: <20250701-rfc_miscdev-v2-0-3eb22bf533be@oss.qualcomm.com> To: Arnd Bergmann , Greg Kroah-Hartman , Jean Delvare , Guenter Roeck , Rudolf Marek , Wim Van Sebroeck , "James E.J. Bottomley" , Helge Deller , "David S. Miller" , Andreas Larsson Cc: Thadeu Lima de Souza Cascardo , Zijun Hu , linux-kernel@vger.kernel.org, linux-hwmon@vger.kernel.org, linux-watchdog@vger.kernel.org, linux-parisc@vger.kernel.org, sparclinux@vger.kernel.org, Zijun Hu X-Mailer: b4 0.14.2 X-Proofpoint-ORIG-GUID: 55bD6wZGHtVnRw82wihzjhfWwCxW8amE X-Proofpoint-GUID: 55bD6wZGHtVnRw82wihzjhfWwCxW8amE X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzAxMDEwMyBTYWx0ZWRfXyUgjBjbjo1he rt59MqEt3fUk7SOuIJ5RMrZEwvu5DOA4B4/R8uMx+FdmRLjePBAplhvd5lWdT4bNP04E7Fcoj9p PWqSmPH4OSZ3IoVxCYy4myMsJdK6lJFtZ56P5GRnu9qWQx84yyuauhcEaXtBFbDEFg6J1RQWwxw U2208GsXxxgeC+8dAg3tny0nLvb98iACqTvNSFkO7oxGFHfjHW7q0w7M8T4ArjHioTuHtHbUm/Z FiaUdKu9EsyUfie9951gwbYMWErlcXoOkejbfE3toT/TB+Cz8bAlsNeBpZOHnTUTNK9Enh710= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.7,FMLib:17.12.80.40 definitions=2025-07-01_02,2025-06-27_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 adultscore=0 mlxscore=0 clxscore=1015 mlxlogscore=999 malwarescore=0 spamscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.22.0-2506060001 definitions=main-2507010103 From: Zijun Hu There are drivers which needs more fixed minors for watchdog, but watchdog only has one fixed minor currently, it causes hardcoded and unregistered fixed minors are used by these drivers. Allocate 4 more fixed minors and apply for these drivers. --- drivers/hwmon/fschmd.c | 3 ++- drivers/hwmon/w83793.c | 3 ++- drivers/watchdog/cpwd.c | 6 +++--- include/linux/miscdevice.h | 4 ++++ 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/drivers/hwmon/fschmd.c b/drivers/hwmon/fschmd.c index a303959879efddd9bfc02e8c25766e67b1a4af8e..7ffaec12eea8473a7dd17d7477d= b9157230e7f31 100644 --- a/drivers/hwmon/fschmd.c +++ b/drivers/hwmon/fschmd.c @@ -1084,7 +1084,8 @@ static int fschmd_probe(struct i2c_client *client) struct fschmd_data *data; static const char * const names[7] =3D { "Poseidon", "Hermes", "Scylla", "Heracles", "Heimdall", "Hades", "Syleus" }; - static const int watchdog_minors[] =3D { WATCHDOG_MINOR, 212, 213, 214, 2= 15 }; + static const int watchdog_minors[] =3D { WATCHDOG_MINOR, WATCHDOG_MINOR_1, + WATCHDOG_MINOR_2, WATCHDOG_MINOR_3, WATCHDOG_MINOR_4 }; int i, err; enum chips kind =3D (uintptr_t)i2c_get_match_data(client); =20 diff --git a/drivers/hwmon/w83793.c b/drivers/hwmon/w83793.c index 67728f60333fe351715ccc03097f9aa2e135f384..fb4d76c87ea26366586f6f6bc2b= ee4f76a430880 100644 --- a/drivers/hwmon/w83793.c +++ b/drivers/hwmon/w83793.c @@ -1642,7 +1642,8 @@ static int w83793_probe(struct i2c_client *client) { struct device *dev =3D &client->dev; static const int watchdog_minors[] =3D { - WATCHDOG_MINOR, 212, 213, 214, 215 + WATCHDOG_MINOR, WATCHDOG_MINOR_1, WATCHDOG_MINOR_2, + WATCHDOG_MINOR_3, WATCHDOG_MINOR_4 }; struct w83793_data *data; int i, tmp, val, err; diff --git a/drivers/watchdog/cpwd.c b/drivers/watchdog/cpwd.c index 13a4d47e68cd82572f103c37ec066384cc5f7cd7..7891ea8f87451ddfb377e907063= 10a73324fb0ce 100644 --- a/drivers/watchdog/cpwd.c +++ b/drivers/watchdog/cpwd.c @@ -44,9 +44,9 @@ #define WD_BTIMEOUT (jiffies + (HZ * 1000)) #define WD_BLIMIT 0xFFFF =20 -#define WD0_MINOR 212 -#define WD1_MINOR 213 -#define WD2_MINOR 214 +#define WD0_MINOR WATCHDOG_MINOR_1 +#define WD1_MINOR WATCHDOG_MINOR_2 +#define WD2_MINOR WATCHDOG_MINOR_3 =20 /* Internal driver definitions. */ #define WD0_ID 0 diff --git a/include/linux/miscdevice.h b/include/linux/miscdevice.h index 565b88efeb23d02b7d91df1cd7df4bdcf2898224..c33839df8bd261bf1ab841b7e50= afe3f8b0b007e 100644 --- a/include/linux/miscdevice.h +++ b/include/linux/miscdevice.h @@ -52,6 +52,10 @@ #define PXA3XX_GCU_MINOR 197 #define TUN_MINOR 200 #define CUSE_MINOR 203 +#define WATCHDOG_MINOR_1 212 +#define WATCHDOG_MINOR_2 213 +#define WATCHDOG_MINOR_3 214 +#define WATCHDOG_MINOR_4 215 #define MWAVE_MINOR 219 /* ACP/Mwave Modem */ #define MPT_MINOR 220 #define MPT2SAS_MINOR 221 --=20 2.34.1 From nobody Wed Oct 8 05:54:58 2025 Received: from outbound.pv.icloud.com (p-west1-cluster1-host5-snip4-2.eps.apple.com [57.103.64.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EDFD127B4E8 for ; Tue, 1 Jul 2025 15:26:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=57.103.64.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751383568; cv=none; b=lIlKHawL1ZndGeTyBq+6OA3eoR75oob0X0aXMIEtIevu0ksGRVFJamIwZRO5ZF/LdJwEQ34wes/vlzE1AvSE+dknSjf+YoUMbGcTXgm2a1Cf1H9IulpTgHZfdUGSv/trAzHm0YULN/qy2dqH/coKm/ATFvxZtsvdBiqc/Bwpofo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751383568; c=relaxed/simple; bh=Ok9kSbMDFPxfjgp+tCUuLco8hQJX0O2RZsCns84yi7U=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=oTbmgbaYiNoD4yr5weub3z57RJIuogvAA3BXos2WijHn+/Xg8bpgwG2t9UR+Prv0GLFlZ+x5EgN35stp1tz9HlvwMK4qbntyEeyCF5PJ0E18Al09bU3suhWXzRu58vrozBseVYgONBYI3hvQ1bMoeqfJ3BXPg1xyD9ekHNhZVKQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=icloud.com; spf=pass smtp.mailfrom=icloud.com; dkim=pass (2048-bit key) header.d=icloud.com header.i=@icloud.com header.b=LTdE5sAA; arc=none smtp.client-ip=57.103.64.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=icloud.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=icloud.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=icloud.com header.i=@icloud.com header.b="LTdE5sAA" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=1a1hai; bh=F3ra+DeWxuG4yVJc/9GY0kCZWTzvUo78nZmUtQ8n4t0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:x-icloud-hme; b=LTdE5sAAElS5WeI3dorrVvQs8WewSQkeBGVS/ZVMsNzPed0Ly2OearfYym6nP7r6P KoKE9iuIj+rSVjS8B2cT9YR9OWbX2FuBV25z2pJhYQaUPGkFdoIGcEK6HCHv9I35zQ lak/m8fBZp1G2tzhgEfkOZDKBdyVQwqRODBLzuJMujgKN+ZiVo4N0AxAiyCh0HJcWD Y5Bo5oBHT1R9dx5pkEtcb4jra8jo/pA2GKtW6oqYuWvZZ9PF0t/m+ZU74omBGvXO7k SchKPPkxOmwapqP05XGa+yBh5/622twNZMnUWQzbM0ivQWx+DLZseYXEFKI8NuPia0 hGpgUMt+YmyYw== Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by outbound.pv.icloud.com (Postfix) with ESMTPS id 6C2BB1800186; Tue, 1 Jul 2025 15:26:04 +0000 (UTC) Received: from [192.168.1.26] (pv-asmtp-me-k8s.p00.prod.me.com [17.56.9.36]) by outbound.pv.icloud.com (Postfix) with ESMTPSA id 8EC22180016A; Tue, 1 Jul 2025 15:25:58 +0000 (UTC) From: Zijun Hu Date: Tue, 01 Jul 2025 23:24:46 +0800 Subject: [PATCH v2 8/9] char: misc: Define fixed minor EISA_EEPROM_MINOR in linux/miscdevice.h Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250701-rfc_miscdev-v2-8-3eb22bf533be@oss.qualcomm.com> References: <20250701-rfc_miscdev-v2-0-3eb22bf533be@oss.qualcomm.com> In-Reply-To: <20250701-rfc_miscdev-v2-0-3eb22bf533be@oss.qualcomm.com> To: Arnd Bergmann , Greg Kroah-Hartman , Jean Delvare , Guenter Roeck , Rudolf Marek , Wim Van Sebroeck , "James E.J. Bottomley" , Helge Deller , "David S. Miller" , Andreas Larsson Cc: Thadeu Lima de Souza Cascardo , Zijun Hu , linux-kernel@vger.kernel.org, linux-hwmon@vger.kernel.org, linux-watchdog@vger.kernel.org, linux-parisc@vger.kernel.org, sparclinux@vger.kernel.org, Zijun Hu X-Mailer: b4 0.14.2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzAxMDEwMyBTYWx0ZWRfX8WZkjfvhWomm Yn1rL9RVQ7XDC2Ork8uYDE/q20bG2f5ny7JuF2GDKDmFklgF6uftqu/GXwWHTpcOygvkZCxlOMn lIjvAEv2Gw+MmHipYnL9Fcpegf7kzRh/B8RurEiHPgPvi+jl4NqQoYnvBOwO4kZRaIYus8R8WTB rdikm+W0H5UMAV6pUM6vWVvXwZzNYz5fVSY2L03wPfUe2GRQaxqxwvk5OgjSsmBqbgZ9XCDPr7J M6FiO8PycMWI9twve3+p/mFxR6KDUhe88Me943sujaMLx1Opw6ItLyMdiayzw8VfLBOcdg/EU= X-Proofpoint-GUID: yyvlQ6rH9tTbNWYQqWHKrhmSzJibS44p X-Proofpoint-ORIG-GUID: yyvlQ6rH9tTbNWYQqWHKrhmSzJibS44p X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.7,FMLib:17.12.80.40 definitions=2025-07-01_02,2025-06-27_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 spamscore=0 mlxlogscore=999 mlxscore=0 clxscore=1015 malwarescore=0 phishscore=0 suspectscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.22.0-2506060001 definitions=main-2507010103 From: Zijun Hu Move fixed minor EISA_EEPROM_MINOR defination to 'linux/miscdevice.h'. Signed-off-by: Zijun Hu --- drivers/parisc/eisa_eeprom.c | 2 -- include/linux/miscdevice.h | 1 + 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/parisc/eisa_eeprom.c b/drivers/parisc/eisa_eeprom.c index 443b15422fc179c7379082bb165ea2bb80785fb3..601cbb22574fd64b0c6be568442= d5064d38a2c20 100644 --- a/drivers/parisc/eisa_eeprom.c +++ b/drivers/parisc/eisa_eeprom.c @@ -15,8 +15,6 @@ #include #include =20 -#define EISA_EEPROM_MINOR 241 - static loff_t eisa_eeprom_llseek(struct file *file, loff_t offset, int ori= gin) { return fixed_size_llseek(file, offset, origin, HPEE_MAX_LENGTH); diff --git a/include/linux/miscdevice.h b/include/linux/miscdevice.h index c33839df8bd261bf1ab841b7e50afe3f8b0b007e..632263f4d8393701022dd31942f= 58e901dc087b0 100644 --- a/include/linux/miscdevice.h +++ b/include/linux/miscdevice.h @@ -74,6 +74,7 @@ #define UHID_MINOR 239 #define USERIO_MINOR 240 #define VHOST_VSOCK_MINOR 241 +#define EISA_EEPROM_MINOR 241 #define RFKILL_MINOR 242 =20 /* --=20 2.34.1 From nobody Wed Oct 8 05:54:58 2025 Received: from outbound.pv.icloud.com (p-west1-cluster1-host11-snip4-2.eps.apple.com [57.103.64.5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8514F27B4E4 for ; Tue, 1 Jul 2025 15:26:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=57.103.64.5 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751383573; cv=none; b=IA+YIFSBhdZu37df3Du+qDVScIdfZsNOWtarxXsHSaRzmYojYPPl1AutR3bJXgCNgt2v44BCnM191JFys9TPp8E1j2XBPw2+lFlHosF0XMGQTciNiyF3Cw82QJJWhcOP8lpIsyGVdTe2BYDhP+w3A+1CQyGXl1lUfaipzhrnNQg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751383573; c=relaxed/simple; bh=62XEhsy5uPCNQwMRXCl5rGVlHkddr4eSr34tMBzBo4w=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Jq4netOy22u1J/w/qCRNW4mKF95GFdgl6iG+E4ZM8ptC1GiRTbQ9FgcYEVKwb2BylMZ8Low3B2QnevT/hHrI0LBoolDhunCzjy0znkTTiNAWy5Qrwob/rSszxxFgf6Cy7m7Fgl4q7Lnxk/PpRRt2Y7x/CkZJn4HkRzpTrcHImts= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=icloud.com; spf=pass smtp.mailfrom=icloud.com; dkim=pass (2048-bit key) header.d=icloud.com header.i=@icloud.com header.b=nriFppWQ; arc=none smtp.client-ip=57.103.64.5 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=icloud.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=icloud.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=icloud.com header.i=@icloud.com header.b="nriFppWQ" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=1a1hai; bh=72KEeLvk6Vfw5F8f1KBloI4BaJ3XA9Td2M8KicUsaV4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:x-icloud-hme; b=nriFppWQjHblssNXkUQngl072g8k1KlDsSYPU73ygp2QbOyvjQRCW2xA0sZg897LO 7zTnU95Xj6q4uZc2k9zzV6ZSIwXy1mBhv99jJIkgXf0FzpXVEeaG18zhZuWw8CeXbQ 0UKcPasVtVNAg+1Lq2/5+iCSv1EKOWIjw4jVnzLw9K4mepWsq4B8hb2fRKVIp1Xdda 8rPw7F5cAuJ814nsbC+FV7A66hXxxBI+EgnWA4je2nLqbT0aoquKw6OfdAWzuXIMG2 wXV3lGC1gfGONhOpVVPvA2jSdhKT+rMQTfM++WvSiGlJZFaXKxXlT/Xq/vqo/ju6LI i7vHkSWs7hinQ== Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by outbound.pv.icloud.com (Postfix) with ESMTPS id 030E61800151; Tue, 1 Jul 2025 15:26:08 +0000 (UTC) Received: from [192.168.1.26] (pv-asmtp-me-k8s.p00.prod.me.com [17.56.9.36]) by outbound.pv.icloud.com (Postfix) with ESMTPSA id 91239180018A; Tue, 1 Jul 2025 15:26:04 +0000 (UTC) From: Zijun Hu Date: Tue, 01 Jul 2025 23:24:47 +0800 Subject: [PATCH v2 9/9] sparc: kernel: apc: Remove macro APC_MINOR defination Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250701-rfc_miscdev-v2-9-3eb22bf533be@oss.qualcomm.com> References: <20250701-rfc_miscdev-v2-0-3eb22bf533be@oss.qualcomm.com> In-Reply-To: <20250701-rfc_miscdev-v2-0-3eb22bf533be@oss.qualcomm.com> To: Arnd Bergmann , Greg Kroah-Hartman , Jean Delvare , Guenter Roeck , Rudolf Marek , Wim Van Sebroeck , "James E.J. Bottomley" , Helge Deller , "David S. Miller" , Andreas Larsson Cc: Thadeu Lima de Souza Cascardo , Zijun Hu , linux-kernel@vger.kernel.org, linux-hwmon@vger.kernel.org, linux-watchdog@vger.kernel.org, linux-parisc@vger.kernel.org, sparclinux@vger.kernel.org, Zijun Hu X-Mailer: b4 0.14.2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzAxMDEwMyBTYWx0ZWRfXxOn/YC0PGwtx yjKRNtxFyLKCrCSjmwrTpeZ75KsvDBsiSUnoLjG71aX1aEvhjgwdfemzn24HhM7wqCEjRn/srrn g2kgl1ownmz6hD38MWyslgo9a9T+/L6YaIUlRAdaCY2YWrxI1QDWdgn1qkTwJRx7eav9T+CYbO7 ngL9sQ/Hegwyjd7hWfkXmVuMnAadYqW0aLcZTfPEoD+8X8UzbH7NHlAQqFxqT+aYhVq5JxN0hWO jhoe2wsk9tOXdAs+eHd6oA9O8D9gVd9qHXjNCAJISxDYZWgYgIgIYF9FFibHobY5wFQJNzT7g= X-Proofpoint-GUID: DFL0JiX4eCNleGno7AR2_y_aHPBisCd4 X-Proofpoint-ORIG-GUID: DFL0JiX4eCNleGno7AR2_y_aHPBisCd4 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.7,FMLib:17.12.80.40 definitions=2025-07-01_02,2025-06-27_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 malwarescore=0 adultscore=0 spamscore=0 clxscore=1015 phishscore=0 bulkscore=0 mlxlogscore=999 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.22.0-2506060001 definitions=main-2507010103 From: Zijun Hu Macro APC_MINOR is defined as MISC_DYNAMIC_MINOR to request dynamic minor, but its name 'APC_MINOR' looks like fixed minor. Remove the macro defination and directly use MISC_DYNAMIC_MINOR instead. Signed-off-by: Zijun Hu --- arch/sparc/kernel/apc.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/arch/sparc/kernel/apc.c b/arch/sparc/kernel/apc.c index d44725d37e30f388bf8cf19d72baf720f94da084..849db20e7165cdf48d4d36cf770= dd6aaaa191b41 100644 --- a/arch/sparc/kernel/apc.c +++ b/arch/sparc/kernel/apc.c @@ -28,7 +28,6 @@ * #define APC_DEBUG_LED */ =20 -#define APC_MINOR MISC_DYNAMIC_MINOR #define APC_OBPNAME "power-management" #define APC_DEVNAME "apc" =20 @@ -138,7 +137,7 @@ static const struct file_operations apc_fops =3D { .llseek =3D noop_llseek, }; =20 -static struct miscdevice apc_miscdev =3D { APC_MINOR, APC_DEVNAME, &apc_fo= ps }; +static struct miscdevice apc_miscdev =3D { MISC_DYNAMIC_MINOR, APC_DEVNAME= , &apc_fops }; =20 static int apc_probe(struct platform_device *op) { --=20 2.34.1