1 // SPDX-License-Identifier: GPL-2.0-only 1 // SPDX-License-Identifier: GPL-2.0-only 2 /* 2 /* 3 * linux/init/version.c 3 * linux/init/version.c 4 * 4 * 5 * Copyright (C) 1992 Theodore Ts'o 5 * Copyright (C) 1992 Theodore Ts'o 6 * 6 * 7 * May be freely distributed as part of Linux 7 * May be freely distributed as part of Linux. 8 */ 8 */ 9 9 10 #include <generated/compile.h> 10 #include <generated/compile.h> 11 #include <linux/build-salt.h> 11 #include <linux/build-salt.h> 12 #include <linux/elfnote-lto.h> 12 #include <linux/elfnote-lto.h> 13 #include <linux/export.h> 13 #include <linux/export.h> 14 #include <linux/init.h> << 15 #include <linux/printk.h> << 16 #include <linux/uts.h> 14 #include <linux/uts.h> 17 #include <linux/utsname.h> 15 #include <linux/utsname.h> >> 16 #include <generated/utsrelease.h> >> 17 #include <linux/version.h> 18 #include <linux/proc_ns.h> 18 #include <linux/proc_ns.h> 19 19 20 static int __init early_hostname(char *arg) !! 20 struct uts_namespace init_uts_ns = { 21 { !! 21 .ns.count = REFCOUNT_INIT(2), 22 size_t bufsize = sizeof(init_uts_ns.na !! 22 .name = { 23 size_t maxlen = bufsize - 1; !! 23 .sysname = UTS_SYSNAME, 24 ssize_t arglen; !! 24 .nodename = UTS_NODENAME, >> 25 .release = UTS_RELEASE, >> 26 .version = UTS_VERSION, >> 27 .machine = UTS_MACHINE, >> 28 .domainname = UTS_DOMAINNAME, >> 29 }, >> 30 .user_ns = &init_user_ns, >> 31 .ns.inum = PROC_UTS_INIT_INO, >> 32 #ifdef CONFIG_UTS_NS >> 33 .ns.ops = &utsns_operations, >> 34 #endif >> 35 }; >> 36 EXPORT_SYMBOL_GPL(init_uts_ns); 25 37 26 arglen = strscpy(init_uts_ns.name.node !! 38 /* FIXED STRINGS! Don't touch! */ 27 if (arglen < 0) { !! 39 const char linux_banner[] = 28 pr_warn("hostname parameter ex !! 40 "Linux version " UTS_RELEASE " (" LINUX_COMPILE_BY "@" 29 maxlen); !! 41 LINUX_COMPILE_HOST ") (" LINUX_COMPILER ") " UTS_VERSION "\n"; 30 } << 31 return 0; << 32 } << 33 early_param("hostname", early_hostname); << 34 42 35 const char linux_proc_banner[] = 43 const char linux_proc_banner[] = 36 "%s version %s" 44 "%s version %s" 37 " (" LINUX_COMPILE_BY "@" LINUX_COMPIL 45 " (" LINUX_COMPILE_BY "@" LINUX_COMPILE_HOST ")" 38 " (" LINUX_COMPILER ") %s\n"; 46 " (" LINUX_COMPILER ") %s\n"; 39 47 40 BUILD_SALT; 48 BUILD_SALT; 41 BUILD_LTO_INFO; 49 BUILD_LTO_INFO; 42 << 43 /* << 44 * init_uts_ns and linux_banner contain the bu << 45 * which are really fixed at the very last ste << 46 * They are compiled with __weak first, and wi << 47 */ << 48 << 49 struct uts_namespace init_uts_ns __weak; << 50 const char linux_banner[] __weak; << 51 << 52 #include "version-timestamp.c" << 53 << 54 EXPORT_SYMBOL_GPL(init_uts_ns); << 55 50
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.