diff options
Diffstat (limited to 'init')
-rw-r--r-- | init/version.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/init/version.c b/init/version.c index 1a356f5493e8..b7f9559d417c 100644 --- a/init/version.c +++ b/init/version.c @@ -11,6 +11,8 @@ #include <linux/build-salt.h> #include <linux/elfnote-lto.h> #include <linux/export.h> +#include <linux/init.h> +#include <linux/printk.h> #include <linux/uts.h> #include <linux/utsname.h> #include <generated/utsrelease.h> @@ -35,6 +37,21 @@ struct uts_namespace init_uts_ns = { }; EXPORT_SYMBOL_GPL(init_uts_ns); +static int __init early_hostname(char *arg) +{ + size_t bufsize = sizeof(init_uts_ns.name.nodename); + size_t maxlen = bufsize - 1; + size_t arglen; + + arglen = strlcpy(init_uts_ns.name.nodename, arg, bufsize); + if (arglen > maxlen) { + pr_warn("hostname parameter exceeds %zd characters and will be truncated", + maxlen); + } + return 0; +} +early_param("hostname", early_hostname); + /* FIXED STRINGS! Don't touch! */ const char linux_banner[] = "Linux version " UTS_RELEASE " (" LINUX_COMPILE_BY "@" |