From nobody Tue Oct 7 23:07:15 2025 Received: from outbound.pv.icloud.com (p-west1-cluster5-host7-snip4-9.eps.apple.com [57.103.66.240]) (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 CF6D52FCFCA for ; Fri, 4 Jul 2025 13:28:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=57.103.66.240 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751635719; cv=none; b=Cx4Bx1Pq/lu7faRfOXkHq28TtSQAkWz/lpXCLuchYBESMAOIJzOgWy5CsezsqscDbYvhzDtqes58VDuq2xY+uagw4ykZIRd6NigkGshJFN4U1gDjNSAZ1oH3lMCvNpus6dxO0k1QoTNhgWGLqvbOhJCtax1rGesUeE7+RBEOEcI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751635719; c=relaxed/simple; bh=GCOMtzNGxPOUXBf3m2hfp4nlIguiGZVOTq0XkcMtEDY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=iLTsxEsOq+4bUJUslKO8iv6iSm1WyNslMQ0otyRUjm2ZA2uz074NJsYarjJGmNgK8WeUzPVejd2haIoEAgvNirWY7ddGXaEpIGPTtW68RIOTS1FAJ5YL5X5gpS+uyCcG0873sk+HTMed8FZ14bPUj9qcP5DbuyzXp1ZSOaxAts0= 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=xHW/TqN9; arc=none smtp.client-ip=57.103.66.240 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="xHW/TqN9" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=1a1hai; bh=RqR2RocTuJG7qXywuU1YlEFHpJKHQCBUeEvNifOzZFs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:x-icloud-hme; b=xHW/TqN97XDChCcFruEaaORl5P7pBMQANwXZIuZsgvRrvsNsQaJZsY7+iTHYXuk+y FNaUhP0qCDW1Bq9doKx9IHTTq74M1SXg/6CUnnrH4KzXeEmTALnmAfym5hRT7vi6/T u488695H21lP/m27/SwiLBd0+t0g+mpIOIwrdxowWCz3yVePk/lRDEV2ewBnkLzGSm oFMdFU6CqKVu2xyuim/Xaj+8dJWSmp2ANCfVGYE1AgZeg9dUFHw7Bcuk4ucr2WSCnz mg2U4OiPHNw164T+M3lth0bhckIHlzSKyE9GXim7d+4qTyE04Pju+VboqLLRDI20Md KXXAsgiL/qRmA== Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by outbound.pv.icloud.com (Postfix) with ESMTPS id AB04718028E0; Fri, 4 Jul 2025 13:28:32 +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 6E8D6180349F; Fri, 4 Jul 2025 13:26:20 +0000 (UTC) From: Zijun Hu Date: Fri, 04 Jul 2025 21:25:59 +0800 Subject: [PATCH v4 1/8] 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: <20250704-rfc_miscdev-v4-1-b48986112d6a@oss.qualcomm.com> References: <20250704-rfc_miscdev-v4-0-b48986112d6a@oss.qualcomm.com> In-Reply-To: <20250704-rfc_miscdev-v4-0-b48986112d6a@oss.qualcomm.com> To: Arnd Bergmann , Greg Kroah-Hartman , "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-parisc@vger.kernel.org, sparclinux@vger.kernel.org, Zijun Hu X-Mailer: b4 0.14.2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzA0MDEwMyBTYWx0ZWRfX8i1W0FpImgL0 kCnkOwvRyMmSQwMcPlp1Klwf6/FLQV1AQKqKide+5Kipuf4n+jjQsY9SjQFpM6lcLjwquv6ZAVU dsG2mugdxc9JFrVbOJlDAsOCAtf2oCwirR/cZov6ui0kSZAJXinJoP3+ftQzgZ+YYalvC/+p8Xb rVkzdrTlH9n972Zb+L+fd1YokbzBgC+sFnktsDAqfFy0Njpj74MHW7dMjuezcjQ7wgaB0BzQnl5 YivT5ll2zW3Xnfr3eq08N4RLt3h/jN72/8bdghiFZgy344nEs7ldTuMPRKi52ER+pHda5LAmw= X-Proofpoint-GUID: FGd0BYs1e3KRKmcqQgcnTrrfLnABC1a0 X-Proofpoint-ORIG-GUID: FGd0BYs1e3KRKmcqQgcnTrrfLnABC1a0 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-04_05,2025-07-04_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 mlxscore=0 clxscore=1015 malwarescore=0 bulkscore=0 spamscore=0 phishscore=0 adultscore=0 mlxlogscore=914 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.22.0-2506270000 definitions=main-2507040103 From: Zijun Hu drivers/misc/misc_minor_kunit.c is to test 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 Tue Oct 7 23:07:15 2025 Received: from outbound.pv.icloud.com (p-west1-cluster2-host6-snip4-4.eps.apple.com [57.103.64.225]) (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 E06A12FCE23 for ; Fri, 4 Jul 2025 13:28:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=57.103.64.225 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751635718; cv=none; b=Muc1djkdBlVtyQsS0vyrUIJM/9gnl7j/+bIureZgBgijb/yxvQirJjA7FawYDCo0RbxqufmoDpceDujpa/J1k1kdxv4CqJYXoKOjK9JjBkxpYzC4k59aacvpPO1w1kMIvkfjg5W2IShoP7S86TJCPqWNtZPrhu95xbEz/9yHN6s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751635718; c=relaxed/simple; bh=FyJgHYQRSike9Y5he0/tpJNQq216KNkAke3W74dkf/A=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=iLheraANN2az4U3SXXvBLbpccchludjlZ0nKUxnujw6Mic92OGGnmSb7Wj1EL4CY8eOz6LVXqen1ctkGZ6puy/2goIxFby7oaIKupJe8J0ALDyKUornDmVtu7JT1VfbydKR4lHIW9ZaeiSYS7XO6cgmsj85afWv7+f/nfd6A3gs= 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=hwIWUw5e; arc=none smtp.client-ip=57.103.64.225 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="hwIWUw5e" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=1a1hai; bh=img6kI6qDl6d+Oujtn4iBGfny39yRj7iBTcBIlKJQeY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:x-icloud-hme; b=hwIWUw5eIttHHn6SlckAPoGLnGid9pk1D8wkIUlg1ev7LFYnK8vGsDcBbHi4WmBta Oe8Nu/bWCuaj7kNYq5W995OE6K/dDYbxXiDOcWxw/DXXl3xwbwEZtSZudmgK+RWnH3 YozJbrMwhh2XnyDVWQRfcrxUCjzcbUCbmGr+GVEC0oiN09kFzDAf6Ux4Uh0WwATp1A 9Ud5VDjRHhKrmJh500lGdBvxa1ITZARcTy+U+7aIXEmvvlGmGUZwa3xMA3sGEDoJ4q akO88MXcK6Fg4kw8M6IJ/HdmJD9xae+8DpQfYoXf35COEQDtdLAeKLD/bsRCc4w9Ym wvbvs3pk6Ewig== Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by outbound.pv.icloud.com (Postfix) with ESMTPS id A793D18028D0; Fri, 4 Jul 2025 13:28:34 +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 F13E818034AC; Fri, 4 Jul 2025 13:26:22 +0000 (UTC) From: Zijun Hu Date: Fri, 04 Jul 2025 21:26:00 +0800 Subject: [PATCH v4 2/8] 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: <20250704-rfc_miscdev-v4-2-b48986112d6a@oss.qualcomm.com> References: <20250704-rfc_miscdev-v4-0-b48986112d6a@oss.qualcomm.com> In-Reply-To: <20250704-rfc_miscdev-v4-0-b48986112d6a@oss.qualcomm.com> To: Arnd Bergmann , Greg Kroah-Hartman , "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-parisc@vger.kernel.org, sparclinux@vger.kernel.org, Zijun Hu X-Mailer: b4 0.14.2 X-Proofpoint-ORIG-GUID: zl6owmPiKTNPw4jds7YKolxY1DqlDDF2 X-Proofpoint-GUID: zl6owmPiKTNPw4jds7YKolxY1DqlDDF2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzA0MDEwMiBTYWx0ZWRfX8bLbqYpxR1vV 5Ta9LhdBJfygfVTQxFX6u6C2VnafhCoU32EX+n8Gj17TT+vY0R1zx6VK6nEe0ZhPp8PYJu+MvSf LHBkzr/sgv5PEIVa7aJaGbRMCRx6mb4YvLEpYsfNB/SXU/g/aLf9o07l4Tr4aHe0Y+QaO/RfzLP r4qXHkPjBgCg6fJLhXSXf/0Vyn+r1mOj6Bn1EIAOlKPnEDF7CowTrC+kFbiWIyn3y0NihRs5qSH T4eA2kgWXFRzjR1lxzuyEDbQa37//dF4xVk/twPt0XcU+xZo+aMFImUKtVKWPO02ExslQvA3Y= 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-04_05,2025-07-04_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 spamscore=0 mlxlogscore=999 mlxscore=0 clxscore=1015 phishscore=0 suspectscore=0 malwarescore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.22.0-2506060001 definitions=main-2507040102 From: Zijun Hu Adapt and add test cases for next change which Regards 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..3184f383bea8c77cbca69ff5e31= 5ea5de2d5512e 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 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 Tue Oct 7 23:07:15 2025 Received: from outbound.pv.icloud.com (p-west1-cluster2-host5-snip4-10.eps.apple.com [57.103.64.221]) (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 9269E302CAD for ; Fri, 4 Jul 2025 13:28:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=57.103.64.221 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751635723; cv=none; b=pl2dIjU5gE81lHFYBzf2ZSe0bv7roV3eQsG15uygR0cBKEOxz5sm2/zd7bOBdld8Q6ltz0d5kVx+1RD2z06D0RvfLKg9WYpaLP1jMA4DAzQpOjkakyotfssfZZzFZ1wdtDkVa48TkkV4fLoijdGQP7MEegfUdY0gVUWnWDwToNo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751635723; c=relaxed/simple; bh=u82rCBgKlEQYqhu1p86SsS2QRJmrpOTRiKIMamiJcNk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ZipSokOGgGw28Q8M6IyPLpmk/lbAao8H0nDGUo9XW+HqAgTNcZi8T8FU54tPjsBC02C5YUi2DKiO7Xv8RqELq0zthFxguSGqYOivRve0qMJX/y3Nlfp8l6ZOdd22cxVgMO/qi0gKr/6u9WzOdE9q8KlO6SfwaWHyadgrWxl1ynI= 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=lFbX1O8y; arc=none smtp.client-ip=57.103.64.221 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="lFbX1O8y" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=1a1hai; bh=VYM2nGliAAA138H4u5xVRviCZPDvG3NS2VBKVhrf82U=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:x-icloud-hme; b=lFbX1O8ycZJUVmg5cYxfFS3pMHZO8mSO3bN1rHA62VFOah1h0Olvski/Wszv2QwCN yI6q5KKksZSxLkqxSQ5XRzzRiYelr69hQObBYOpjqKBPwCNuwZKKUPCppUfTU5TZzX 3eLOMz9cp45VlEuJTACvSc20T96wQl6IIRGUOKCaxRF4mjcphCVemAXNFIjqvji+Rc +uN2fBRloVGFNikvphMWreMW9jERi5NtWF+8j13iYOJMaJW9cbMLprbiCljUzsjSAJ aPF1EWybu5i8xuj8+ASmMY36D429oSoH7QWzNiFWGh6Rs7jqGZQZtrHgSvFAqruiDB +ME6kB/2GsJWw== Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by outbound.pv.icloud.com (Postfix) with ESMTPS id A9FEA18028EF; Fri, 4 Jul 2025 13:28:36 +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 80BF018009A9; Fri, 4 Jul 2025 13:26:25 +0000 (UTC) From: Zijun Hu Date: Fri, 04 Jul 2025 21:26:01 +0800 Subject: [PATCH v4 3/8] 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: <20250704-rfc_miscdev-v4-3-b48986112d6a@oss.qualcomm.com> References: <20250704-rfc_miscdev-v4-0-b48986112d6a@oss.qualcomm.com> In-Reply-To: <20250704-rfc_miscdev-v4-0-b48986112d6a@oss.qualcomm.com> To: Arnd Bergmann , Greg Kroah-Hartman , "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-parisc@vger.kernel.org, sparclinux@vger.kernel.org, Zijun Hu X-Mailer: b4 0.14.2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzA0MDEwMiBTYWx0ZWRfX6tLq5hXGlmUh 5Uyab4RYm/1IeWDctYM354HL4eu8nMLJasddRSeLMb/pAnApsNLd1pAthp/18obTwycWwH4RQXh jNrcYBZ8/oKz+7BE7kHWYoijkDml/wB/oEcAw8l/FCK273JHilpL8jkZ2VgiKRyR2h3JveG9LP/ V6nvTgKY85ElnsfN1NzJ61hu2Trb43QeGb5dydyqum1ZgVR9H2MXxBvI7eJPkgx3sGyKxS76/9s Y8YNrvhNE4tkBeVC64Kd38BBZGXxqHrIlqVzpU2nHorwzLx67H2CSZMaK4y1Qxyi8i18IQuJo= X-Proofpoint-GUID: BD9PdP3dEwO_fti-tuoPSQGC3sWam4-5 X-Proofpoint-ORIG-GUID: BD9PdP3dEwO_fti-tuoPSQGC3sWam4-5 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-04_05,2025-07-04_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 malwarescore=0 clxscore=1015 spamscore=0 suspectscore=0 mlxscore=0 mlxlogscore=999 bulkscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.22.0-2506060001 definitions=main-2507040102 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 division 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 refusing to register miscdevice whose minor > 255. Also bring in a 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 Tue Oct 7 23:07:15 2025 Received: from outbound.pv.icloud.com (p-west1-cluster5-host4-snip4-10.eps.apple.com [57.103.66.171]) (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 F2BD8302064 for ; Fri, 4 Jul 2025 13:28:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=57.103.66.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751635722; cv=none; b=Hw6rwyrvmEyv4sLDGpdtOUx3iqY6qT7mvjk2N3Bhxdr/ow/RuLWCv4ZQPSZ4J5X2KSdUjUGALkMqtNyUyHlkirZ9YbSsF+QtMrQt8gJkPF4S7aMhjhZiaBDTBWzL9z7NlI3tqf7i5yH24Empkt6FBtsuSYJO/1WGzPJ0n176juk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751635722; c=relaxed/simple; bh=Ah1h1MYr5pdLZyF54NnuMiud/JHO5vb1eGeLlI4vUc4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=uL0SRJN4CbAP5NQkL6ACs8IdMffsoeTAfH12BMDU4/r13vrFHViPj2T3AxSawcQSwsvGvVBBphyJYXRn57p0dTsSqjgKOyWcjqzpyL6d9W0vA23YcShERLWBMAMZZJPCPB1GYKm8R3CsRmjxkbD4V2u36gQ5xW0zAj4B4siviNU= 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=QU0zetjO; arc=none smtp.client-ip=57.103.66.171 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="QU0zetjO" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=1a1hai; bh=9BOoKJ740v44GBBYsjlH7Kn4WUaAIwfCUT/4UqUeD1A=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:x-icloud-hme; b=QU0zetjONGmH8cQj0Vcxfop/FnOm+XzM516wxg+XRra4NSj4bcUD5p824rdlftLui 0Ca2tUwoej0YwO9DD2QNx4NgCHnPpJhe/6pD0k4b1lxQXSct5U1yvt2GxOM2iXjwsI EFvMEPMo1gNtqNhCB4EhztMdRvLdy3Cpz/Nf9gMWzwMn/wdhstSjKYVnaVo+zcFRdO EbKBFE34WHAvuiMhEyjaTH97OODNkoJm6SsaWtLIYWj3skuJT9bLZPs8mVc09jbNsf Rb6u/LdlUdrV5pkfMjCnqhRu875clw0AUIncYm0uNa5r3HoTtXh8/nu7ItRHs18jMi t6FPfB4Mu3ONw== Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by outbound.pv.icloud.com (Postfix) with ESMTPS id AD6B21801F9C; Fri, 4 Jul 2025 13:28:38 +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 0D4BE18001E1; Fri, 4 Jul 2025 13:26:27 +0000 (UTC) From: Zijun Hu Date: Fri, 04 Jul 2025 21:26:02 +0800 Subject: [PATCH v4 4/8] char: misc: Add a reentry test case about 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: <20250704-rfc_miscdev-v4-4-b48986112d6a@oss.qualcomm.com> References: <20250704-rfc_miscdev-v4-0-b48986112d6a@oss.qualcomm.com> In-Reply-To: <20250704-rfc_miscdev-v4-0-b48986112d6a@oss.qualcomm.com> To: Arnd Bergmann , Greg Kroah-Hartman , "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-parisc@vger.kernel.org, sparclinux@vger.kernel.org, Zijun Hu X-Mailer: b4 0.14.2 X-Proofpoint-ORIG-GUID: JgRGpDozAPJOEHPw9-U-5qyHOPF7uyZO X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzA0MDEwMiBTYWx0ZWRfX+KlhE77/pLG+ AK5Pzy99vhIL+i70f5VPZK2esItjgsXsYleTs3wMlofZUlaUZz2/+KG3osPbH13JzHk6vaJa6cU StBaciaBDUoDUMkdJc/JeipbRA8lNkke8jL9UTS1nokiAzeK3VQ3j7ga3dYdsVAn4cFauslAmPl 5KtQSxUuejvXiI0aCK0mlCYz6Qbjq2yFk9zbFS8GQYTh1dY3CeGt6ueWj5f8XVET50YaeREMnP1 fRHlbWDI0FTjUSuHGLjQ4L1eiyf+lHOYdj1ySjze7VAOASfzhPnrqe8030briQ9afnub3i3oE= X-Proofpoint-GUID: JgRGpDozAPJOEHPw9-U-5qyHOPF7uyZO 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-04_05,2025-07-04_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 clxscore=1015 suspectscore=0 mlxlogscore=999 phishscore=0 bulkscore=0 malwarescore=0 mlxscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.22.0-2506270000 definitions=main-2507040102 From: Zijun Hu Add a case to test reentry about requesting dynamic minor: 1) Provide Both @dev_A and @dev_B want to request dynamic minor by initializing their 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 3184f383bea8c77cbca69ff5e315ea5de2d5512e..6fc8b05169c5754b96588088471= a844a2e2ee29b 100644 --- a/drivers/char/misc_minor_kunit.c +++ b/drivers/char/misc_minor_kunit.c @@ -602,6 +602,49 @@ static void miscdev_test_invalid_input(struct kunit *t= est) 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 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 Tue Oct 7 23:07:15 2025 Received: from outbound.pv.icloud.com (p-west1-cluster4-host12-snip4-9.eps.apple.com [57.103.65.230]) (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 ABAB7303DD9 for ; Fri, 4 Jul 2025 13:28:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=57.103.65.230 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751635725; cv=none; b=TLJpwIT8QzPaucr4VF5/XTR/9NL76Sftjs09pwExahWO+x29P0GgTrUXs/omKqb+whPPdYjMc7FPEUTb2dquR+m4NiyFybA9qwFuxPbQIR79P8OuCtcoOP2SUd3mc/BB1Di1FNNc2fBveKdIur5WMwZyuGEs2v4t8otDcelfV/g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751635725; c=relaxed/simple; bh=wFGpDXTdZuxmwa4jC4AUegIxrdfaKn8pxUX8kuIpn9E=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=DihBNm4cWk9m5TDL+k9w0wnJpXzYuywvz3D2yWkcRXQ6NpBzFlidewk6IXnx7EIGWmEKSsvpG/jY6gL/GUVaXlHCryTxKrUKI4NswJ1ei18JrX25iGIj2488c5J9r0OqYh8+xqQmoMQdJGPf8fVYF+14UBkKRHOIkQLckslvvp4= 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=HnaJ8NMF; arc=none smtp.client-ip=57.103.65.230 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="HnaJ8NMF" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=1a1hai; bh=cbt7c0HlAVhmp4PCZp8Pa4hR5RztlzTvRA5ww/nditw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:x-icloud-hme; b=HnaJ8NMFc+VYP8r8T45TLZ26zDaZABJAjuodrG76GA7NI2k+1Td7z3TTS/C3YDwbu pu7snHzh1TAdUEN4ng1o9X4mQrU6zoL0F1gupisz56KkIgC6o/St5ZvvpePSHQD5Mt AdbqjhvEl0JaNxOUT8qhcLpi7U7efSSWxDfsMqYHd1sgmBVyk549UiP2mwqzPsjGwe ZYCJcOl3RMnZpfe0M3K9uzJlw3a5cJyL0Dcnx+LG5yj9HSCcZEZiLXKkj/pdpQdurL ou9hPFaW2Slmia2ODgmpseQZA5H3YcAPjtbV3qEY6qujdj5smm6x3X/MFy/+4F0hzu sCHvI7p1R/2zg== Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by outbound.pv.icloud.com (Postfix) with ESMTPS id 4E0231800F94; Fri, 4 Jul 2025 13:28: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 E90831803C44; Fri, 4 Jul 2025 13:26:30 +0000 (UTC) From: Zijun Hu Date: Fri, 04 Jul 2025 21:26:03 +0800 Subject: [PATCH v4 5/8] char: misc: Make registering miscdevice reentry who wants 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: <20250704-rfc_miscdev-v4-5-b48986112d6a@oss.qualcomm.com> References: <20250704-rfc_miscdev-v4-0-b48986112d6a@oss.qualcomm.com> In-Reply-To: <20250704-rfc_miscdev-v4-0-b48986112d6a@oss.qualcomm.com> To: Arnd Bergmann , Greg Kroah-Hartman , "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-parisc@vger.kernel.org, sparclinux@vger.kernel.org, Zijun Hu X-Mailer: b4 0.14.2 X-Proofpoint-GUID: a-iVs9U9UV9OuytPZirYj8aUJKBqtP1R X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzA0MDEwMiBTYWx0ZWRfXz5X44wgqsz15 kXv3nVARY7F98D+c79RT7+0/U6ZbuI8msh/lqisV0bgxrSJTCz5BpaoLueYw1pEolUEhMok4UN2 NVS3CdvhH+fFB2C/mBD5oXJZi2OQumXN9T48SvueUKVKNAlV5xzDKdl11HqOH2OwX/2SZJMWj3Q iyPWsqtu7IefFk4nh8QhxZzpucOUjP4P/Zqykwe197whrhjRbcO/VJQ8BxQs/IX95/AHX0Cn/oO D8Gw/zNEYGoEuzFYiHCVLDvUJN9iODgxDvfJdZOTC4rB7509VrFiS0CM2vs42l6k+dn7woPLY= X-Proofpoint-ORIG-GUID: a-iVs9U9UV9OuytPZirYj8aUJKBqtP1R 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-04_05,2025-07-04_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 suspectscore=0 malwarescore=0 clxscore=1015 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.22.0-2506060001 definitions=main-2507040102 From: Zijun Hu misc_deregister() frees dynamic minor @misc->minor but does not reset it 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 misc_register()/misc_deregister() are sometimes invoked by driver's probe()/remove() separately, which has reentry requirement. Fix by resetting @misc->minor to MISC_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 Tue Oct 7 23:07:15 2025 Received: from outbound.pv.icloud.com (p-west1-cluster2-host10-snip4-10.eps.apple.com [57.103.64.151]) (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 041603074A2 for ; Fri, 4 Jul 2025 13:28:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=57.103.64.151 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751635727; cv=none; b=MArx4lRGSupLBwDFi70z3q0GjgEseERyXabiq1EeOCJNQEdFTOn/dCeCEoj5OG5I14R6GeHiAHvqrjQ9vnPaAq7QS6mZ0fPFbU/7XyG3CD9k/0BQ9D+BpzQCsMAY5T77MNfBEz1vIynEa1arQFZKv0Sa4NFVJ0R3h1efdRwHPYA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751635727; c=relaxed/simple; bh=ldfknhlwCWcuoUqnJHEhTy4XSxhklb2aadv2s6gqlmo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=IQb2zOs/oyhDEAJ6E8yXdPPeknjmyUVZ13x+5H3GPElvMD+WVloOCOtDJ/8C1olzNfepwarv5NO2zlALWxnLidOrCPIQb1y6R4NN0aeWKFWSFeeBMEsUmk8eOAeHXrCbfVcY2/uvLRKWUPYANuWp6Guo9BgKH5JJc5Q+Fln26bk= 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=KEfVUV4w; arc=none smtp.client-ip=57.103.64.151 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="KEfVUV4w" 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=KEfVUV4wFWYZ06waF2k9DVQxSBJDlG+o7H48wj5NLvmVlb9m4ZQ4IEJ1u+47j21Gq Pvueijv8a1P9oKVa+EFS5aCAFOsiEpmO4hylHpMghUti70UaG3sBfbbZsPa9xFzlBK x+9PBGqoeAdxqx4tSozJbUO0NtilNjtjEEerOZkntWuS00FnoTLZExx89v3tE+iRrz 7Umkp1l1izQXV/Sy/TtuUu2Kt0MACSnO6yBOHqr3apE9kOVpqrwVEXY6GVX2r2gPEt KWgNXMRBC6FQAAkl2o3NqnJC3b+OlMlr9pzSDU+GbE6BTVAAm+6UIs4UW3JPDy9PzL c26ZqXsb3GAfg== Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by outbound.pv.icloud.com (Postfix) with ESMTPS id A5E2A18028EC; Fri, 4 Jul 2025 13:28:41 +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 7603018034B5; Fri, 4 Jul 2025 13:26:33 +0000 (UTC) From: Zijun Hu Date: Fri, 04 Jul 2025 21:26:04 +0800 Subject: [PATCH v4 6/8] 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: <20250704-rfc_miscdev-v4-6-b48986112d6a@oss.qualcomm.com> References: <20250704-rfc_miscdev-v4-0-b48986112d6a@oss.qualcomm.com> In-Reply-To: <20250704-rfc_miscdev-v4-0-b48986112d6a@oss.qualcomm.com> To: Arnd Bergmann , Greg Kroah-Hartman , "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-parisc@vger.kernel.org, sparclinux@vger.kernel.org, Zijun Hu X-Mailer: b4 0.14.2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzA0MDEwMyBTYWx0ZWRfXw2OdTwNdYEXV 6GGv3S9qMhktRTOoIhOAoFs2LwLkkFRCc0hQIP8eDcSQLhTTztES5zRPDYV4pwtc6YTICXRGTHd ezoFngALQzYmfF5iqQxGMk0qJ5sWsawJG/Ot/hs/Pz5acSkntSTdA/yKAtWxqfoSwMxqVUuvhFD 7hM8+Ksdv25j+FF+6h8NErZjpKXKFO2T9wYTWzICUdK4N/504Ff2Y6pyTKSBbYWwxrCvaiuWmfB ksXjyjNV72R9I08TrVRK1AFbr28MVkYpgbcohZO96OCOckvML8b5RaobGUn/ETUIwEnL2K3h8= X-Proofpoint-GUID: CA8Q0r3CiIl2M-NDR4mbCu2ueG6UYIIo X-Proofpoint-ORIG-GUID: CA8Q0r3CiIl2M-NDR4mbCu2ueG6UYIIo 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-04_05,2025-07-04_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 phishscore=0 bulkscore=0 suspectscore=0 spamscore=0 mlxscore=0 malwarescore=0 clxscore=1015 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.22.0-2506060001 definitions=main-2507040103 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 Tue Oct 7 23:07:15 2025 Received: from outbound.pv.icloud.com (p-west1-cluster1-host4-snip4-3.eps.apple.com [57.103.64.116]) (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 D6E1F3074BB for ; Fri, 4 Jul 2025 13:28:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=57.103.64.116 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751635729; cv=none; b=c/ENd6MoWXaXmc0MIwifNK75KLK9EZA6BpR+yXl+l+fp88Id0+K8kMDtwIUPh8d6zjRx/7yJM5H5Sg7kdEBp71BVKueVR2unZbEpMdcfvePouFZdxwvle9s8skVkZVry+JuC2MUMq24ygFIuymDs1tWm93DH4BTPDeD6tFC1Lao= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751635729; c=relaxed/simple; bh=abVLHhlrbRD4j7Q9knssLHFcwdKTohtl5aEN2e8X638=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=qDXYaBHhXBD2s80JBPDUoFMPv8kQegDJrKwfJDB720VhexJeMm+shM+IfQ9+/jJTWbkkkccJWe+YAKabniwFX2KEqbZYx0+mgKQYU8Y9VhOqPrZ3nLIgVeW5+zSZFnz7TxbaYH8WLpjGb4iFmkrTPJpGUzDRCRiXUaI5w3QrArI= 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=tofw/KkB; arc=none smtp.client-ip=57.103.64.116 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="tofw/KkB" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=1a1hai; bh=OZilOEgmhkbniE4e1rdKTYefieL2PDjJBxvY1WxL31Q=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:x-icloud-hme; b=tofw/KkBc42tT2g3cnzlQpM97ojeBygBqSdUNsKNEUsbIq2zws+LhNI5A/qxoSgUv c2KmZ9oX4rJcyfN9IW+PxnAkcxl/RORMBT0owOwPvsswPV/dSWRUfZKKHFxj3InG2N /xdGbV0eajT+vci13NAN46Z9tFIjBSgjwXvhxFU8uyJjp+uj1ale6hyuXUNbJaP3X5 jp4HAyNgWTQu5JArEQOgL5Q2rCScigUY3UG7/QlOPk4s26DniUPIUrOyh+7cYIziJq Kpjo/9a+F9dh3FEydvFQ8bHGydVy6SQ2VypiLXYJFTYwG6UxIwC0/kTFKa70BYFzhQ XH0ZDi81faOTA== Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by outbound.pv.icloud.com (Postfix) with ESMTPS id EAA1A1802113; Fri, 4 Jul 2025 13:28:43 +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 5E20718034AA; Fri, 4 Jul 2025 13:26:36 +0000 (UTC) From: Zijun Hu Date: Fri, 04 Jul 2025 21:26:05 +0800 Subject: [PATCH v4 7/8] char: misc: Register 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: <20250704-rfc_miscdev-v4-7-b48986112d6a@oss.qualcomm.com> References: <20250704-rfc_miscdev-v4-0-b48986112d6a@oss.qualcomm.com> In-Reply-To: <20250704-rfc_miscdev-v4-0-b48986112d6a@oss.qualcomm.com> To: Arnd Bergmann , Greg Kroah-Hartman , "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-parisc@vger.kernel.org, sparclinux@vger.kernel.org, Zijun Hu X-Mailer: b4 0.14.2 X-Proofpoint-GUID: lAKkc_CO_LmXz-dQhyBV7aWZOXttmFhr X-Proofpoint-ORIG-GUID: lAKkc_CO_LmXz-dQhyBV7aWZOXttmFhr X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzA0MDEwMiBTYWx0ZWRfX+CQkgNphkGcA prZPbrljimj1I6yuCmlJLG8M2MIbes1+5pkhf/qiV4Ro1wNeSc10WlG9EREF+znTlbqhC3sMNVK M6Cxwqh9lNHF8ZM2jSX7/uucLHlHO41sZ85XEBtxxHAUbAmU3k+PavNV9RbfNQihrN8lLgSpt5B AEB1rIh3D6DZYLfPa/qRrMyswX1cgrbvRN4Y8XvxqectIYJ2D8fcY3qmix14Cuqtm06NDHsa7F0 QAKQUmAcPv8BiTAF0g3YlmnQQzkBXMj+b2DFh2VSW1iefxzw1oLL1khJZGutwrEWzILuTlwb4= 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-04_05,2025-07-04_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 phishscore=0 malwarescore=0 suspectscore=0 adultscore=0 mlxlogscore=999 clxscore=1015 mlxscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.22.0-2506060001 definitions=main-2507040102 From: Zijun Hu Move fixed minor EISA_EEPROM_MINOR definition 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 565b88efeb23d02b7d91df1cd7df4bdcf2898224..7d0aa718499cc1867790e98eb6b= 84c1673091905 100644 --- a/include/linux/miscdevice.h +++ b/include/linux/miscdevice.h @@ -70,6 +70,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 Tue Oct 7 23:07:15 2025 Received: from outbound.pv.icloud.com (p-west1-cluster6-host11-snip4-10.eps.apple.com [57.103.67.13]) (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 0B9B1307AE3 for ; Fri, 4 Jul 2025 13:28:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=57.103.67.13 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751635731; cv=none; b=EJKr71maH+5/+K8wWRMrT7tF8ZhffqJVzoiD5ClW8rZ11PMubV6LhI+V9qwBmE8CdYATgFHnupnYBYADqqlgcWaSaPTuCiUmHHjiplBJgLB/LxvEH5VZi9hvB3ejQm/u5tWoUdbTxJcGJCvsRHnCnHEEBbAvRR0tJw1BhRDbNTs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751635731; c=relaxed/simple; bh=rUPc6HarIFgYCi5PCcb/6kreZya/jVbJye2++gX7mpw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Y+12a/wVZuaWIG5Ak1E+JcvT8MxuuShJfPzHpYqzTSi/B/0XG4MPWIFS5AdCqiTWcUHXfePhPIttzvzg+w3AICRoyBg/hUJD45crx5zbaDcfR+LBnjl6N3LUdLi8PGwmirfNtnJQdwvqoCpu5To+H3YZw0Il3bvYAzL6DP7FcNk= 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=LxjpWLCm; arc=none smtp.client-ip=57.103.67.13 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="LxjpWLCm" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=1a1hai; bh=MxR3vmUTXOypUpeb+mW6WO9zX6HevJTvOmfA6oc0iJM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:x-icloud-hme; b=LxjpWLCmH4HovGsbtKkiybuGbTGeQZWsVtYmqnt0CzNJ4zBLciNC9+zuCiN9s00Ur rJUYzDmHoT65aLOqPLljtdfqNFPRv44dKHu/ChmAJlFDRsqMIbJ8sxHT5fdKGY+/UZ rLRzz2QHb/4ZjFx69HW/ljCkpq20YWMI30I8i3KwYqFP4OM40jRHNtl3yUjWr5Mfmd pnCnr/xvuPB2z6nF3vdgKTS/a3STnorZ36uqRBoARue6Zf/dZIK7JzapwiTw+OIW4F srOs7tIk1rISy5fd02X3tT59w/aVtzHf1w7BVxKsud5mEAAj+OUpIa6OXe0D88HgBb vGsMFq3EJJQdQ== Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by outbound.pv.icloud.com (Postfix) with ESMTPS id 4B1BD1800638; Fri, 4 Jul 2025 13:28: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 DBBDD1803C5B; Fri, 4 Jul 2025 13:26:38 +0000 (UTC) From: Zijun Hu Date: Fri, 04 Jul 2025 21:26:06 +0800 Subject: [PATCH v4 8/8] sparc: kernel: apc: Remove macro APC_MINOR definition 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: <20250704-rfc_miscdev-v4-8-b48986112d6a@oss.qualcomm.com> References: <20250704-rfc_miscdev-v4-0-b48986112d6a@oss.qualcomm.com> In-Reply-To: <20250704-rfc_miscdev-v4-0-b48986112d6a@oss.qualcomm.com> To: Arnd Bergmann , Greg Kroah-Hartman , "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-parisc@vger.kernel.org, sparclinux@vger.kernel.org, Zijun Hu X-Mailer: b4 0.14.2 X-Proofpoint-ORIG-GUID: Z12DxcO4y-Zq33ux5MR8s14ed2G_zkRm X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzA0MDEwMiBTYWx0ZWRfX+gCGtyp9jUEs bE6OTTDayiibtJ1yKFKkPff8Ro5P9KlpalcLw9K1CYP7AQfKehqpE8ZVDlma6F5wtBzumDGMK8j RUfgNRHDSFs/90I21605MXWcM2Nrik0gP2WDjTli23lGyVjUwzZfrco8UtzrEQ41HHRBd+StqyB uJqqAED/+FDLsrYG7lS/rasHM2xwEHlio+50tRYNPztr74dt7IeD+CZenWdSOIku/ZYsmZOrJsq j8B5g9LzM+HdEmU8btws+Pl0BFoh9l3M+AzepvZ5q5rh463qn9CIV8gcHu7L4pO7msy+QU35U= X-Proofpoint-GUID: Z12DxcO4y-Zq33ux5MR8s14ed2G_zkRm 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-04_05,2025-07-04_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 clxscore=1015 adultscore=0 spamscore=0 bulkscore=0 mlxscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.22.0-2506270000 definitions=main-2507040102 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 definition 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