From nobody Tue Oct 7 10:36:46 2025 Received: from outbound.pv.icloud.com (p-west1-cluster4-host4-snip4-2.eps.apple.com [57.103.65.203]) (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 1819F25523C for ; Thu, 10 Jul 2025 11:57:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=57.103.65.203 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752148642; cv=none; b=aC5R02JSpcSE32q+xfZFc5DNHcZP3wISpu0+Y9+fm45KaJ2xYjzFXiDj2wr9K+h0M/aEWGBHfHKQi66hbsA7poMVUpblqrBLe5/UdtSrBHTeUaUbtCCOl4YVhEu/odLRcPv81xMpldEMz2GVPiU79ykZGbq5UzeDwGophRy6jXw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752148642; c=relaxed/simple; bh=1Rhoe7BHxRF/MuarYDxZKPJyK9zbtaR0YOq3N+f0hSg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=lG7+fd9kpsk2Ue//6qlwMGy0Z4YIhoSC5d5iaz+9G/Ec/a0xDm87Bb8slcHdkKWf0zD96K6tKLbuPqn7HO5ux6GxfEx3bJoXZflS8ycPafhmG2iE5hCk5yA5LHRYjiOYY1uYp8ftDScy2KP+e9hybYCXxk02n6x3tmqsl5YvmAw= 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=M6qdZQcV; arc=none smtp.client-ip=57.103.65.203 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="M6qdZQcV" Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by outbound.pv.icloud.com (Postfix) with ESMTPS id 97F55180022B; Thu, 10 Jul 2025 11:57:15 +0000 (UTC) Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=1a1hai; bh=3cxFlBecLs+olRGOsshuIdceYjGpKxI6JcAkEkmJa30=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:x-icloud-hme; b=M6qdZQcVihI0IpOQo0KB1wmOOlrNCLgh2laqcmiAiF+pi/bVd343qQiIjZSdd41F+HTKsYHAMGIohFZv3URjA6Tv60X83ocKE3nZa8via19UveP/IJfL40fzQ39KVYO5Mbm3cYffnJpv/zqzuZC9WEPf7ES1tZphymp88Nq3AL0hasEt1GLLVBhvfGMJ7QH9XEH5bqR38QEeiVPO4I3VmWY0MDAGHqEpCiUCtx93cH9TJAtgBxFnt6mQ87rfSkalNM7Dt/xAQRMMn/WFJNjVlWf6SGVS1uXHSkZG+6byswlkRgaL8eL3Yvc49tDxBVqT35mJJu1DnA1Ln/2vDlr3iQ== 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 581A718001BB; Thu, 10 Jul 2025 11:57:11 +0000 (UTC) From: Zijun Hu Date: Thu, 10 Jul 2025 19:56:44 +0800 Subject: [PATCH v5 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: <20250710-rfc_miscdev-v5-1-b3940297db16@oss.qualcomm.com> References: <20250710-rfc_miscdev-v5-0-b3940297db16@oss.qualcomm.com> In-Reply-To: <20250710-rfc_miscdev-v5-0-b3940297db16@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: j18TwZsvJ0ObSZZ3HtvZo9u3Xj6bew58 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzEwMDEwMiBTYWx0ZWRfX5NSmSshhNZXa mWJ8uO1FhbQ2XcX0sY6XGt0FIxWqEZASFK9Nu6ZgTCkW7MgvY3lTOG0tVJ6wFcbqnaKn+WfeL3b 49svbxV9VHKkiB5UsNApTAKjtFMQrCMHppdONP5AQbouKRSyqBnhU2XDNQ0OO7k/yCbALO3teJA OPjx5rAo188XPjIG8+GSaj1panPCyaHlBtwNjJX+h+0plr7lOjpw+HOj27sqCz+2Cgk2XuaH3Xp Ym04GNk34RvEzjRakVOly+1N3r+icbNAHF+Zk7Ulu8052EXkFN/DpIv4U1CL0zvf3UWwCMkUc= X-Proofpoint-GUID: j18TwZsvJ0ObSZZ3HtvZo9u3Xj6bew58 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-10_02,2025-07-09_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 clxscore=1015 mlxlogscore=936 adultscore=0 malwarescore=0 phishscore=0 suspectscore=0 spamscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.22.0-2506270000 definitions=main-2507100102 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..1291369b9126511ff41a06f956a= f4bb1de7ea4b2 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 10:36:46 2025 Received: from outbound.pv.icloud.com (p-west1-cluster4-host9-snip4-9.eps.apple.com [57.103.65.160]) (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 B287E2561D4 for ; Thu, 10 Jul 2025 11:57:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=57.103.65.160 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752148643; cv=none; b=RlLUXcbB2g3OO+CiwLRdsFa5N5vqnaLqMKRKtsqIGX/BIdTqM3lmMaL99AMCjeRpIoTl8csmNg77DLVjEyb2TRwczvjA/13uyOU/ZyVs3ovH2kcSGpasGev0NYkhdk6zJqAd/7vIoFLm7OerUdW8AX2NU+tIfu0DWBHehy0z9Ws= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752148643; c=relaxed/simple; bh=/AiRylSRcwzhmEunQGArB6XDZj9I/BaM5Nh2Os2DP/c=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=f1lbUXLnExXV/zHO0XETYOD9cDnVpFGIGlCmWX8cBmd3bEDDA17dbRBbh8HDkfbZLRt+b5XC5E7PVx+RQj1kDFKWMA2V4D5zOSx2U2FkylL8TL0Sv/w3HuGOpB1GAh+ByIeRQUBzPeDS7bC+nu0TExO0Qg+q2BPl6WYxM8oAPDI= 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=reVkxMh3; arc=none smtp.client-ip=57.103.65.160 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="reVkxMh3" Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by outbound.pv.icloud.com (Postfix) with ESMTPS id 93A0418001A1; Thu, 10 Jul 2025 11:57:18 +0000 (UTC) Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=1a1hai; bh=JeZl4nRCpi5VgV5lnrDHfHn6bzW2jbEiCRbRoFnllBU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:x-icloud-hme; b=reVkxMh3wR5F7JLePOE3WfzNwK07sV+o6sr/T/MYP0chZU9IxeOi4D911RPKgymYI2h+lLVj1/GFm5zD6EfOqi+2ip1lm0J/sWTpFhYPg6abSUWV2DpW+FlqyrzURIdWtIms29LndYU5WttcXTDGdxkhQxrmJl7P4thUOzAzFYdca2vBLEo8caDPbpPOiWAhhSvmn9snmi7b4L/Vb2TFHxWdbcqktZ+qhgsdXKSYRWBwcFH2hdG+TWyWUq3KdVFVjZooZ5MtO0HAi50mnK3QkWPUu7KXO2ql1b3EWuiPaO2aYvorqQTIm3VsbV6q6/QKRrB4edU9JzOFu1D74bLgRA== 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 AC2B81800199; Thu, 10 Jul 2025 11:57:14 +0000 (UTC) From: Zijun Hu Date: Thu, 10 Jul 2025 19:56:45 +0800 Subject: [PATCH v5 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: <20250710-rfc_miscdev-v5-2-b3940297db16@oss.qualcomm.com> References: <20250710-rfc_miscdev-v5-0-b3940297db16@oss.qualcomm.com> In-Reply-To: <20250710-rfc_miscdev-v5-0-b3940297db16@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: AW1haW4tMjUwNzEwMDEwMiBTYWx0ZWRfX8aNwZVync/eX ze8qJwf5K48vS+rkAYVmaohXrMTuUYDxrpfdCqwR5LWttq0M9v0fPbo9wlPCaBNdvvATRJjbxv3 051ZNYGZmPtgp7XB0J4O3H7msIUxglLBiNzDbwOTvRCrNlfXGvQqSANGY2nndhGujjG8dhhRiE1 uQLfik3kftq2Ux07AdbVPHKJdmEhg1oXOuHIe4RhCiZw1mlW4/KU9guwwooVLeNiw7SD+Cf9Wyq bMPFsioY2/xOe70e9/uQOA+tiZwupfLJRxElfZAwDlVWGk3KiiXqSdUFiyfG4HKMnMIfUuxZ4= X-Proofpoint-GUID: 9vN-WiEoBfto4pKXGU00CvuCduiURLL1 X-Proofpoint-ORIG-GUID: 9vN-WiEoBfto4pKXGU00CvuCduiURLL1 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-10_02,2025-07-09_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 clxscore=1015 phishscore=0 mlxscore=0 spamscore=0 adultscore=0 bulkscore=0 suspectscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.22.0-2506270000 definitions=main-2507100102 From: Zijun Hu Adapt and add test cases for next change which regards minor whose value > macro MISC_DYNAMIC_MINOR as invalid parameter when register miscdevice, hence get a simple minor space division below: < MISC_DYNAMIC_MINOR: fixed minor code =3D=3D MISC_DYNAMIC_MINOR: indicator to request dynamic minor code > MISC_DYNAMIC_MINOR: dynamic minor code requested 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 10:36:46 2025 Received: from outbound.pv.icloud.com (p-west1-cluster4-host12-snip4-2.eps.apple.com [57.103.65.223]) (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 7C6132561D4 for ; Thu, 10 Jul 2025 11:57:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=57.103.65.223 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752148648; cv=none; b=LdvJ/m4Ex1Xwc3Ot0Hpp793xfdlCJV9AKJbI/f+DnJzCOlwcMstgVgvBFMTOLZo4bqWHQrFqMNG8nlkeIdxBDOyF2e8pJ1yd0LGZhR6wKeFAbQeMmVZfMzZTxN/qJzGm+Fjsto/RFnttENrA+YgniSH7iJpEEfkiZGMn2Ca5LHA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752148648; c=relaxed/simple; bh=TTuqobUufVwrnwuD1IpvKVLEgpKlWt0plFOqbx/QrjY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=SXBwQzHcSzJvugYaWC43Or7sdI8mDenqsPzyEUjktaQUJw0xqejjH1Uq0uXRbsqLigHg9+F1Bfate4lUh90sw2DTN26oF03cL7++zEJ5d1fKmBjHr3d0RkXOQcT2bq9J8Hm8a7yppj3R1sZwVj3ij5YCpdg55la9Oc3VPVtKF6Q= 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=07nMTyJO; arc=none smtp.client-ip=57.103.65.223 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="07nMTyJO" Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by outbound.pv.icloud.com (Postfix) with ESMTPS id 8614E1800190; Thu, 10 Jul 2025 11:57:22 +0000 (UTC) Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=1a1hai; bh=wluaQIx6vNF4mIxEAfAmvtmQ3di1DI0LWcOfCkaux/0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:x-icloud-hme; b=07nMTyJOiACRiH53iaTyqlDj4WYV73bSfplennotCYDr77Y9fzOm9JbJhKVwpCSzqCskDdTz7jJ8gku5YT2ONm8koeZd55QooYZpU2E9CWfwQtGw2rOVXJiX0nviMMzt+ZCKwRdlQkk8Yjy7o9vzkjqi7gwj4QKzhwuTclPQMIJNistiVRuM9A6IuYd7gkifLkUeTsbLw9MAH7LRKleazXidf6jRK2ZF7w+jT0j/rNr3aWjYzg1kXk06UgwUD69EhfopO/VnUkqDzSP1hAWi49ygomI7COVU8+SBqGcmW5GcrUoiou8tqCrOz6AWvaFSlZkWlHx61NGA94CScpw5wg== 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 737B81800197; Thu, 10 Jul 2025 11:57:17 +0000 (UTC) From: Zijun Hu Date: Thu, 10 Jul 2025 19:56:46 +0800 Subject: [PATCH v5 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: <20250710-rfc_miscdev-v5-3-b3940297db16@oss.qualcomm.com> References: <20250710-rfc_miscdev-v5-0-b3940297db16@oss.qualcomm.com> In-Reply-To: <20250710-rfc_miscdev-v5-0-b3940297db16@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: E9IrM8_A_UBOONPR-mMd7jvmm0kgPyQB X-Proofpoint-ORIG-GUID: E9IrM8_A_UBOONPR-mMd7jvmm0kgPyQB X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzEwMDEwMiBTYWx0ZWRfX8KRPoLX2MOHd 0bb8GnQB9AysvtdOIDGhSgSuy1mNAil1IypOb7VF/3Fqd8jF/t3qI11rP/v08hzGApQwygMTZRh FWAzHKPPgn/v7A/0CDzT9pKLjwrpgU8pk4Udapvu/wK4iAhvwir01TpM0twQ8iVmd+3aENBbhPg CF8/e+03uW6VS0ux+9GgT+G20g7JNkupUGeuV0Cc+cuPS9370cNnJ4JcwPjvqfF1ju7VurXQZpg Qsl4m3N1P9gw05AaxOK22GGSzCSuCKyvGd1xg3WeR52NKSwCNShe3r0leebrDUK/EPdsRpl/s= 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-10_02,2025-07-09_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 malwarescore=0 mlxscore=0 bulkscore=0 suspectscore=0 adultscore=0 clxscore=1015 spamscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.22.0-2506060001 definitions=main-2507100102 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 10:36:46 2025 Received: from outbound.pv.icloud.com (p-west1-cluster6-host6-snip4-5.eps.apple.com [57.103.67.78]) (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 55239258CFA for ; Thu, 10 Jul 2025 11:57:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=57.103.67.78 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752148650; cv=none; b=MNKWvNwHvRgDSepjlN/IjA6LdkPZmP07aegxeDIDS/SrFm9vnAv5KK6InM5wFqurQ4IVKe0gnu+yqI4zIn8zBeTzPSvUHwu4iXiK+Vswv6BetSltFnGzqqgcPu0RG6LFP7+qQKnDMh7Ksh76pVCz3oE+coKHY3tb9XsgrDE4Yq0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752148650; c=relaxed/simple; bh=wKm5Ok1D3zI9n6oV/H9sgCnwtCpc6AvdeR7Tt6S9+jU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=kDrQRLSFyIqbOMYJgPEynMGnKNeU2YHX3+HHgBI1MjfQJ3Cn8SzL2cyWhqAxybidEYaBjYZvjpduXiZNp8fRaBtd2Yug8rhuFXhPUJ5fKBhrkpu1tMGQfYOOdxphRRQoKoOgYNBkJtF1/frL573upB8WMGgKcmO+NDgriswuyHU= 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+SuO5bh; arc=none smtp.client-ip=57.103.67.78 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+SuO5bh" Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by outbound.pv.icloud.com (Postfix) with ESMTPS id EA7D31800199; Thu, 10 Jul 2025 11:57:25 +0000 (UTC) Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=1a1hai; bh=J5y+0r7klm10pX3hlor2G5tej0Jv9rOx8255KUf0j6Y=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:x-icloud-hme; b=B+SuO5bheY405MnVzSaQPNBye54Z8YLjomj7mWIW7GS9LTksoq7orq2bdEOsqw27smZ5NsfNDVaZdvxPAuyfPUUVE97tIEADQiQznsFzBT/SUfXFG/7gLvbYqgaRhdvjXVdYg9/DjdcCxlUbdW6GTIW0QBv1y6aLW+Frh5Pxbpj9mNnxMxc++H1PD54RmiMzUJHyv7JWj9J9LJumdk0/AYtGAzMJrPSr4CHm4YNCe4pP9vDhqSJdv+8kXgT14a8XWnirLN6+XeEvaLHZmyr7/GtOpge8YfKpdXZn3srsJbVNzfzTDty6eMQWtqy7zUVcXd2212u4xHUsgSYnrqvRdA== 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 3CA1118000B8; Thu, 10 Jul 2025 11:57:22 +0000 (UTC) From: Zijun Hu Date: Thu, 10 Jul 2025 19:56:47 +0800 Subject: [PATCH v5 4/8] char: misc: Add a case to test registering miscdevice again without reinitialization 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: <20250710-rfc_miscdev-v5-4-b3940297db16@oss.qualcomm.com> References: <20250710-rfc_miscdev-v5-0-b3940297db16@oss.qualcomm.com> In-Reply-To: <20250710-rfc_miscdev-v5-0-b3940297db16@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: Rv-wiHaEWA-6rhr_aT8ESYmcOD0-UsqM X-Proofpoint-ORIG-GUID: Rv-wiHaEWA-6rhr_aT8ESYmcOD0-UsqM X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzEwMDEwMiBTYWx0ZWRfXxLTChYuUuuiN ykC/HUUr5OpT29x6zS6WN5jW2ctw9Izc0ENYjDi7YFBG5R6PK5uibAH80F+lQ3VDf5PeoTUtu6W OsoOdVhDIIBc00KolMHp06krGNgxxM33VWZF9m4CLAZ62EUn8ct2lvRipiu2viFK8POpytTQR0F e1hxFIlcyHvI8Od+dGjzYAuxg4/6kkm+WINohGqDVXYApvxfHjnf8L1bnhPOJgQ/qee6/t/k0WE xNHBqHUkIrWGWjItJNAypdC8htdwlrqsiOwOkLm016PSZVQ2ZY3u21RLAupq5gHBIAJl6pWas= 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-10_02,2025-07-09_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 bulkscore=0 phishscore=0 mlxlogscore=999 malwarescore=0 suspectscore=0 clxscore=1015 adultscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.22.0-2506270000 definitions=main-2507100102 From: Zijun Hu For miscdevice who wants dynamic minor, add a cast to test if it can be successfully registered again without reinitialization: 1) Provide Both miscdevice @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 successfully registered. 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 10:36:46 2025 Received: from outbound.pv.icloud.com (p-west1-cluster6-host1-snip4-10.eps.apple.com [57.103.67.33]) (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 5191D2494F0 for ; Thu, 10 Jul 2025 11:57:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=57.103.67.33 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752148656; cv=none; b=dZjyw+wcQHxYHbXT94EgGM1x6c5HNwjDFp+SMLrVqjy8YKJXgTB/WR65VUB+JW484aEe6zit+WMXT+lcR81F4YsJ+PkqKN4WFcKH9we8ks9wPCKeSw3+jEaMid8yjfDrcLcUsrp1r/yz0KcjbWhUiLUwL4gdNyjAYvG3ZQ4gK/4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752148656; c=relaxed/simple; bh=X9OQrTfMazN+NOC8O7iQbD+k8RA1ANyXx8NHfXOifaw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=OjgjsGflv+ZufR7o1xZWo9ftYJ94c81x/r5VpD0M6HdtynFTXO0mN/YT3f7zCVwuqJ2IOmT1f6vqzy3j+or0ltvFaqtPn4EDjRiCvcpdmlqJ8npKsAVP5Nb6Po45zmlA1a4R/w/nteKQT0IcAbnbqIkQHvVc1c9xLwjBYv17iig= 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=0l+MYjq/; arc=none smtp.client-ip=57.103.67.33 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="0l+MYjq/" Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by outbound.pv.icloud.com (Postfix) with ESMTPS id 2CCBD18001A1; Thu, 10 Jul 2025 11:57:29 +0000 (UTC) Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=1a1hai; bh=h01q+I9/z1aXWESorcEyCaV2BwxffHtiLprEGYJaan4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:x-icloud-hme; b=0l+MYjq/fXTKLzpSht1IJwY+sUarQiEVExWDtEAli7OPiwpI5dCArSDuFyiKkC8jjlacqvZp8J0rsw0CICWnWuSjUQ3TMNlI4mgvGyu9HSltjQOdT+tdW1ciOdHWOpRMjPZcn7EFxBx0ExsxnU/6DAP9yppUZzD2Pa3YacbjqCTvHdqesYKYzH0sTTdkOSxhpQreS1TzwHXstvrZi7Hka3na7ZlKPq5lL0+zhcq+vr54HjL22ixksXTkYbiek0GeBWcdVVAFksP2OmUggkgYaHFoBLe1GbEzXrh5oSwPK5arj4CvT8SL7GocbaMkvqFkNeWXMl4XKg3FM0/U0+tj2A== 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 902051800225; Thu, 10 Jul 2025 11:57:25 +0000 (UTC) From: Zijun Hu Date: Thu, 10 Jul 2025 19:56:48 +0800 Subject: [PATCH v5 5/8] char: misc: Fix kunit test case miscdev_test_dynamic_reentry() failure 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: <20250710-rfc_miscdev-v5-5-b3940297db16@oss.qualcomm.com> References: <20250710-rfc_miscdev-v5-0-b3940297db16@oss.qualcomm.com> In-Reply-To: <20250710-rfc_miscdev-v5-0-b3940297db16@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: wrDy-7ftnUx8c1COvO3x4XWVCotc2zQG X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzEwMDEwMiBTYWx0ZWRfX0Wba0P9Tydb5 SXM3XG3rhKk7dbovulu3sG51VcjUcFMJovMlcsCHapLR5SLKyHanVj3V4+T2nfbbY4+d5b9C54e OmZIzg6IF45G/+vEadUUv3/iBsEiMzM864/JXQ5ITHNTV8m8qQrSgEYWsEtSIPHBXcIODyaXdRp GrhYWRoRIwzmofJgnjVFuFOdvpJBXgyedBbp/K17rvcD/Z21IJSdDR8mTf1bdtLUEZN8nq/KHwY /6qsEf1Oy4+cQlM6Gsnm7GRuUhhiPy1vWbwn64kfODzjqrRQewf4tP0jGeAgu2Hf7hdu60d3U= X-Proofpoint-GUID: wrDy-7ftnUx8c1COvO3x4XWVCotc2zQG 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-10_02,2025-07-09_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 clxscore=1015 mlxlogscore=999 adultscore=0 malwarescore=0 phishscore=0 suspectscore=0 spamscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.22.0-2506270000 definitions=main-2507100102 From: Zijun Hu misc_deregister() frees dynamic minor @misc->minor but does not reset it to macro MISC_DYNAMIC_MINOR, so 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 @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 10:36:46 2025 Received: from outbound.pv.icloud.com (p-west1-cluster1-host11-snip4-10.eps.apple.com [57.103.64.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 6C7B5255E34 for ; Thu, 10 Jul 2025 11:57:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=57.103.64.13 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752148658; cv=none; b=EK3YWPqog1Qsr5pXTG4sJw8Rj89iLfKN+JKShQhq0bpPGyviEEZcro2xfWkk+wIPY1cGPv0dm7hlH65RXs9HnqAdna6yEoQRxunf2p7Ne4s+n68Y8CrEPofUFKUBIxZa1wectRs1EPQn5XwnXgtVqVrhb0XMDpGCLDu5i5/eQ2c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752148658; c=relaxed/simple; bh=HOk5fiqeXIR/ipCrBr2Il/m2vT6iGRMi0m6ERmiMgUo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=O+pfF3Ct9xw+JOndILYOnzs+43ciU/v8s0pHEgqsIB++vMnuoV7bNDJIhvzzCMLTvtFCFqQOfUFhvgvEBq7f90p/fqMMppP55qYcWiwVKt3ypeeXUVpjuD6YBDqW3GxOQClfNOyTnKqHAetpnj5Kkv2pSaKb02iJxD40JpLhsvM= 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=1Ouyf+9q; arc=none smtp.client-ip=57.103.64.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="1Ouyf+9q" Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by outbound.pv.icloud.com (Postfix) with ESMTPS id 5D11A18000BD; Thu, 10 Jul 2025 11:57:33 +0000 (UTC) Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=1a1hai; bh=wzi47B2ICOPWnlLyd3+COp0dbO4Ufhz2sX65uYDk28c=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:x-icloud-hme; b=1Ouyf+9qMta8zMLa8nxK0mSXFKBdr5uK1LEIk2cqgsbgJqcbI7EuQHTC/huuqdAJZoBYO6lUil4qz23pOmWoEZFTve3XmBSVuRdsxvP/HkhQDuwYskeWCvF68TLieshwudI/Ne7NK2102jZvXfxO8wFJEXRyFnC0vh+VjzGibS04YN3yj8SrFtYofduMoDJ5DrOEoR5e1yhUUpKzKgWb6mUWr9imOKnqW8U4WJW8qlv9UoFT518Z11kLjiSJg5ORxEaGAYhwe5DhCg02WKBfFDU5Oc2ZCSbdylXKLVWl6vi81lcPcsXm9lr1cPjaq6LGOFG0hqa7t9Ny7i9riPdn7g== 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 B40571800183; Thu, 10 Jul 2025 11:57:29 +0000 (UTC) From: Zijun Hu Date: Thu, 10 Jul 2025 19:56:49 +0800 Subject: [PATCH v5 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: <20250710-rfc_miscdev-v5-6-b3940297db16@oss.qualcomm.com> References: <20250710-rfc_miscdev-v5-0-b3940297db16@oss.qualcomm.com> In-Reply-To: <20250710-rfc_miscdev-v5-0-b3940297db16@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: mfPvsMVAFl5zvf331vs_2f3_yB7d2odV X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzEwMDEwMiBTYWx0ZWRfXzBJEaWLz++gt 9QQz06Oydn2KJ8I8/KEdXftPQsg3hyGto30fGFh7oCc0N5crfUHkK3GaHga3gC6ANy1gSvaiWwH lJSwWiIZubUZcpVTENFx4bwjbvkY84nKwMfPevc8U2O8pvvLsBxCoxR4QoFMKI+5CY5lf4nZUdL YtYNJvrztnqAD5n1CVM5yYNjxoRFGlKIOk+kVvc/fCzwZk7vTEhwAD0gpbWl/xsIDI3PbBsVcBY xFrToaWGNDcCkCjOZIj8V0YzQQUEfp/IqJlb/xjNPWC6Q4TOQJBRPbLw9RHji5mtFNERHSMfE= X-Proofpoint-ORIG-GUID: mfPvsMVAFl5zvf331vs_2f3_yB7d2odV 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-10_02,2025-07-09_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 spamscore=0 adultscore=0 phishscore=0 malwarescore=0 clxscore=1015 suspectscore=0 mlxscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.22.0-2506270000 definitions=main-2507100102 From: Zijun Hu misc_open() may request module for miscdevice with dynamic minor, which is meaningless since: - The dynamic minor allocated is unknown in advance without registering miscdevice firstly. - 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 Acked-by: Thadeu Lima de Souza Cascardo --- 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 10:36:46 2025 Received: from outbound.pv.icloud.com (p-west1-cluster4-host6-snip4-6.eps.apple.com [57.103.65.247]) (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 45BAD26A0E0 for ; Thu, 10 Jul 2025 11:57:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=57.103.65.247 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752148663; cv=none; b=i79Dyzc9N0sxMGPBQ1qyQjFSt4GAnHoUDBmUiqOQa6UCWYfgY/Nrviv+PCG5iK92QLUT6jg4lYVrKHg7jFfviOIJD5hdALXaKLrp4e+EPKp+wWfO40I80AjgymhUAdsGBNR8m5E7YPlpTEsVql9mjd8mhgrnXTo/7HIB1QdSztM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752148663; c=relaxed/simple; bh=abVLHhlrbRD4j7Q9knssLHFcwdKTohtl5aEN2e8X638=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=XUUxMZshK7FrR6r2rT06AXQVqJM9SPq+gRSlOa3dV7EYsUahdRXj3mohAkmZXC4GRofwFdmb4idVDI6GyTWIMM3gGTblr7cx8Rom81bQGd88Siz7Ol77fCmQRdS0TmgoIdmdZZuOLd31ExAksK3Tg9NzutATtgcAamoaRWbv/nw= 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=ejeLSOvH; arc=none smtp.client-ip=57.103.65.247 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="ejeLSOvH" Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by outbound.pv.icloud.com (Postfix) with ESMTPS id 33DA01800183; Thu, 10 Jul 2025 11:57:36 +0000 (UTC) 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=ejeLSOvHg3QtFnQvv2zWkPlPLnTm8Nq7u9flnaE5ywr20UuOree12xLzBrZFvH1RcTK7gXrhcafwZxKYv9rY+FR4s8oi34PaloBoPz0v6eqSNLCR4ILm3CBa6Ehtmk6wTwrWRT/cb8s2GsD6DxcxQQ9vsvst0Cxz5KOFPuUJL9JcN2cDX4MFr36GxN+VcKMsA7a50FWlHBW/J0R1n6+MmUgIpSjFgTAOpZNOnyyIXulpdbmunP9467gIQDSLkCHOC691wGPDA5UPjwx90bl+4XXMk31zNbM6jABC5ji7BKbknWmPtcUNBy0kGRDFIqG79+n8DgHJOOR7DUBNAwBM5g== 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 C303B1800197; Thu, 10 Jul 2025 11:57:32 +0000 (UTC) From: Zijun Hu Date: Thu, 10 Jul 2025 19:56:50 +0800 Subject: [PATCH v5 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: <20250710-rfc_miscdev-v5-7-b3940297db16@oss.qualcomm.com> References: <20250710-rfc_miscdev-v5-0-b3940297db16@oss.qualcomm.com> In-Reply-To: <20250710-rfc_miscdev-v5-0-b3940297db16@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: AW1haW4tMjUwNzEwMDEwMiBTYWx0ZWRfX2UM//PYvtK+p 6AV7mCgK0IZH2nOjx7ZelyxCG9tJ1IzlG638Clq6xaPReg8BJN4/VTHtaaSX18gdG1Z2YKDlaKm CqILeqCMKUpXeiBC4jRbu7uTPdL0A/YG45ECtOsqgK7b5TtO4CZp84fnJISwjpd8v0iwYhqdTFv 0NN71j/bQm9pIJkekoNDyHr4Ex0m5SeooGsAGi+iarlzvDg4fN+8ylUznkktyGRt4yH49+IRwAB OSuziD3kss5syOn61eJVsZKTPj6x+pvy451PM6lkFNQgLeMEdt4pMNVnBptUzYPvuYdlKIoAE= X-Proofpoint-GUID: YNBUX40kAdJcjY5TUps3ReVPa2VSeuAt X-Proofpoint-ORIG-GUID: YNBUX40kAdJcjY5TUps3ReVPa2VSeuAt 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-10_02,2025-07-09_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 malwarescore=0 mlxscore=0 adultscore=0 clxscore=1015 mlxlogscore=999 phishscore=0 spamscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.22.0-2506060001 definitions=main-2507100102 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 10:36:46 2025 Received: from outbound.pv.icloud.com (p-west1-cluster1-host1-snip4-2.eps.apple.com [57.103.64.65]) (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 05C42295504 for ; Thu, 10 Jul 2025 11:57:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=57.103.64.65 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752148667; cv=none; b=gAsNXc1dTedIUd12cqiuAhOdltjOyHikA68mdVitlY3Z78ax6JIgd9q5KCHRu7+c/pd/wb8lZIsc0FkEESK5TaefCLvFAlpez2JgPjMaJR8pNbit/4ZxnX/s83ZEM2/F1zISOGSsF05XERCwQ4ILYyARW51KkEeIucoJPDYVikQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752148667; 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=C29c9LCNB2ZzSR5OIoXwEHqNYVpEVZUzjJwRZ0jFgvEj5Gd7uZdF4WRKRhBZONSmqQyLXjB9016/5XTwkA3IGT3dgN6mXvoeHmbJdxd4SInkLogNVzqTzzlECyzB2fDtHWqDJGqBnpXEZEQGvh0vd51Obhx9uwSfDpp9b7jUVPY= 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=XGm4H9E+; arc=none smtp.client-ip=57.103.64.65 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="XGm4H9E+" Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by outbound.pv.icloud.com (Postfix) with ESMTPS id B912A180019E; Thu, 10 Jul 2025 11:57:40 +0000 (UTC) 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=XGm4H9E+eeuvM1OZhXB05wdbNN+kl9lBzQf3eA7dxlvz4IeFFE16Nbx4AVkACGxTzwAZUtyrhGOm3SucvrmUd7sE8DD4XsGeNfSDVmTdPXyhs9V0EuNl0WWnUO65T86k2n7UghABDaM2LtZp7sJnoya2xkpADBdPMC/MZDS7pxWK91MzB4jff9uzqiigGXLOJTnIftG+mVFwy5jjrbeHnLTYFVyOg9R7ftrwIhuFTGIlKEUztCxJK9dMjEfMkBAJQkM6yE8F4enG39E0NuguHQyi0BZRYsv/2eisp/cIrA453UxYTwXue4ZhD2FiHr+iS8//0BejtkcxsSxsnQnB+w== 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 7E06718000AF; Thu, 10 Jul 2025 11:57:36 +0000 (UTC) From: Zijun Hu Date: Thu, 10 Jul 2025 19:56:51 +0800 Subject: [PATCH v5 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: <20250710-rfc_miscdev-v5-8-b3940297db16@oss.qualcomm.com> References: <20250710-rfc_miscdev-v5-0-b3940297db16@oss.qualcomm.com> In-Reply-To: <20250710-rfc_miscdev-v5-0-b3940297db16@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: XzD6-IKcDD6HZSrXuec3CEZvteRfvgZP X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzEwMDEwMiBTYWx0ZWRfX+FU3dhL/LRLX RFEmphM6sMFjUOtFcKdOyZWsmISnAzedq9pAGue1BmSLpGjMXf/gsT/qdBoWRGutRIC2lFbCh1e m5WnVuN3ITjDhhKC6XW8IkB0lEHfUnW1M44gUDzm+cQtHPkTJIh6rQRhow/v/5MML6Hrxn9uhyI FbD7al7vbEDt1W9JpDFOPiOLEPgm0pLpVTnMp6a/7R5eYVl/Co3EW9gVVQnHDMdbRjvKip7EKQ9 lLnO05CIs4/qMzP9d5Tj2EIO6MY0GsE/1c76SH4FlSE5aAJKIzYuUAIa3LRlU/fW/ce+FHx5U= X-Proofpoint-GUID: XzD6-IKcDD6HZSrXuec3CEZvteRfvgZP 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-10_02,2025-07-09_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 clxscore=1015 mlxlogscore=999 adultscore=0 malwarescore=0 phishscore=0 suspectscore=0 spamscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.22.0-2506270000 definitions=main-2507100102 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