lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241213112921.180978-2-vbabka@suse.cz>
Date: Fri, 13 Dec 2024 12:29:22 +0100
From: Vlastimil Babka <vbabka@...e.cz>
To: Joe Perches <joe@...ches.com>,
	workflows@...r.kernel.org
Cc: linux-kernel@...r.kernel.org,
	Vlastimil Babka <vbabka@...e.cz>,
	"Theodore Ts'o" <tytso@....edu>,
	"Bryan O'Donoghue" <bryan.odonoghue@...aro.org>,
	Thorsten Leemhuis <linux@...mhuis.info>
Subject: [RFC PATCH] get_maintainer: decouple subsystem status from maintainer role

The script currently uses the subystem's status (S: field) to change how
maintainers are reported. One prominent example is when the status is
Supported, the maintainers are reported as "(supporter:SUBSYSTEM)".

This is misleading, as the Supported status defined as "Someone is
actually paid to look after this." may not in fact apply to everyone
listed as a maintainer, but only to some of them.

It has also been confusing people to what "supporter" means and has
required updates to the documentation [1].

Thus stop applying the subsystem status to change "maintainer:" to
anything else, as maintainers are maintainers. Instead, if the subsystem
status is not the most common one (Maintained), indicate it as part of
the subsystem name. So for example, instead of "(supporter:SUBSYSTEM)"
report "(maintainer:SUBSYSTEM [supported])".

[1] https://lore.kernel.org/all/20221006162413.858527-1-bryan.odonoghue@linaro.org/

Cc: "Theodore Ts'o" <tytso@....edu>
Cc: "Bryan O'Donoghue" <bryan.odonoghue@...aro.org>
Cc: Thorsten Leemhuis <linux@...mhuis.info>
Signed-off-by: Vlastimil Babka <vbabka@...e.cz>
---
I have been confused myself in the past seeing "supporter" and have seen
somebody recently wondering what it means as well.

I have read the threads from 2022 that in the end resulted in adjusting
documentation only [1]. I very much agree with Ted's points about taking
the subsystem status and applying it to all maintainers being wrong [2].

The attempt to modify get_maintainer output was retracted after Joe
objected that the status becomes not reported at all [3]. This RFC
attempts to address that by reporting the status (unless it's the most
common one) as part of the subsystem.

The patch is not perfect, as with this approach, the logical thing would
be to do the same also for reviewers and mailing lists. In fact,
subsystems with a status of Orphan typically only have some catch-all
mailing list and no maintainers, so the "(orphan minder:SUBSYSTEM)"
would never be currently reported by checkpatch. It would be thus
logical to report the status in the same way for lists (and reviewers).

But I didn't attempt a full implementation as I'm not fluent in Perl and
would like to see if we can get a consensus first. If we do, I don't
insist in this particular "SUBSYSTEM [status]" syntax nor on
implementing the full solution myself - I would be happy if somebody
else did. My main point is that maintainer is a maintainer and the
subsystem status should be indicated for the subsystem, not for the
maintainer.

[1] https://lore.kernel.org/all/20221006162413.858527-1-bryan.odonoghue@linaro.org/
[2] https://lore.kernel.org/all/Yzen4X1Na0MKXHs9@mit.edu/
[3] https://lore.kernel.org/all/30776fe75061951777da8fa6618ae89bea7a8ce4.camel@perches.com/

 scripts/get_maintainer.pl | 20 +++++---------------
 1 file changed, 5 insertions(+), 15 deletions(-)

diff --git a/scripts/get_maintainer.pl b/scripts/get_maintainer.pl
index 5ac02e198737..a2f578f2d93b 100755
--- a/scripts/get_maintainer.pl
+++ b/scripts/get_maintainer.pl
@@ -1286,6 +1286,7 @@ sub get_maintainer_role {
 
     my $role = "unknown";
     my $subsystem = get_subsystem_name($index);
+    my $substatus = "";
 
     for ($i = $start + 1; $i < $end; $i++) {
 	my $tv = $typevalue[$i];
@@ -1299,21 +1300,10 @@ sub get_maintainer_role {
     }
 
     $role = lc($role);
-    if      ($role eq "supported") {
-	$role = "supporter";
-    } elsif ($role eq "maintained") {
-	$role = "maintainer";
-    } elsif ($role eq "odd fixes") {
-	$role = "odd fixer";
-    } elsif ($role eq "orphan") {
-	$role = "orphan minder";
-    } elsif ($role eq "obsolete") {
-	$role = "obsolete minder";
-    } elsif ($role eq "buried alive in reporters") {
-	$role = "chief penguin";
-    }
-
-    return $role . ":" . $subsystem;
+    if ($role ne "maintained") {
+	$substatus = " [" . $role . "]";
+    }
+    return "maintainer:" . $subsystem . $substatus;
 }
 
 sub get_list_role {
-- 
2.47.1


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ