On Tue, Mar 02, 2021 at 05:25:17PM +0000, Christophe Leroy wrote:
This code provides architectures with a way to build command line
based on what is built in the kernel and what is handed over by the
bootloader, based on selected compile-time options.
Signed-off-by: Christophe Leroy <redacted>
---
include/linux/cmdline.h | 62 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 62 insertions(+)
create mode 100644 include/linux/cmdline.h
Sorry, spotted a couple of other things...
quoted hunk ↗ jump to hunk
+/*
+ * This function will append a builtin command line to the command
+ * line provided by the bootloader. Kconfig options can be used to alter
+ * the behavior of this builtin command line.
+ * @dest: The destination of the final appended/prepended string.
+ * @src: The starting string or NULL if there isn't one. Must not equal dest.
+ * @length: the length of dest buffer.
+ */
+static __always_inline void cmdline_build(char *dest, const char *src, size_t length)
+{
+ if (length <= 0)
+ return;
length is unsigned
quoted hunk ↗ jump to hunk
+
+ dest[0] = 0;
+
+#ifdef CONFIG_CMDLINE
+ if (IS_ENABLED(CONFIG_CMDLINE_FORCE) || !src || !src[0]) {
+ cmdline_strlcat(dest, CONFIG_CMDLINE, length);
+ return;
+ }
+#endif
+ if (dest != src)
The kernel-doc says that @src "Must not equal dest".
Will