| From 8c8c12eb01acdd259bb229e8105a7692547278d2 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 19 Jan 2026 13:04:57 +0100 |
| Subject: docs: kdoc: avoid error_count overflows |
| |
| From: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> |
| |
| [ Upstream commit 802774d8539fa73487190ec45438777a3c38d424 ] |
| |
| The glibc library limits the return code to 8 bits. We need to |
| stick to this limit when using sys.exit(error_count). |
| |
| Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> |
| Cc: stable@vger.kernel.org |
| Signed-off-by: Jonathan Corbet <corbet@lwn.net> |
| Message-ID: <233d1674db99ed8feb405a2f781de350f0fba0ac.1768823489.git.mchehab+huawei@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| scripts/kernel-doc.py | 26 +++++++++++++++++++------- |
| 1 file changed, 19 insertions(+), 7 deletions(-) |
| |
| diff --git a/scripts/kernel-doc.py b/scripts/kernel-doc.py |
| index d9fe2bcbd39cc..a6bb180b13d65 100755 |
| --- a/scripts/kernel-doc.py |
| +++ b/scripts/kernel-doc.py |
| @@ -116,6 +116,8 @@ SRC_DIR = os.path.dirname(os.path.realpath(__file__)) |
| |
| sys.path.insert(0, os.path.join(SRC_DIR, LIB_DIR)) |
| |
| +WERROR_RETURN_CODE = 3 |
| + |
| DESC = """ |
| Read C language source or header FILEs, extract embedded documentation comments, |
| and print formatted documentation to standard output. |
| @@ -176,7 +178,21 @@ class MsgFormatter(logging.Formatter): |
| return logging.Formatter.format(self, record) |
| |
| def main(): |
| - """Main program""" |
| + """ |
| + Main program. |
| + |
| + By default, the return value is: |
| + |
| + - 0: success or Python version is not compatible with |
| + kernel-doc. If -Werror is not used, it will also |
| + return 0 if there are issues at kernel-doc markups; |
| + |
| + - 1: an abnormal condition happened; |
| + |
| + - 2: argparse issued an error; |
| + |
| + - 3: -Werror is used, and one or more unfiltered parse warnings happened. |
| + """ |
| |
| parser = argparse.ArgumentParser(formatter_class=argparse.RawTextHelpFormatter, |
| description=DESC) |
| @@ -323,16 +339,12 @@ def main(): |
| |
| if args.werror: |
| print("%s warnings as errors" % error_count) # pylint: disable=C0209 |
| - sys.exit(error_count) |
| + sys.exit(WERROR_RETURN_CODE) |
| |
| if args.verbose: |
| print("%s errors" % error_count) # pylint: disable=C0209 |
| |
| - if args.none: |
| - sys.exit(0) |
| - |
| - sys.exit(error_count) |
| - |
| + sys.exit(0) |
| |
| # Call main method |
| if __name__ == "__main__": |
| -- |
| 2.51.0 |
| |