Search notes:

MAINTAINERS

Section entries

M Mail patches to: FullName <address@domain>.
R Reviewer: FullName <address@domain>. These reviewers should be CCed on patches.
L Mailing list that is relevant to this area
S Status, one of the following: Supported: Someone is actually paid to look after this; Maintained: Someone actually looks after it. Odd Fixes: It has a maintainer but they don't have time to do much other than throw the odd patch in. Orphan: No current maintainer [but maybe you could take the role as you write your new code]. Obsolete: Old code. Something tagged obsolete generally means it has been replaced by a better system and you should be using that.
W Web-page with status/info
Q Patchwork web based patch tracking system site
B URI for where to file bugs. A web-page with detailed bug filing info, a direct bug tracker link, or a mailto: URI.
C URI for chat protocol, server and channel where developers usually hang out, for example irc://server/channel.
P Subsystem Profile document for more details submitting patches to the given subsystem. This is either an in-tree file, or a URI. See Documentation/maintainer/maintainer-entry-profile.rst for details.
T SCM tree type and location. Type is one of git, hg, quilt, stgit or topgit
F Files and directories wildcard patterns. A trailing slash includes all files and subdirectory files. F: drivers/net/: all files in and below drivers/net; F drivers/net/* all files in drivers/net, but not below; F */net/*: all files in any top level directory /net. One pattern per line but multiple F lines acceptable.
X Excluded files and directories that are not maintained, same rules as for F:. Files exclusions are tested before file matches. Can be useful for excluding a specific subdirectory, for instance: F: net/ and X: net/ipv6/ matches all files in and below net excluding net/ipv6/.
N Files and directories regex patterns. (N: [^a-z]tegra matches all files whose path ends on tegra, files like integrator are not included). One pattern per line, multiple N: lines acceptable. scripts/get_maintainer.pl has different behavior for files that match F: pattern and matches of N: patterns. By default get_maintainer.pl will not look at git log history when an F: pattern match occurs. When an N: match occurs, git log history is used to also notify the people that have git commit signatures.
K Content regex (perl extended) pattern match in a patch or file.

Get list of subsystems

$ awk 'BEGIN {emptyLine=0} /^\s*$/ {emptyLine=1; next} emptyLine {print; emptyLine=0}' MAINTAINERS
As of Linux version 6.5, these are approximately 2700 subsystems!

Get files and file patterns for a given subsystem

The following command finds the files and file patterns that are maintained by the EXTENSIBLE FIRMWARE INTERFACE (EFI) subsystem.
$ sed -n '/EXTENSIBLE FIRMWARE INTERFACE (EFI)/,/^\s*$/p' MAINTAINERS  | grep '^F:'
F:      Documentation/admin-guide/efi-stub.rst
F:      arch/*/include/asm/efi.h
F:      arch/*/kernel/efi.c
F:      arch/arm/boot/compressed/efi-header.S
F:      arch/arm64/kernel/efi-entry.S
F:      arch/x86/platform/efi/
F:      drivers/firmware/efi/
F:      include/linux/efi*.h

Get number of maintainers

As of version 6.5, there are approximately 1700 mainainters:
grep "^M:" MAINTAINERS | awk -F '\t' '{print $2}' | sort -u | wc -l
The number reported is too high because of different spellings or email addresses of maintainers.

See also

scripts/get_maintainer.pl and scripts/parse-maintainers.pl.
Documentation/sphinx/maintainers_include.py
The MAINTAINERS file is not a list of credits, there is a separate CREDITS file.
Linux kernel source tree

Index