diff mbox series

arm64: remove unneeded copy to init_utsname()->machine

Message ID 1505389204-17231-1-git-send-email-yamada.masahiro@socionext.com
State Accepted
Commit c2f0b54f10b12620c57f6e31233589b704a00ed5
Headers show
Series arm64: remove unneeded copy to init_utsname()->machine | expand

Commit Message

Masahiro Yamada Sept. 14, 2017, 11:40 a.m. UTC
As you see in init/version.c, init_uts_ns.name.machine is initially
set to UTS_MACHINE.  There is no point to copy the same string.

I dug the git history to figure out why this line is here.  My best
guess is like this:

 - This line has been around here since the initial support of arm64
   by commit 9703d9d7f77c ("arm64: Kernel booting and initialisation").
   If ARCH (=arm64) and UTS_MACHINE (=aarch64) do not match,
   arch/$(ARCH)/Makefile is supposed to override UTS_MACHINE, but the
   initial version of arch/arm64/Makefile missed to do that.  Instead,
   the boot code copied "aarch64" to init_utsname()->machine.

 - Commit 94ed1f2cb5d4 ("arm64: setup: report ELF_PLATFORM as the
   machine for utsname") replaced "aarch64" with ELF_PLATFORM to
   make "uname" to reflect the endianness.

 - ELF_PLATFORM does not help to provide the UTS machine name to rpm
   target, so commit cfa88c79462d ("arm64: Set UTS_MACHINE in the
   Makefile") fixed it.  The commit simply replaced ELF_PLATFORM with
   UTS_MACHINE, but missed the fact the string copy itself is no longer
   needed.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

---

 arch/arm64/kernel/Makefile | 2 --
 arch/arm64/kernel/setup.c  | 2 --
 2 files changed, 4 deletions(-)

-- 
2.7.4

Comments

Masahiro Yamada Oct. 11, 2017, 1:03 p.m. UTC | #1
Hi arm64 maintainers,

Could you check this please?


2017-09-14 20:40 GMT+09:00 Masahiro Yamada <yamada.masahiro@socionext.com>:
> As you see in init/version.c, init_uts_ns.name.machine is initially

> set to UTS_MACHINE.  There is no point to copy the same string.

>

> I dug the git history to figure out why this line is here.  My best

> guess is like this:

>

>  - This line has been around here since the initial support of arm64

>    by commit 9703d9d7f77c ("arm64: Kernel booting and initialisation").

>    If ARCH (=arm64) and UTS_MACHINE (=aarch64) do not match,

>    arch/$(ARCH)/Makefile is supposed to override UTS_MACHINE, but the

>    initial version of arch/arm64/Makefile missed to do that.  Instead,

>    the boot code copied "aarch64" to init_utsname()->machine.

>

>  - Commit 94ed1f2cb5d4 ("arm64: setup: report ELF_PLATFORM as the

>    machine for utsname") replaced "aarch64" with ELF_PLATFORM to

>    make "uname" to reflect the endianness.

>

>  - ELF_PLATFORM does not help to provide the UTS machine name to rpm

>    target, so commit cfa88c79462d ("arm64: Set UTS_MACHINE in the

>    Makefile") fixed it.  The commit simply replaced ELF_PLATFORM with

>    UTS_MACHINE, but missed the fact the string copy itself is no longer

>    needed.

>

> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

> ---

>

>  arch/arm64/kernel/Makefile | 2 --

>  arch/arm64/kernel/setup.c  | 2 --

>  2 files changed, 4 deletions(-)

>

> diff --git a/arch/arm64/kernel/Makefile b/arch/arm64/kernel/Makefile

> index f2b4e81..29764d7 100644

> --- a/arch/arm64/kernel/Makefile

> +++ b/arch/arm64/kernel/Makefile

> @@ -10,8 +10,6 @@ CFLAGS_REMOVE_ftrace.o = -pg

>  CFLAGS_REMOVE_insn.o = -pg

>  CFLAGS_REMOVE_return_address.o = -pg

>

> -CFLAGS_setup.o = -DUTS_MACHINE='"$(UTS_MACHINE)"'

> -

>  # Object file lists.

>  arm64-obj-y            := debug-monitors.o entry.o irq.o fpsimd.o              \

>                            entry-fpsimd.o process.o ptrace.o setup.o signal.o   \

> diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c

> index d4b7405..b2fdb59 100644

> --- a/arch/arm64/kernel/setup.c

> +++ b/arch/arm64/kernel/setup.c

> @@ -23,7 +23,6 @@

>  #include <linux/stddef.h>

>  #include <linux/ioport.h>

>  #include <linux/delay.h>

> -#include <linux/utsname.h>

>  #include <linux/initrd.h>

>  #include <linux/console.h>

>  #include <linux/cache.h>

> @@ -246,7 +245,6 @@ void __init setup_arch(char **cmdline_p)

>  {

>         pr_info("Boot CPU: AArch64 Processor [%08x]\n", read_cpuid_id());

>

> -       sprintf(init_utsname()->machine, UTS_MACHINE);

>         init_mm.start_code = (unsigned long) _text;

>         init_mm.end_code   = (unsigned long) _etext;

>         init_mm.end_data   = (unsigned long) _edata;

> --

> 2.7.4

>




-- 
Best Regards
Masahiro Yamada
Mark Rutland Oct. 11, 2017, 1:13 p.m. UTC | #2
Hi,

On Wed, Oct 11, 2017 at 10:03:28PM +0900, Masahiro Yamada wrote:
> Hi arm64 maintainers,

> 

> Could you check this please?


This patch has been queued [1] in arm64's for-next/core branch [2], and
should be in v4.15.

Thanks,
Mark.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git/commit/?h=for-next/core&id=c2f0b54f10b12620c57f6e31233589b704a00ed5
[2] https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git/log/?h=for-next/core

> 2017-09-14 20:40 GMT+09:00 Masahiro Yamada <yamada.masahiro@socionext.com>:

> > As you see in init/version.c, init_uts_ns.name.machine is initially

> > set to UTS_MACHINE.  There is no point to copy the same string.

> >

> > I dug the git history to figure out why this line is here.  My best

> > guess is like this:

> >

> >  - This line has been around here since the initial support of arm64

> >    by commit 9703d9d7f77c ("arm64: Kernel booting and initialisation").

> >    If ARCH (=arm64) and UTS_MACHINE (=aarch64) do not match,

> >    arch/$(ARCH)/Makefile is supposed to override UTS_MACHINE, but the

> >    initial version of arch/arm64/Makefile missed to do that.  Instead,

> >    the boot code copied "aarch64" to init_utsname()->machine.

> >

> >  - Commit 94ed1f2cb5d4 ("arm64: setup: report ELF_PLATFORM as the

> >    machine for utsname") replaced "aarch64" with ELF_PLATFORM to

> >    make "uname" to reflect the endianness.

> >

> >  - ELF_PLATFORM does not help to provide the UTS machine name to rpm

> >    target, so commit cfa88c79462d ("arm64: Set UTS_MACHINE in the

> >    Makefile") fixed it.  The commit simply replaced ELF_PLATFORM with

> >    UTS_MACHINE, but missed the fact the string copy itself is no longer

> >    needed.

> >

> > Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

> > ---

> >

> >  arch/arm64/kernel/Makefile | 2 --

> >  arch/arm64/kernel/setup.c  | 2 --

> >  2 files changed, 4 deletions(-)

> >

> > diff --git a/arch/arm64/kernel/Makefile b/arch/arm64/kernel/Makefile

> > index f2b4e81..29764d7 100644

> > --- a/arch/arm64/kernel/Makefile

> > +++ b/arch/arm64/kernel/Makefile

> > @@ -10,8 +10,6 @@ CFLAGS_REMOVE_ftrace.o = -pg

> >  CFLAGS_REMOVE_insn.o = -pg

> >  CFLAGS_REMOVE_return_address.o = -pg

> >

> > -CFLAGS_setup.o = -DUTS_MACHINE='"$(UTS_MACHINE)"'

> > -

> >  # Object file lists.

> >  arm64-obj-y            := debug-monitors.o entry.o irq.o fpsimd.o              \

> >                            entry-fpsimd.o process.o ptrace.o setup.o signal.o   \

> > diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c

> > index d4b7405..b2fdb59 100644

> > --- a/arch/arm64/kernel/setup.c

> > +++ b/arch/arm64/kernel/setup.c

> > @@ -23,7 +23,6 @@

> >  #include <linux/stddef.h>

> >  #include <linux/ioport.h>

> >  #include <linux/delay.h>

> > -#include <linux/utsname.h>

> >  #include <linux/initrd.h>

> >  #include <linux/console.h>

> >  #include <linux/cache.h>

> > @@ -246,7 +245,6 @@ void __init setup_arch(char **cmdline_p)

> >  {

> >         pr_info("Boot CPU: AArch64 Processor [%08x]\n", read_cpuid_id());

> >

> > -       sprintf(init_utsname()->machine, UTS_MACHINE);

> >         init_mm.start_code = (unsigned long) _text;

> >         init_mm.end_code   = (unsigned long) _etext;

> >         init_mm.end_data   = (unsigned long) _edata;

> > --

> > 2.7.4

> >

> 

> 

> 

> -- 

> Best Regards

> Masahiro Yamada
diff mbox series

Patch

diff --git a/arch/arm64/kernel/Makefile b/arch/arm64/kernel/Makefile
index f2b4e81..29764d7 100644
--- a/arch/arm64/kernel/Makefile
+++ b/arch/arm64/kernel/Makefile
@@ -10,8 +10,6 @@  CFLAGS_REMOVE_ftrace.o = -pg
 CFLAGS_REMOVE_insn.o = -pg
 CFLAGS_REMOVE_return_address.o = -pg
 
-CFLAGS_setup.o = -DUTS_MACHINE='"$(UTS_MACHINE)"'
-
 # Object file lists.
 arm64-obj-y		:= debug-monitors.o entry.o irq.o fpsimd.o		\
 			   entry-fpsimd.o process.o ptrace.o setup.o signal.o	\
diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c
index d4b7405..b2fdb59 100644
--- a/arch/arm64/kernel/setup.c
+++ b/arch/arm64/kernel/setup.c
@@ -23,7 +23,6 @@ 
 #include <linux/stddef.h>
 #include <linux/ioport.h>
 #include <linux/delay.h>
-#include <linux/utsname.h>
 #include <linux/initrd.h>
 #include <linux/console.h>
 #include <linux/cache.h>
@@ -246,7 +245,6 @@  void __init setup_arch(char **cmdline_p)
 {
 	pr_info("Boot CPU: AArch64 Processor [%08x]\n", read_cpuid_id());
 
-	sprintf(init_utsname()->machine, UTS_MACHINE);
 	init_mm.start_code = (unsigned long) _text;
 	init_mm.end_code   = (unsigned long) _etext;
 	init_mm.end_data   = (unsigned long) _edata;