Skip to content

Commit

Permalink
[PATCH] Fix linux banner utsname information
Browse files Browse the repository at this point in the history
utsname information is shown in the linux banner, which also is used for
/proc/version (which can have different utsname values inside a uts
namespaces).  this patch makes the varying data arguments and changes the
string to a format string, using those arguments.

Signed-off-by: Herbert Poetzl <[email protected]>
Cc: "Eric W. Biederman" <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
herbertp authored and Linus Torvalds committed Dec 8, 2006
1 parent 6e2ac66 commit a2ee864
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 5 deletions.
4 changes: 2 additions & 2 deletions fs/proc/proc_misc.c
Original file line number Diff line number Diff line change
Expand Up @@ -252,8 +252,8 @@ static int version_read_proc(char *page, char **start, off_t off,
{
int len;

strcpy(page, linux_banner);
len = strlen(page);
len = sprintf(page, linux_banner,
utsname()->release, utsname()->version);
return proc_calc_metrics(page, start, off, count, eof, len);
}

Expand Down
1 change: 1 addition & 0 deletions init/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ clean-files := ../include/linux/compile.h

# dependencies on generated files need to be listed explicitly

$(obj)/main.o: include/linux/compile.h
$(obj)/version.o: include/linux/compile.h

# compile.h changes depending on hostname, generation number, etc,
Expand Down
4 changes: 3 additions & 1 deletion init/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,8 @@
#include <linux/buffer_head.h>
#include <linux/debug_locks.h>
#include <linux/lockdep.h>
#include <linux/utsrelease.h>
#include <linux/compile.h>

#include <asm/io.h>
#include <asm/bugs.h>
Expand Down Expand Up @@ -506,7 +508,7 @@ asmlinkage void __init start_kernel(void)
boot_cpu_init();
page_address_init();
printk(KERN_NOTICE);
printk(linux_banner);
printk(linux_banner, UTS_RELEASE, UTS_VERSION);
setup_arch(&command_line);
unwind_setup();
setup_per_cpu_areas();
Expand Down
5 changes: 3 additions & 2 deletions init/version.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,5 +35,6 @@ struct uts_namespace init_uts_ns = {
EXPORT_SYMBOL_GPL(init_uts_ns);

const char linux_banner[] =
"Linux version " UTS_RELEASE " (" LINUX_COMPILE_BY "@"
LINUX_COMPILE_HOST ") (" LINUX_COMPILER ") " UTS_VERSION "\n";
"Linux version %s (" LINUX_COMPILE_BY "@"
LINUX_COMPILE_HOST ") (" LINUX_COMPILER ") %s\n";

0 comments on commit a2ee864

Please sign in to comment.