summaryrefslogtreecommitdiffstats
path: root/debian/patches/debian/Revert-docs-kernel_feat.py-fix-potential-command-inj.patch
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--debian/patches/debian/Revert-docs-kernel_feat.py-fix-potential-command-inj.patch295
1 files changed, 295 insertions, 0 deletions
diff --git a/debian/patches/debian/Revert-docs-kernel_feat.py-fix-potential-command-inj.patch b/debian/patches/debian/Revert-docs-kernel_feat.py-fix-potential-command-inj.patch
new file mode 100644
index 000000000..7bfaf99b4
--- /dev/null
+++ b/debian/patches/debian/Revert-docs-kernel_feat.py-fix-potential-command-inj.patch
@@ -0,0 +1,295 @@
+From 4f86519c560fd00b2ab58721cf2943e07107437d Mon Sep 17 00:00:00 2001
+From: Salvatore Bonaccorso <carnil@debian.org>
+Date: Sun, 4 Feb 2024 21:02:11 +0100
+Subject: [PATCH 2/2] Revert "docs: kernel_feat.py: fix potential command
+ injection"
+
+This reverts commit e961f8c6966abbd486ff87549e29e53f3c69b685.
+---
+ Documentation/admin-guide/features.rst | 2 +-
+ Documentation/arch/arc/features.rst | 2 +-
+ Documentation/arch/arm/features.rst | 2 +-
+ Documentation/arch/arm64/features.rst | 2 +-
+ Documentation/arch/loongarch/features.rst | 2 +-
+ Documentation/arch/m68k/features.rst | 2 +-
+ Documentation/arch/mips/features.rst | 2 +-
+ Documentation/arch/nios2/features.rst | 2 +-
+ Documentation/arch/openrisc/features.rst | 2 +-
+ Documentation/arch/parisc/features.rst | 2 +-
+ Documentation/arch/s390/features.rst | 2 +-
+ Documentation/arch/sh/features.rst | 2 +-
+ Documentation/arch/sparc/features.rst | 2 +-
+ Documentation/arch/x86/features.rst | 2 +-
+ Documentation/arch/xtensa/features.rst | 2 +-
+ Documentation/powerpc/features.rst | 2 +-
+ Documentation/riscv/features.rst | 2 +-
+ Documentation/sphinx/kernel_feat.py | 55 +++++++++++++++----
+ .../zh_CN/arch/loongarch/features.rst | 2 +-
+ .../translations/zh_CN/arch/mips/features.rst | 2 +-
+ 20 files changed, 63 insertions(+), 30 deletions(-)
+
+diff --git a/Documentation/admin-guide/features.rst b/Documentation/admin-guide/features.rst
+index 7651eca38227..8c167082a84f 100644
+--- a/Documentation/admin-guide/features.rst
++++ b/Documentation/admin-guide/features.rst
+@@ -1,3 +1,3 @@
+ .. SPDX-License-Identifier: GPL-2.0
+
+-.. kernel-feat:: features
++.. kernel-feat:: $srctree/Documentation/features
+diff --git a/Documentation/arch/arc/features.rst b/Documentation/arch/arc/features.rst
+index 49ff446ff744..b793583d688a 100644
+--- a/Documentation/arch/arc/features.rst
++++ b/Documentation/arch/arc/features.rst
+@@ -1,3 +1,3 @@
+ .. SPDX-License-Identifier: GPL-2.0
+
+-.. kernel-feat:: features arc
++.. kernel-feat:: $srctree/Documentation/features arc
+diff --git a/Documentation/arch/arm/features.rst b/Documentation/arch/arm/features.rst
+index 0e76aaf68eca..7414ec03dd15 100644
+--- a/Documentation/arch/arm/features.rst
++++ b/Documentation/arch/arm/features.rst
+@@ -1,3 +1,3 @@
+ .. SPDX-License-Identifier: GPL-2.0
+
+-.. kernel-feat:: features arm
++.. kernel-feat:: $srctree/Documentation/features arm
+diff --git a/Documentation/arch/arm64/features.rst b/Documentation/arch/arm64/features.rst
+index 03321f4309d0..dfa4cb3cd3ef 100644
+--- a/Documentation/arch/arm64/features.rst
++++ b/Documentation/arch/arm64/features.rst
+@@ -1,3 +1,3 @@
+ .. SPDX-License-Identifier: GPL-2.0
+
+-.. kernel-feat:: features arm64
++.. kernel-feat:: $srctree/Documentation/features arm64
+diff --git a/Documentation/arch/loongarch/features.rst b/Documentation/arch/loongarch/features.rst
+index 009f44c7951f..ebacade3ea45 100644
+--- a/Documentation/arch/loongarch/features.rst
++++ b/Documentation/arch/loongarch/features.rst
+@@ -1,3 +1,3 @@
+ .. SPDX-License-Identifier: GPL-2.0
+
+-.. kernel-feat:: features loongarch
++.. kernel-feat:: $srctree/Documentation/features loongarch
+diff --git a/Documentation/arch/m68k/features.rst b/Documentation/arch/m68k/features.rst
+index de7f0ccf7fc8..5107a2119472 100644
+--- a/Documentation/arch/m68k/features.rst
++++ b/Documentation/arch/m68k/features.rst
+@@ -1,3 +1,3 @@
+ .. SPDX-License-Identifier: GPL-2.0
+
+-.. kernel-feat:: features m68k
++.. kernel-feat:: $srctree/Documentation/features m68k
+diff --git a/Documentation/arch/mips/features.rst b/Documentation/arch/mips/features.rst
+index 6e0ffe3e7354..1973d729b29a 100644
+--- a/Documentation/arch/mips/features.rst
++++ b/Documentation/arch/mips/features.rst
+@@ -1,3 +1,3 @@
+ .. SPDX-License-Identifier: GPL-2.0
+
+-.. kernel-feat:: features mips
++.. kernel-feat:: $srctree/Documentation/features mips
+diff --git a/Documentation/arch/nios2/features.rst b/Documentation/arch/nios2/features.rst
+index 89913810ccb5..8449e63f69b2 100644
+--- a/Documentation/arch/nios2/features.rst
++++ b/Documentation/arch/nios2/features.rst
+@@ -1,3 +1,3 @@
+ .. SPDX-License-Identifier: GPL-2.0
+
+-.. kernel-feat:: features nios2
++.. kernel-feat:: $srctree/Documentation/features nios2
+diff --git a/Documentation/arch/openrisc/features.rst b/Documentation/arch/openrisc/features.rst
+index bae2e25adfd6..3f7c40d219f2 100644
+--- a/Documentation/arch/openrisc/features.rst
++++ b/Documentation/arch/openrisc/features.rst
+@@ -1,3 +1,3 @@
+ .. SPDX-License-Identifier: GPL-2.0
+
+-.. kernel-feat:: features openrisc
++.. kernel-feat:: $srctree/Documentation/features openrisc
+diff --git a/Documentation/arch/parisc/features.rst b/Documentation/arch/parisc/features.rst
+index b3aa4d243b93..501d7c450037 100644
+--- a/Documentation/arch/parisc/features.rst
++++ b/Documentation/arch/parisc/features.rst
+@@ -1,3 +1,3 @@
+ .. SPDX-License-Identifier: GPL-2.0
+
+-.. kernel-feat:: features parisc
++.. kernel-feat:: $srctree/Documentation/features parisc
+diff --git a/Documentation/arch/s390/features.rst b/Documentation/arch/s390/features.rst
+index 2883dc950681..57c296a9d8f3 100644
+--- a/Documentation/arch/s390/features.rst
++++ b/Documentation/arch/s390/features.rst
+@@ -1,3 +1,3 @@
+ .. SPDX-License-Identifier: GPL-2.0
+
+-.. kernel-feat:: features s390
++.. kernel-feat:: $srctree/Documentation/features s390
+diff --git a/Documentation/arch/sh/features.rst b/Documentation/arch/sh/features.rst
+index fae48fe81e9b..f722af3b6c99 100644
+--- a/Documentation/arch/sh/features.rst
++++ b/Documentation/arch/sh/features.rst
+@@ -1,3 +1,3 @@
+ .. SPDX-License-Identifier: GPL-2.0
+
+-.. kernel-feat:: features sh
++.. kernel-feat:: $srctree/Documentation/features sh
+diff --git a/Documentation/arch/sparc/features.rst b/Documentation/arch/sparc/features.rst
+index 96835b6d598a..c0c92468b0fe 100644
+--- a/Documentation/arch/sparc/features.rst
++++ b/Documentation/arch/sparc/features.rst
+@@ -1,3 +1,3 @@
+ .. SPDX-License-Identifier: GPL-2.0
+
+-.. kernel-feat:: features sparc
++.. kernel-feat:: $srctree/Documentation/features sparc
+diff --git a/Documentation/arch/x86/features.rst b/Documentation/arch/x86/features.rst
+index a33616346a38..b663f15053ce 100644
+--- a/Documentation/arch/x86/features.rst
++++ b/Documentation/arch/x86/features.rst
+@@ -1,3 +1,3 @@
+ .. SPDX-License-Identifier: GPL-2.0
+
+-.. kernel-feat:: features x86
++.. kernel-feat:: $srctree/Documentation/features x86
+diff --git a/Documentation/arch/xtensa/features.rst b/Documentation/arch/xtensa/features.rst
+index 28dcce1759be..6b92c7bfa19d 100644
+--- a/Documentation/arch/xtensa/features.rst
++++ b/Documentation/arch/xtensa/features.rst
+@@ -1,3 +1,3 @@
+ .. SPDX-License-Identifier: GPL-2.0
+
+-.. kernel-feat:: features xtensa
++.. kernel-feat:: $srctree/Documentation/features xtensa
+diff --git a/Documentation/powerpc/features.rst b/Documentation/powerpc/features.rst
+index ee4b95e04202..aeae73df86b0 100644
+--- a/Documentation/powerpc/features.rst
++++ b/Documentation/powerpc/features.rst
+@@ -1,3 +1,3 @@
+ .. SPDX-License-Identifier: GPL-2.0
+
+-.. kernel-feat:: features powerpc
++.. kernel-feat:: $srctree/Documentation/features powerpc
+diff --git a/Documentation/riscv/features.rst b/Documentation/riscv/features.rst
+index 36e90144adab..c70ef6ac2368 100644
+--- a/Documentation/riscv/features.rst
++++ b/Documentation/riscv/features.rst
+@@ -1,3 +1,3 @@
+ .. SPDX-License-Identifier: GPL-2.0
+
+-.. kernel-feat:: features riscv
++.. kernel-feat:: $srctree/Documentation/features riscv
+diff --git a/Documentation/sphinx/kernel_feat.py b/Documentation/sphinx/kernel_feat.py
+index bdfaa3e4b202..27b701ed3681 100644
+--- a/Documentation/sphinx/kernel_feat.py
++++ b/Documentation/sphinx/kernel_feat.py
+@@ -37,6 +37,8 @@ import re
+ import subprocess
+ import sys
+
++from os import path
++
+ from docutils import nodes, statemachine
+ from docutils.statemachine import ViewList
+ from docutils.parsers.rst import directives, Directive
+@@ -74,26 +76,33 @@ class KernelFeat(Directive):
+ self.state.document.settings.env.app.warn(message, prefix="")
+
+ def run(self):
++
+ doc = self.state.document
+ if not doc.settings.file_insertion_enabled:
+ raise self.warning("docutils: file insertion disabled")
+
+ env = doc.settings.env
++ cwd = path.dirname(doc.current_source)
++ cmd = "get_feat.pl rest --enable-fname --dir "
++ cmd += self.arguments[0]
++
++ if len(self.arguments) > 1:
++ cmd += " --arch " + self.arguments[1]
+
+- srctree = os.path.abspath(os.environ["srctree"])
++ srctree = path.abspath(os.environ["srctree"])
+
+- args = [
+- os.path.join(srctree, 'scripts/get_feat.pl'),
+- 'rest',
+- '--enable-fname',
+- '--dir',
+- os.path.join(srctree, 'Documentation', self.arguments[0]),
+- ]
++ fname = cmd
+
+- if len(self.arguments) > 1:
+- args.extend(['--arch', self.arguments[1]])
++ # extend PATH with $(srctree)/scripts
++ path_env = os.pathsep.join([
++ srctree + os.sep + "scripts",
++ os.environ["PATH"]
++ ])
++ shell_env = os.environ.copy()
++ shell_env["PATH"] = path_env
++ shell_env["srctree"] = srctree
+
+- lines = subprocess.check_output(args, cwd=os.path.dirname(doc.current_source)).decode('utf-8')
++ lines = self.runCmd(cmd, shell=True, cwd=cwd, env=shell_env)
+
+ line_regex = re.compile("^\.\. FILE (\S+)$")
+
+@@ -112,6 +121,30 @@ class KernelFeat(Directive):
+ nodeList = self.nestedParse(out_lines, fname)
+ return nodeList
+
++ def runCmd(self, cmd, **kwargs):
++ u"""Run command ``cmd`` and return its stdout as unicode."""
++
++ try:
++ proc = subprocess.Popen(
++ cmd
++ , stdout = subprocess.PIPE
++ , stderr = subprocess.PIPE
++ , **kwargs
++ )
++ out, err = proc.communicate()
++
++ out, err = codecs.decode(out, 'utf-8'), codecs.decode(err, 'utf-8')
++
++ if proc.returncode != 0:
++ raise self.severe(
++ u"command '%s' failed with return code %d"
++ % (cmd, proc.returncode)
++ )
++ except OSError as exc:
++ raise self.severe(u"problems with '%s' directive: %s."
++ % (self.name, ErrorString(exc)))
++ return out
++
+ def nestedParse(self, lines, fname):
+ content = ViewList()
+ node = nodes.section()
+diff --git a/Documentation/translations/zh_CN/arch/loongarch/features.rst b/Documentation/translations/zh_CN/arch/loongarch/features.rst
+index cec38dda8298..82bfac180bdc 100644
+--- a/Documentation/translations/zh_CN/arch/loongarch/features.rst
++++ b/Documentation/translations/zh_CN/arch/loongarch/features.rst
+@@ -5,4 +5,4 @@
+ :Original: Documentation/arch/loongarch/features.rst
+ :Translator: Huacai Chen <chenhuacai@loongson.cn>
+
+-.. kernel-feat:: features loongarch
++.. kernel-feat:: $srctree/Documentation/features loongarch
+diff --git a/Documentation/translations/zh_CN/arch/mips/features.rst b/Documentation/translations/zh_CN/arch/mips/features.rst
+index 0d6df97db069..da1b956e4a40 100644
+--- a/Documentation/translations/zh_CN/arch/mips/features.rst
++++ b/Documentation/translations/zh_CN/arch/mips/features.rst
+@@ -10,4 +10,4 @@
+
+ .. _cn_features:
+
+-.. kernel-feat:: features mips
++.. kernel-feat:: $srctree/Documentation/features mips
+--
+2.43.0
+