答复: [PATCH] symbol : Make the size of the compile-related array fixed
From: 韩大鹏(Han Dapeng)
Date: Fri Apr 16 2021 - 02:25:54 EST
The raw text is shown below:
====================================================================
From 540e6a6c36e6372d4f99eeb4a50c8eaa6d7989b3 Mon Sep 17 00:00:00 2001
From: Han Dapeng <handapeng@xxxxxxxx>
Date: Fri, 16 Apr 2021 10:36:38 +0800
Subject: [PATCH] symbol : Make the size of the compile-related array fixed
For the same code, the machine's user name, hostname, or compilation time
may cause the kernel symbol address to be inconsistent, which is not
friendly to some symbol-dependent software, such as Crash.
Signed-off-by: Han Dapeng <handapeng@xxxxxxxx>
---
arch/powerpc/mm/nohash/kaslr_booke.c | 2 +-
arch/s390/boot/version.c | 2 +-
arch/x86/boot/compressed/kaslr.c | 2 +-
arch/x86/boot/version.c | 2 +-
init/version.c | 4 ++--
scripts/mkcompile_h | 2 ++
6 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/arch/powerpc/mm/nohash/kaslr_booke.c b/arch/powerpc/mm/nohash/kaslr_booke.c
index 4c74e8a5482b..494ef408e60c 100644
--- a/arch/powerpc/mm/nohash/kaslr_booke.c
+++ b/arch/powerpc/mm/nohash/kaslr_booke.c
@@ -37,7 +37,7 @@ struct regions {
};
/* Simplified build-specific string for starting entropy. */
-static const char build_str[] = UTS_RELEASE " (" LINUX_COMPILE_BY "@"
+static const char build_str[COMPILE_STR_MAX] = UTS_RELEASE " (" LINUX_COMPILE_BY "@"
LINUX_COMPILE_HOST ") (" LINUX_COMPILER ") " UTS_VERSION;
struct regions __initdata regions;
diff --git a/arch/s390/boot/version.c b/arch/s390/boot/version.c
index d32e58bdda6a..627416a27d74 100644
--- a/arch/s390/boot/version.c
+++ b/arch/s390/boot/version.c
@@ -3,5 +3,5 @@
#include <generated/compile.h>
#include "boot.h"
-const char kernel_version[] = UTS_RELEASE
+const char kernel_version[COMPILE_STR_MAX] = UTS_RELEASE
" (" LINUX_COMPILE_BY "@" LINUX_COMPILE_HOST ") " UTS_VERSION;
diff --git a/arch/x86/boot/compressed/kaslr.c b/arch/x86/boot/compressed/kaslr.c
index b92fffbe761f..7b72b518a4c8 100644
--- a/arch/x86/boot/compressed/kaslr.c
+++ b/arch/x86/boot/compressed/kaslr.c
@@ -43,7 +43,7 @@
extern unsigned long get_cmd_line_ptr(void);
/* Simplified build-specific string for starting entropy. */
-static const char build_str[] = UTS_RELEASE " (" LINUX_COMPILE_BY "@"
+static const char build_str[COMPILE_STR_MAX] = UTS_RELEASE " (" LINUX_COMPILE_BY "@"
LINUX_COMPILE_HOST ") (" LINUX_COMPILER ") " UTS_VERSION;
static unsigned long rotate_xor(unsigned long hash, const void *area,
diff --git a/arch/x86/boot/version.c b/arch/x86/boot/version.c
index a1aaaf6c06a6..08feaa2d7a10 100644
--- a/arch/x86/boot/version.c
+++ b/arch/x86/boot/version.c
@@ -14,6 +14,6 @@
#include <generated/utsrelease.h>
#include <generated/compile.h>
-const char kernel_version[] =
+const char kernel_version[COMPILE_STR_MAX] =
UTS_RELEASE " (" LINUX_COMPILE_BY "@" LINUX_COMPILE_HOST ") "
UTS_VERSION;
diff --git a/init/version.c b/init/version.c
index 92afc782b043..adfc9e91b56b 100644
--- a/init/version.c
+++ b/init/version.c
@@ -35,11 +35,11 @@ struct uts_namespace init_uts_ns = {
EXPORT_SYMBOL_GPL(init_uts_ns);
/* FIXED STRINGS! Don't touch! */
-const char linux_banner[] =
+const char linux_banner[COMPILE_STR_MAX] =
"Linux version " UTS_RELEASE " (" LINUX_COMPILE_BY "@"
LINUX_COMPILE_HOST ") (" LINUX_COMPILER ") " UTS_VERSION "\n";
-const char linux_proc_banner[] =
+const char linux_proc_banner[COMPILE_STR_MAX] =
"%s version %s"
" (" LINUX_COMPILE_BY "@" LINUX_COMPILE_HOST ")"
" (" LINUX_COMPILER ") %s\n";
diff --git a/scripts/mkcompile_h b/scripts/mkcompile_h
index 4ae735039daf..02b9d9d54da9 100755
--- a/scripts/mkcompile_h
+++ b/scripts/mkcompile_h
@@ -65,6 +65,8 @@ UTS_VERSION="$(echo $UTS_VERSION $CONFIG_FLAGS $TIMESTAMP | cut -b -$UTS_LEN)"
LD_VERSION=$($LD -v | head -n1 | sed 's/(compatible with [^)]*)//' \
| sed 's/[[:space:]]*$//')
printf '#define LINUX_COMPILER "%s"\n' "$CC_VERSION, $LD_VERSION"
+
+ echo \#define COMPILE_STR_MAX 512
} > .tmpcompile
# Only replace the real compile.h if the new one is different,
--
2.27.0
=====================================================================================
This statement is automatically attached to our company's mail client.
Our company encourages giving code back to the community, no problem, I will take responsibility for this.
Thank you!
-----邮件原件-----
发件人: Christophe Leroy <christophe.leroy@xxxxxxxxxx>
发送时间: 2021年4月16日 14:13
收件人: 韩大鹏(Han Dapeng) <handapeng@xxxxxxxx>; Michael Ellerman <mpe@xxxxxxxxxxxxxx>; Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>; Paul Mackerras <paulus@xxxxxxxxx>; Heiko Carstens <hca@xxxxxxxxxxxxx>; Vasily Gorbik <gor@xxxxxxxxxxxxx>; Christian Borntraeger <borntraeger@xxxxxxxxxx>; Thomas Gleixner <tglx@xxxxxxxxxxxxx>; Ingo Molnar <mingo@xxxxxxxxxx>; Borislav Petkov <bp@xxxxxxxxx>; x86@xxxxxxxxxx; H. Peter Anvin <hpa@xxxxxxxxx>; Masahiro Yamada <masahiroy@xxxxxxxxxx>; Michal Marek <michal.lkml@xxxxxxxxxxx>; Mike Rapoport <rppt@xxxxxxxxxx>; Pekka Enberg <penberg@xxxxxxxxxx>; Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>; Arseny Solokha <asolokha@xxxxxxxxxx>; Arvind Sankar <nivedita@xxxxxxxxxxxx>; Kees Cook <keescook@xxxxxxxxxxxx>; Joerg Roedel <jroedel@xxxxxxx>; Christian Brauner <christian.brauner@xxxxxxxxxx>; Kirill Tkhai <ktkhai@xxxxxxxxxxxxx>; linuxppc-dev@xxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; linux-s390@xxxxxxxxxxxxxxx; linux-kbuild@xxxxxxxxxxxxxxx
抄送: 陈安庆(Anqing) <chenanqing@xxxxxxxx>
主题: Re: [PATCH] symbol : Make the size of the compile-related array fixed
Also, the following statement which appears at the end of your mail is puzzling. What can we do with your patch if there are such limitations ?
This e-mail and its attachments contain confidential information from OPPO, which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction, or
dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this e-mail in error, please notify the sender by phone or email immediately and delete it!
Le 16/04/2021 à 08:08, Christophe Leroy a écrit :
> Hi,
>
> This mail is unreadable.
>
> Please send your patch as raw text mail, not as attached file.
>
> Thanks
> Christophe
>
> Le 16/04/2021 à 05:12, 韩大鹏(Han Dapeng) a écrit :
>> ---------------------------------------------------------------------
>> -------------------------------
>> *OPPO*
>> *
>> *
>> 本电子邮件及其附件含有OPPO公司的保密信息,仅限于邮件指明的收件人使用(包含个人及群组)。禁止任何人
>> 在 未经授权的情况下以任何形式使用。如果您错收了本邮件,请立即以电子邮件通知发件人并删除本邮件及其
>> 附件。
>>
>> This e-mail and its attachments contain confidential information from
>> OPPO, which is intended only for the person or entity whose address
>> is listed above. Any use of the information contained herein in any
>> way (including, but not limited to, total or partial disclosure,
>> reproduction, or
>> dissemination) by persons other than the intended recipient(s) is
>> prohibited. If you receive this e-mail in error, please notify the sender by phone or email immediately and delete it!
>>