From patchwork Tue Jan 7 12:45:52 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Akihiko Odaki X-Patchwork-Id: 104229 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 506F03858282 for ; Tue, 7 Jan 2025 12:50:48 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 506F03858282 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=daynix-com.20230601.gappssmtp.com header.i=@daynix-com.20230601.gappssmtp.com header.a=rsa-sha256 header.s=20230601 header.b=HpoGcuN0 X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com [IPv6:2607:f8b0:4864:20::62d]) by sourceware.org (Postfix) with ESMTPS id AD0BC3858D26 for ; Tue, 7 Jan 2025 12:47:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org AD0BC3858D26 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=daynix.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=daynix.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org AD0BC3858D26 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::62d ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736254080; cv=none; b=QL4FNtLMv8YO03g0ukTSaSCDAOlfX8bHZ7EeBnW757gVZz/9RKp0Q/V63IrlIuqycffE+QWE/ZqtftT2vK/n4CMc1rzBmSulXJ7AatUuSAkcjMMO3Bddm9uJ+QP4Ki+pOnQ9tyT7DI/kLKAmvO+HyHMJJjfqqFkDTCFimrT7s/k= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736254080; c=relaxed/simple; bh=fAhUoOeYK9fr2EpiTrdYpYKT9gvRJnt1fjb0VAfqM9o=; h=DKIM-Signature:From:Date:Subject:MIME-Version:Message-Id:To; b=Twlrr/PfwrlG6RMQUwsqgNp0wwVOac4Bwyr9gxST+6vX3e/tEu+EzNrrVlNIReWNXqI+LzH2zJgbnyiRW2ILR+afZ2stsj03NQSN0g/uSQIy4hZxduKBVacbDiK8bRFc1ihR/FwLpXYtijl9NtRThd11KHad5suNlBxWEQ3U8gk= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org AD0BC3858D26 Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-21649a7bcdcso218634795ad.1 for ; Tue, 07 Jan 2025 04:47:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1736254079; x=1736858879; darn=sourceware.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=He/FF4mW6z63rm6Ez1fm+hLtPmYbF/A35f1xOajKz/c=; b=HpoGcuN07eK6NsO/GqLwNhXjZNl75F/x+OjoE24zYqxCw8ZxteBW44DDkP1G/L+fL7 OIBDvnFSnNPj0cKPZ9dUZxy6y5PRw5/zegc75kZ3T7WBb748nafcOJg9fG0bar3iM2Fl +kLepRNrL4oEETvcYR5RViEDlaKWDOLbJfR+URWjrYjMIAQ5ftVbCShZ8XyyWHLGWr3C loFfrO1UTTtcxfpCfbVtnDnJUkZkXYvROU9FekXqJO1jvBTOKqo41jxQAg8gN0IOiy+n 2G2jmzMaV4HF7TVrz+dh7RG8yX8GFk6gC+GKcwY8C6CG7raTWj2YghefLC2eY8lS317v wipQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736254079; x=1736858879; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=He/FF4mW6z63rm6Ez1fm+hLtPmYbF/A35f1xOajKz/c=; b=uzb8lIek9hj1+msXBVGYz69XslcP4dh8/bgmCm6DG+vqWyycAyOJUhUb71vLNn4ha6 GSGUKxsgMoco2jyod98i06UWJW26pdqs1ZBy5Xg82YB22RuXrixMywEN4BJ83hsXKwbX RMutGV0UtXm4vPX2aMqtsFIzGrtARM80LbXhbWX2fzKfc2e5XNbDNwz8QtiHJ2+hLsxT xQqwFFszlFwNtiQVOmX1nh6oKgG6Ju7BHtVI8zYKPbmARX8pqom21YPwYkNKeSRJu5uX DE4hdsbGp2yha8fRcyJVZS9IbsF+bHoHAxkw0TU57+T4qi6ErAdk9uKaqw7wmVvxFZQn gHew== X-Forwarded-Encrypted: i=1; AJvYcCXdVMGwNJT3OkRwqU/odkGKXBGi6MAtlTVIOaRr2AVW9heV2svh9zjvyJzvwUbGCN4fShxaGYcUwQ==@sourceware.org X-Gm-Message-State: AOJu0YxrDdxk6gltdC+9hpQw/3Q+ENFG9KoIxmu0LZhFc6oXRINXneRU LuvUCgNPPc37R6quHxNVLBWl6kR6W2dNJMin9EAJYV49tPiYLcAAxyn+x1k2XcI= X-Gm-Gg: ASbGncva8HpIZhSP0c1h3L0FhP+k3JHUFnI4Wjbb3N4vZwY6qx7mP7/VsnNZIHCxDW/ uqsGoQ/CMXvm6MJI/iqt8yUJFl/p+FoddoQJapSnZ4/gPnICu3B8A0DHO/toaelXYwFVojxai0h dy9BfevZtLy7TbhGfkTh+2ygvcXJQqvq97GQMwSftP8qJddkqbS+tkyE+7I+NzqA5eYpG05SOtk WNjUq98KltUfne+DpU3uVYzuYKkan7QuK6F8OQbaxUpc9Rnkwj6UGDvY7A= X-Google-Smtp-Source: AGHT+IGj6u8NRmS4TeZ/1IMiWstql9gdjkk0bdLulE0ZZ9e8x4y5HEHvh/9HOrX1KoNRUGfFwcEprw== X-Received: by 2002:a17:902:f646:b0:216:501e:e314 with SMTP id d9443c01a7336-219e6e9fdb4mr938029515ad.20.1736254078701; Tue, 07 Jan 2025 04:47:58 -0800 (PST) Received: from localhost ([157.82.203.37]) by smtp.gmail.com with UTF8SMTPSA id d9443c01a7336-219dc962c05sm308643635ad.43.2025.01.07.04.47.54 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 07 Jan 2025 04:47:58 -0800 (PST) From: Akihiko Odaki Date: Tue, 07 Jan 2025 21:45:52 +0900 Subject: [PATCH v3 1/6] elf: Define note name macros MIME-Version: 1.0 Message-Id: <20250107-elf-v3-1-99cb505b1ab2@daynix.com> References: <20250107-elf-v3-0-99cb505b1ab2@daynix.com> In-Reply-To: <20250107-elf-v3-0-99cb505b1ab2@daynix.com> To: Eric Biederman , Kees Cook , Catalin Marinas , Mark Brown , Dave Martin , Baoquan He , Vivek Goyal , Dave Young Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org, kexec@lists.infradead.org, binutils@sourceware.org, devel@daynix.com, Akihiko Odaki X-Mailer: b4 0.14-dev-fd6e3 X-Spam-Status: No, score=-12.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, KAM_MANYTO, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces~patchwork=sourceware.org@sourceware.org elf.h had a comment saying: > Notes used in ET_CORE. Architectures export some of the arch register > sets using the corresponding note types via the PTRACE_GETREGSET and > PTRACE_SETREGSET requests. > The note name for these types is "LINUX", except NT_PRFPREG that is > named "CORE". However, NT_PRSTATUS is also named "CORE". It is also unclear what "these types" refers to. To fix these problems, define a name for each note type. The added definitions are macros so the kernel and userspace can directly refer to them. Signed-off-by: Akihiko Odaki Acked-by: Baoquan He --- include/uapi/linux/elf.h | 86 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 83 insertions(+), 3 deletions(-) diff --git a/include/uapi/linux/elf.h b/include/uapi/linux/elf.h index b44069d29cec..343f5c40d03a 100644 --- a/include/uapi/linux/elf.h +++ b/include/uapi/linux/elf.h @@ -368,99 +368,179 @@ typedef struct elf64_shdr { #define ELF_OSABI ELFOSABI_NONE #endif +/* Note definitions: NN_ defines names. NT_ defines types. */ + /* * Notes used in ET_CORE. Architectures export some of the arch register sets * using the corresponding note types via the PTRACE_GETREGSET and * PTRACE_SETREGSET requests. - * The note name for these types is "LINUX", except NT_PRFPREG that is named - * "CORE". */ +#define NN_PRSTATUS "CORE" #define NT_PRSTATUS 1 +#define NN_PRFPREG "CORE" #define NT_PRFPREG 2 +#define NN_PRPSINFO "CORE" #define NT_PRPSINFO 3 +#define NN_TASKSTRUCT "CORE" #define NT_TASKSTRUCT 4 +#define NN_AUXV "CORE" #define NT_AUXV 6 /* * Note to userspace developers: size of NT_SIGINFO note may increase * in the future to accomodate more fields, don't assume it is fixed! */ +#define NN_SIGINFO "CORE" #define NT_SIGINFO 0x53494749 +#define NN_FILE "CORE" #define NT_FILE 0x46494c45 +#define NN_PRXFPREG "LINUX" #define NT_PRXFPREG 0x46e62b7f /* copied from gdb5.1/include/elf/common.h */ +#define NN_PPC_VMX "LINUX" #define NT_PPC_VMX 0x100 /* PowerPC Altivec/VMX registers */ +#define NN_PPC_SPE "LINUX" #define NT_PPC_SPE 0x101 /* PowerPC SPE/EVR registers */ +#define NN_PPC_VSX "LINUX" #define NT_PPC_VSX 0x102 /* PowerPC VSX registers */ +#define NN_PPC_TAR "LINUX" #define NT_PPC_TAR 0x103 /* Target Address Register */ +#define NN_PPC_PPR "LINUX" #define NT_PPC_PPR 0x104 /* Program Priority Register */ +#define NN_PPC_DSCR "LINUX" #define NT_PPC_DSCR 0x105 /* Data Stream Control Register */ +#define NN_PPC_EBB "LINUX" #define NT_PPC_EBB 0x106 /* Event Based Branch Registers */ +#define NN_PPC_PMU "LINUX" #define NT_PPC_PMU 0x107 /* Performance Monitor Registers */ +#define NN_PPC_TM_CGPR "LINUX" #define NT_PPC_TM_CGPR 0x108 /* TM checkpointed GPR Registers */ +#define NN_PPC_TM_CFPR "LINUX" #define NT_PPC_TM_CFPR 0x109 /* TM checkpointed FPR Registers */ +#define NN_PPC_TM_CVMX "LINUX" #define NT_PPC_TM_CVMX 0x10a /* TM checkpointed VMX Registers */ +#define NN_PPC_TM_CVSX "LINUX" #define NT_PPC_TM_CVSX 0x10b /* TM checkpointed VSX Registers */ +#define NN_PPC_TM_SPR "LINUX" #define NT_PPC_TM_SPR 0x10c /* TM Special Purpose Registers */ +#define NN_PPC_TM_CTAR "LINUX" #define NT_PPC_TM_CTAR 0x10d /* TM checkpointed Target Address Register */ +#define NN_PPC_TM_CPPR "LINUX" #define NT_PPC_TM_CPPR 0x10e /* TM checkpointed Program Priority Register */ +#define NN_PPC_TM_CDSCR "LINUX" #define NT_PPC_TM_CDSCR 0x10f /* TM checkpointed Data Stream Control Register */ +#define NN_PPC_PKEY "LINUX" #define NT_PPC_PKEY 0x110 /* Memory Protection Keys registers */ +#define NN_PPC_DEXCR "LINUX" #define NT_PPC_DEXCR 0x111 /* PowerPC DEXCR registers */ +#define NN_PPC_HASHKEYR "LINUX" #define NT_PPC_HASHKEYR 0x112 /* PowerPC HASHKEYR register */ +#define NN_386_TLS "LINUX" #define NT_386_TLS 0x200 /* i386 TLS slots (struct user_desc) */ +#define NN_386_IOPERM "LINUX" #define NT_386_IOPERM 0x201 /* x86 io permission bitmap (1=deny) */ +#define NN_X86_XSTATE "LINUX" #define NT_X86_XSTATE 0x202 /* x86 extended state using xsave */ /* Old binutils treats 0x203 as a CET state */ +#define NN_X86_SHSTK "LINUX" #define NT_X86_SHSTK 0x204 /* x86 SHSTK state */ +#define NN_X86_XSAVE_LAYOUT "LINUX" #define NT_X86_XSAVE_LAYOUT 0x205 /* XSAVE layout description */ +#define NN_S390_HIGH_GPRS "LINUX" #define NT_S390_HIGH_GPRS 0x300 /* s390 upper register halves */ +#define NN_S390_TIMER "LINUX" #define NT_S390_TIMER 0x301 /* s390 timer register */ +#define NN_S390_TODCMP "LINUX" #define NT_S390_TODCMP 0x302 /* s390 TOD clock comparator register */ +#define NN_S390_TODPREG "LINUX" #define NT_S390_TODPREG 0x303 /* s390 TOD programmable register */ +#define NN_S390_CTRS "LINUX" #define NT_S390_CTRS 0x304 /* s390 control registers */ +#define NN_S390_PREFIX "LINUX" #define NT_S390_PREFIX 0x305 /* s390 prefix register */ +#define NN_S390_LAST_BREAK "LINUX" #define NT_S390_LAST_BREAK 0x306 /* s390 breaking event address */ +#define NN_S390_SYSTEM_CALL "LINUX" #define NT_S390_SYSTEM_CALL 0x307 /* s390 system call restart data */ +#define NN_S390_TDB "LINUX" #define NT_S390_TDB 0x308 /* s390 transaction diagnostic block */ +#define NN_S390_VXRS_LOW "LINUX" #define NT_S390_VXRS_LOW 0x309 /* s390 vector registers 0-15 upper half */ +#define NN_S390_VXRS_HIGH "LINUX" #define NT_S390_VXRS_HIGH 0x30a /* s390 vector registers 16-31 */ +#define NN_S390_GS_CB "LINUX" #define NT_S390_GS_CB 0x30b /* s390 guarded storage registers */ +#define NN_S390_GS_BC "LINUX" #define NT_S390_GS_BC 0x30c /* s390 guarded storage broadcast control block */ +#define NN_S390_RI_CB "LINUX" #define NT_S390_RI_CB 0x30d /* s390 runtime instrumentation */ +#define NN_S390_PV_CPU_DATA "LINUX" #define NT_S390_PV_CPU_DATA 0x30e /* s390 protvirt cpu dump data */ +#define NN_ARM_VFP "LINUX" #define NT_ARM_VFP 0x400 /* ARM VFP/NEON registers */ +#define NN_ARM_TLS "LINUX" #define NT_ARM_TLS 0x401 /* ARM TLS register */ +#define NN_ARM_HW_BREAK "LINUX" #define NT_ARM_HW_BREAK 0x402 /* ARM hardware breakpoint registers */ +#define NN_ARM_HW_WATCH "LINUX" #define NT_ARM_HW_WATCH 0x403 /* ARM hardware watchpoint registers */ +#define NN_ARM_SYSTEM_CALL "LINUX" #define NT_ARM_SYSTEM_CALL 0x404 /* ARM system call number */ +#define NN_ARM_SVE "LINUX" #define NT_ARM_SVE 0x405 /* ARM Scalable Vector Extension registers */ +#define NN_ARM_PAC_MASK "LINUX" #define NT_ARM_PAC_MASK 0x406 /* ARM pointer authentication code masks */ +#define NN_ARM_PACA_KEYS "LINUX" #define NT_ARM_PACA_KEYS 0x407 /* ARM pointer authentication address keys */ +#define NN_ARM_PACG_KEYS "LINUX" #define NT_ARM_PACG_KEYS 0x408 /* ARM pointer authentication generic key */ +#define NN_ARM_TAGGED_ADDR_CTRL "LINUX" #define NT_ARM_TAGGED_ADDR_CTRL 0x409 /* arm64 tagged address control (prctl()) */ +#define NN_ARM_PAC_ENABLED_KEYS "LINUX" #define NT_ARM_PAC_ENABLED_KEYS 0x40a /* arm64 ptr auth enabled keys (prctl()) */ +#define NN_ARM_SSVE "LINUX" #define NT_ARM_SSVE 0x40b /* ARM Streaming SVE registers */ +#define NN_ARM_ZA "LINUX" #define NT_ARM_ZA 0x40c /* ARM SME ZA registers */ +#define NN_ARM_ZT "LINUX" #define NT_ARM_ZT 0x40d /* ARM SME ZT registers */ +#define NN_ARM_FPMR "LINUX" #define NT_ARM_FPMR 0x40e /* ARM floating point mode register */ +#define NN_ARM_POE "LINUX" #define NT_ARM_POE 0x40f /* ARM POE registers */ +#define NN_ARM_GCS "LINUX" #define NT_ARM_GCS 0x410 /* ARM GCS state */ +#define NN_ARC_V2 "LINUX" #define NT_ARC_V2 0x600 /* ARCv2 accumulator/extra registers */ +#define NN_VMCOREDD "LINUX" #define NT_VMCOREDD 0x700 /* Vmcore Device Dump Note */ +#define NN_MIPS_DSP "LINUX" #define NT_MIPS_DSP 0x800 /* MIPS DSP ASE registers */ +#define NN_MIPS_FP_MODE "LINUX" #define NT_MIPS_FP_MODE 0x801 /* MIPS floating-point mode */ +#define NN_MIPS_MSA "LINUX" #define NT_MIPS_MSA 0x802 /* MIPS SIMD registers */ +#define NN_RISCV_CSR "LINUX" #define NT_RISCV_CSR 0x900 /* RISC-V Control and Status Registers */ +#define NN_RISCV_VECTOR "LINUX" #define NT_RISCV_VECTOR 0x901 /* RISC-V vector registers */ +#define NN_RISCV_TAGGED_ADDR_CTRL "LINUX" #define NT_RISCV_TAGGED_ADDR_CTRL 0x902 /* RISC-V tagged address control (prctl()) */ +#define NN_LOONGARCH_CPUCFG "LINUX" #define NT_LOONGARCH_CPUCFG 0xa00 /* LoongArch CPU config registers */ +#define NN_LOONGARCH_CSR "LINUX" #define NT_LOONGARCH_CSR 0xa01 /* LoongArch control and status registers */ +#define NN_LOONGARCH_LSX "LINUX" #define NT_LOONGARCH_LSX 0xa02 /* LoongArch Loongson SIMD Extension registers */ +#define NN_LOONGARCH_LASX "LINUX" #define NT_LOONGARCH_LASX 0xa03 /* LoongArch Loongson Advanced SIMD Extension registers */ +#define NN_LOONGARCH_LBT "LINUX" #define NT_LOONGARCH_LBT 0xa04 /* LoongArch Loongson Binary Translation registers */ +#define NN_LOONGARCH_HW_BREAK "LINUX" #define NT_LOONGARCH_HW_BREAK 0xa05 /* LoongArch hardware breakpoint registers */ +#define NN_LOONGARCH_HW_WATCH "LINUX" #define NT_LOONGARCH_HW_WATCH 0xa06 /* LoongArch hardware watchpoint registers */ -/* Note types with note name "GNU" */ +/* Note used in other file types. */ +#define NN_GNU_PROPERTY_TYPE_0 "GNU" #define NT_GNU_PROPERTY_TYPE_0 5 /* Note header in a PT_NOTE section */ From patchwork Tue Jan 7 12:45:53 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Akihiko Odaki X-Patchwork-Id: 104232 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 59BA33854834 for ; Tue, 7 Jan 2025 12:57:55 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 59BA33854834 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=daynix-com.20230601.gappssmtp.com header.i=@daynix-com.20230601.gappssmtp.com header.a=rsa-sha256 header.s=20230601 header.b=I0Ch4OE6 X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-pj1-x1034.google.com (mail-pj1-x1034.google.com [IPv6:2607:f8b0:4864:20::1034]) by sourceware.org (Postfix) with ESMTPS id AF7B1385840F for ; Tue, 7 Jan 2025 12:48:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org AF7B1385840F Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=daynix.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=daynix.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org AF7B1385840F Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::1034 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736254086; cv=none; b=c4Dc5EI1sqcmdCDh19Q0NaCLYq/YYymQMd9PvWi8z8Z8g2zftK+ISnRmMHmTitydAcGqm6+8vdEDLUVVm0Mb3amOrSDpMLdg6SW6nVUNXFIIXeNqMQ1X7uoO27hpm6vGfneuve95nH1LD5HK3+KGXXhqp8drOM6E1EksHH1B8mQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736254086; c=relaxed/simple; bh=nHxDNiGj0kP+OrAR/r8E7Aht5XhcJNfHXGmXX9sgsJw=; h=DKIM-Signature:From:Date:Subject:MIME-Version:Message-Id:To; b=FD5NOIjK41SWW+TO6LS515zmn8c4jHOdVDP7KSiaENcH6SDuJSet9CHowFK6lrqyvR0DhNVs+9oHW4v/cLzeF2ML/Yo9E0wIIx2dfV3z+r73eg74Z89FzTa5gDHAR1h68khIxItwnjVpjHyyUv56bpERkRrYSimlxgSf2RwUQcA= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org AF7B1385840F Received: by mail-pj1-x1034.google.com with SMTP id 98e67ed59e1d1-2ee397a82f6so22991206a91.2 for ; Tue, 07 Jan 2025 04:48:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1736254086; x=1736858886; darn=sourceware.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=To6WceQOVEAdrv9VIwdrgLUfIkfIZojfYpt2+tcFAZE=; b=I0Ch4OE6Kv80j+U/8QfUvotLHct0lzc7UaI91s47hKMOAvWpJZbQtQMkXjdglgRWLt XEuVk+TpZxjU4vS/ctoVmsBvJYPkqNbKcTxoVMW/qZk3oEvhrOR+LgCP/3Eu1QwbU9q1 HgbAvRpJ2pUxLVJd/jGj8crpeu1dx66iKmdI1jNXWIZk+22zkXoIk4gEBtVsTS1X/dNf 3rdxllJHjaJGaQUFJcNPDuEU9DnDxcSuSVBgOsjhcFpTkhFjOHP3lb+OdMgZLJFOHZ3d mxxvvQL3KS3QxcrnsMBoBAx8yCXNL/Q9h5plf/9cv98nSGgk6RupvJzNtUBaDBCCqxRk 1tsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736254086; x=1736858886; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=To6WceQOVEAdrv9VIwdrgLUfIkfIZojfYpt2+tcFAZE=; b=qmhygP+pEZQ4tTD1YGwOuI3bDvGUAJJ/sFrFvogrxwPk5Sl7R9i3N9Wo/tFSa4yP77 21WJ2MmMhV35+fTXwSzHS+xodyV5cpk+zQjQR/9hd5HCQlpcbGdxuSteUrqzlbN1HCIv o9iZgFzqoNY3v+PIjOm0hDZjIKHl2k/3n+1AfZOE1VxIk3U72ONjCMe7aPl6Xk8RvnOF /l5Ua/FRkzKoFAQbbJX6xnIKMfNRXKZPsB4dV4sTapRMS1a5Br0DoPsxVOjnJL5iAEQW gKJWvlziEBEwfdCCPMMLKysYkWsZIiokGhYwtccn/nkcpUxzEyJTxGDSiqun8oeaxT+H 72uw== X-Forwarded-Encrypted: i=1; AJvYcCV58TPjC7RbpQZvttDGzJavNXxgS8xsk1lFuqD1WfNJ7gJBldT191WJrpHQKzxVLhwXh2jtdTAltQ==@sourceware.org X-Gm-Message-State: AOJu0YxmDm7XIlPGvXQJnncTy0nBX64ffczaqAXmElLUn5IFtLZlkcRF yY7WOkapNmkO0AzRxt3yYBJiNH0FJXPtsGBKue+ldx0SwR4/YFoUHjxlm6zh0jM= X-Gm-Gg: ASbGnctlES4qaoBnhKw9cx3obNIKCT63SAGiPV/eUMbxIRAplg/O/FaEZfsxEbI0PU5 1OeoRqMfGuA9c22gmuZeaZFV+zIOAgkwKnNFO+5Av+m4RIhklDryoBjhiaY+QY8tKcPjxevtgMg FpsFH4nSo4+LdfNrLDHeTpu+wcPBf1iSx0ZCFxko2BDvvqG7+vJHztr3y+VJ9JfdZFh1CHN/9Qn uZtH1X2d/EOq4oB+Sqk9kAB54yumSK7cysVX3l7m9HzHrgQwkIxBDTt31s= X-Google-Smtp-Source: AGHT+IHmQrtd6DArE28HS9MI+ljcSHS0URGz6WZZfYPdopYVfnKvqXeHpkFOcVWEZed1yb1h138/0Q== X-Received: by 2002:a05:6a00:22c2:b0:725:ef4b:de33 with SMTP id d2e1a72fcca58-72abdbe4de8mr79321688b3a.0.1736254085564; Tue, 07 Jan 2025 04:48:05 -0800 (PST) Received: from localhost ([157.82.203.37]) by smtp.gmail.com with UTF8SMTPSA id d2e1a72fcca58-72aad90b338sm33355957b3a.174.2025.01.07.04.48.01 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 07 Jan 2025 04:48:05 -0800 (PST) From: Akihiko Odaki Date: Tue, 07 Jan 2025 21:45:53 +0900 Subject: [PATCH v3 2/6] binfmt_elf: Use note name macros MIME-Version: 1.0 Message-Id: <20250107-elf-v3-2-99cb505b1ab2@daynix.com> References: <20250107-elf-v3-0-99cb505b1ab2@daynix.com> In-Reply-To: <20250107-elf-v3-0-99cb505b1ab2@daynix.com> To: Eric Biederman , Kees Cook , Catalin Marinas , Mark Brown , Dave Martin , Baoquan He , Vivek Goyal , Dave Young Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org, kexec@lists.infradead.org, binutils@sourceware.org, devel@daynix.com, Akihiko Odaki X-Mailer: b4 0.14-dev-fd6e3 X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, KAM_MANYTO, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces~patchwork=sourceware.org@sourceware.org Use note name macros to match with the userspace's expectation. Signed-off-by: Akihiko Odaki Acked-by: Baoquan He --- fs/binfmt_elf.c | 21 ++++++++++----------- fs/binfmt_elf_fdpic.c | 8 ++++---- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c index 106f0e8af177..5b4a92e5e508 100644 --- a/fs/binfmt_elf.c +++ b/fs/binfmt_elf.c @@ -762,8 +762,7 @@ static int parse_elf_property(const char *data, size_t *off, size_t datasz, } #define NOTE_DATA_SZ SZ_1K -#define GNU_PROPERTY_TYPE_0_NAME "GNU" -#define NOTE_NAME_SZ (sizeof(GNU_PROPERTY_TYPE_0_NAME)) +#define NOTE_NAME_SZ (sizeof(NN_GNU_PROPERTY_TYPE_0)) static int parse_elf_properties(struct file *f, const struct elf_phdr *phdr, struct arch_elf_state *arch) @@ -800,7 +799,7 @@ static int parse_elf_properties(struct file *f, const struct elf_phdr *phdr, if (note.nhdr.n_type != NT_GNU_PROPERTY_TYPE_0 || note.nhdr.n_namesz != NOTE_NAME_SZ || strncmp(note.data + sizeof(note.nhdr), - GNU_PROPERTY_TYPE_0_NAME, n - sizeof(note.nhdr))) + NN_GNU_PROPERTY_TYPE_0, n - sizeof(note.nhdr))) return -ENOEXEC; off = round_up(sizeof(note.nhdr) + NOTE_NAME_SZ, @@ -1603,14 +1602,14 @@ static void fill_auxv_note(struct memelfnote *note, struct mm_struct *mm) do i += 2; while (auxv[i - 2] != AT_NULL); - fill_note(note, "CORE", NT_AUXV, i * sizeof(elf_addr_t), auxv); + fill_note(note, NN_AUXV, NT_AUXV, i * sizeof(elf_addr_t), auxv); } static void fill_siginfo_note(struct memelfnote *note, user_siginfo_t *csigdata, const kernel_siginfo_t *siginfo) { copy_siginfo_to_external(csigdata, siginfo); - fill_note(note, "CORE", NT_SIGINFO, sizeof(*csigdata), csigdata); + fill_note(note, NN_SIGINFO, NT_SIGINFO, sizeof(*csigdata), csigdata); } /* @@ -1706,7 +1705,7 @@ static int fill_files_note(struct memelfnote *note, struct coredump_params *cprm } size = name_curpos - (char *)data; - fill_note(note, "CORE", NT_FILE, size, data); + fill_note(note, NN_FILE, NT_FILE, size, data); return 0; } @@ -1767,7 +1766,7 @@ static int fill_thread_core_info(struct elf_thread_core_info *t, regset_get(t->task, &view->regsets[0], sizeof(t->prstatus.pr_reg), &t->prstatus.pr_reg); - fill_note(&t->notes[0], "CORE", NT_PRSTATUS, + fill_note(&t->notes[0], NN_PRSTATUS, NT_PRSTATUS, PRSTATUS_SIZE, &t->prstatus); info->size += notesize(&t->notes[0]); @@ -1801,7 +1800,7 @@ static int fill_thread_core_info(struct elf_thread_core_info *t, if (is_fpreg) SET_PR_FPVALID(&t->prstatus); - fill_note(&t->notes[note_iter], is_fpreg ? "CORE" : "LINUX", + fill_note(&t->notes[note_iter], is_fpreg ? NN_PRFPREG : "LINUX", note_type, ret, data); info->size += notesize(&t->notes[note_iter]); @@ -1821,7 +1820,7 @@ static int fill_thread_core_info(struct elf_thread_core_info *t, fill_prstatus(&t->prstatus.common, p, signr); elf_core_copy_task_regs(p, &t->prstatus.pr_reg); - fill_note(&t->notes[0], "CORE", NT_PRSTATUS, sizeof(t->prstatus), + fill_note(&t->notes[0], NN_PRSTATUS, NT_PRSTATUS, sizeof(t->prstatus), &(t->prstatus)); info->size += notesize(&t->notes[0]); @@ -1832,7 +1831,7 @@ static int fill_thread_core_info(struct elf_thread_core_info *t, } t->prstatus.pr_fpvalid = 1; - fill_note(&t->notes[1], "CORE", NT_PRFPREG, sizeof(*fpu), fpu); + fill_note(&t->notes[1], NN_PRFPREG, NT_PRFPREG, sizeof(*fpu), fpu); info->size += notesize(&t->notes[1]); return 1; @@ -1852,7 +1851,7 @@ static int fill_note_info(struct elfhdr *elf, int phdrs, psinfo = kmalloc(sizeof(*psinfo), GFP_KERNEL); if (!psinfo) return 0; - fill_note(&info->psinfo, "CORE", NT_PRPSINFO, sizeof(*psinfo), psinfo); + fill_note(&info->psinfo, NN_PRPSINFO, NT_PRPSINFO, sizeof(*psinfo), psinfo); #ifdef CORE_DUMP_USE_REGSET view = task_user_regset_view(dump_task); diff --git a/fs/binfmt_elf_fdpic.c b/fs/binfmt_elf_fdpic.c index f1a7c4875c4a..96bd9d2f23d7 100644 --- a/fs/binfmt_elf_fdpic.c +++ b/fs/binfmt_elf_fdpic.c @@ -1397,7 +1397,7 @@ static struct elf_thread_status *elf_dump_thread_status(long signr, struct task_ regset_get(p, &view->regsets[0], sizeof(t->prstatus.pr_reg), &t->prstatus.pr_reg); - fill_note(&t->notes[0], "CORE", NT_PRSTATUS, sizeof(t->prstatus), + fill_note(&t->notes[0], NN_PRSTATUS, NT_PRSTATUS, sizeof(t->prstatus), &t->prstatus); t->num_notes++; *sz += notesize(&t->notes[0]); @@ -1415,7 +1415,7 @@ static struct elf_thread_status *elf_dump_thread_status(long signr, struct task_ } if (t->prstatus.pr_fpvalid) { - fill_note(&t->notes[1], "CORE", NT_PRFPREG, sizeof(t->fpu), + fill_note(&t->notes[1], NN_PRFPREG, NT_PRFPREG, sizeof(t->fpu), &t->fpu); t->num_notes++; *sz += notesize(&t->notes[1]); @@ -1530,7 +1530,7 @@ static int elf_fdpic_core_dump(struct coredump_params *cprm) */ fill_psinfo(psinfo, current->group_leader, current->mm); - fill_note(&psinfo_note, "CORE", NT_PRPSINFO, sizeof(*psinfo), psinfo); + fill_note(&psinfo_note, NN_PRPSINFO, NT_PRPSINFO, sizeof(*psinfo), psinfo); thread_status_size += notesize(&psinfo_note); auxv = (elf_addr_t *) current->mm->saved_auxv; @@ -1538,7 +1538,7 @@ static int elf_fdpic_core_dump(struct coredump_params *cprm) do i += 2; while (auxv[i - 2] != AT_NULL); - fill_note(&auxv_note, "CORE", NT_AUXV, i * sizeof(elf_addr_t), auxv); + fill_note(&auxv_note, NN_AUXV, NT_AUXV, i * sizeof(elf_addr_t), auxv); thread_status_size += notesize(&auxv_note); offset = sizeof(*elf); /* ELF header */ From patchwork Tue Jan 7 12:45:54 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Akihiko Odaki X-Patchwork-Id: 104228 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id DB4BD3858C41 for ; Tue, 7 Jan 2025 12:50:19 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DB4BD3858C41 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=daynix-com.20230601.gappssmtp.com header.i=@daynix-com.20230601.gappssmtp.com header.a=rsa-sha256 header.s=20230601 header.b=fY1nh0QH X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-pj1-x1030.google.com (mail-pj1-x1030.google.com [IPv6:2607:f8b0:4864:20::1030]) by sourceware.org (Postfix) with ESMTPS id 8186C385841D for ; Tue, 7 Jan 2025 12:48:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8186C385841D Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=daynix.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=daynix.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 8186C385841D Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::1030 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736254093; cv=none; b=dJBdOHLpKs5wRsQeRbquQTDI7xDm/MjSzpiJHtRf/H4i/agRk4rfDyxDduPQwnkodAZIxLIWM69pbZQpml+oh+BB0/avwMcUtuFe/himPvzvAnVVnXy0uUFka86NnHyM84Abol7wJkkFfrm6qiDIcuqHWnHUlexgB/a1Fo3Tu88= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736254093; c=relaxed/simple; bh=+dyGO7LzstjjCAGXXiQqnw5sSHzhUQEkL0tM4qAP1Fs=; h=DKIM-Signature:From:Date:Subject:MIME-Version:Message-Id:To; b=D76MmHgOYF+3rQt0+EKs/kskIXP1KkZlbwldVPzlaBWWEs4gFdVuxtgKQjT2Qv4bfYW8uIDu/ArK0B/VvA2OfXA4nCx25mN0Wo51gtG4PHxeF13q/OVGH8fLDTvR+Qo+qTUJjhX+BYglmQnYvE7K9xG16+Rf04ne1N8OBqf+cX4= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8186C385841D Received: by mail-pj1-x1030.google.com with SMTP id 98e67ed59e1d1-2f43d17b0e3so23006707a91.0 for ; Tue, 07 Jan 2025 04:48:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1736254092; x=1736858892; darn=sourceware.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=NDoGkIZOBZADHox4rebBhOBkiub95NT2vaNCAf0u1/w=; b=fY1nh0QHAASzG1iI7rZrTrtDn0G6YnCJK9Z+ESbm9BfLOdTZdTdz6FsFmYTVNnIZAt 0oyLqp6n9kmbH3CwZClXnic8istSTgFltp/pBKJa1eqkCvZ+7LbgFvUsjd/+Tyi+6N5r 9Ex4Wo+faCDGghXLsOvgXD9AoFqA44clz46vARxrtOZKcpj22wrz/8VBXMeLXVA7u7Az zd7s+xLPpO0/nINISvlTquu4iX9s3bQ+DzrHxZDw+AfyIvCrkWeoryQJ8Nh5X1mlbMAv 7k9QNf4OK/+3e1xbJTScqmN1dQQFg5hNHKKm28jCPzvbNEdWsqzZuxHe6Hn3X9iytVOY TzCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736254092; x=1736858892; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NDoGkIZOBZADHox4rebBhOBkiub95NT2vaNCAf0u1/w=; b=vYFiZHU0uPTVxlFIfxivSQLvZHJIv3ZYNTVp8lGNoVxeyDwVH/xe6DZUQPS8v6V0sn KIjb/DFAVMvtsLejcRNnx1YjXFEi4qBkMNhMasWtNIE+W31K7YMlS2fW+c+39F5ogIWY VWwgRNCL1TO7OLKlS6McCReg7a448bxZZkMvhOAlkmCIpx0H+j1UKANAz9zcYUgKneW/ a+Yh6W6gb3GghHSnffkT5fB6YYbOdUqA+XWdr6xAhxYcWE/k467PVvp9jFpsaa+tXqpU +OVnbq2dM9i7R5rB5vEIR/5zWFQbzObpabMDc182ehUEIu488vXDnJjqbSFqove5qMcQ QcgQ== X-Forwarded-Encrypted: i=1; AJvYcCWsFPWPW9TtBXa8lqFDVevZv32AeS8pnk/D0UaYS/RnJAPUKlaze/br/9Fn4xp771p8EOrBekAGLg==@sourceware.org X-Gm-Message-State: AOJu0YwmO4ME5BjYbsxKwLjj8e/GWppWO9xvo2aPmqH3ByiUw0I3xER5 8oAODvFYgAlFkUPa4KQTYgNMKvW9SllZ3M4oviTInSKY8p7tFEKqNl/klo9TxJY= X-Gm-Gg: ASbGncuG0Uts+45rhD6xRF5IvIJoe7nVOE8BYlUUT/morWhHmatZUGisxU+8PHx4/Nn Xl5/52rAzCd7Y8xArs1T6eQevqQMucvrkuL6Xtlj7GUv2YL81H9q7BzCEA2PyPlwaQwRGyGXfq7 +kP9PwabVrN92FYWX7qYLVqkTspyn8Nst8ZcAG2eH7Vhce9x03umN4e1eRQPf0BSgp6ZpKUf+72 UnkL15MlZ+rynrGw4aXK+Lh6jCNnR86ZwR5XscZ6zOQCaLAmAVktPBdUOM= X-Google-Smtp-Source: AGHT+IEVKBP005EvKmW5Tl+CNM3WgQ4gF7V3wiTUcNw/Hf4GbFW1YRz6KtZiTE3d5Nc2ByQmLcCTzA== X-Received: by 2002:a05:6a00:240d:b0:71e:6b8:2f4a with SMTP id d2e1a72fcca58-72abde04f6fmr85408908b3a.12.1736254092437; Tue, 07 Jan 2025 04:48:12 -0800 (PST) Received: from localhost ([157.82.203.37]) by smtp.gmail.com with UTF8SMTPSA id d2e1a72fcca58-72aad90c133sm34268685b3a.183.2025.01.07.04.48.08 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 07 Jan 2025 04:48:12 -0800 (PST) From: Akihiko Odaki Date: Tue, 07 Jan 2025 21:45:54 +0900 Subject: [PATCH v3 3/6] powwerpc: Use note name macros MIME-Version: 1.0 Message-Id: <20250107-elf-v3-3-99cb505b1ab2@daynix.com> References: <20250107-elf-v3-0-99cb505b1ab2@daynix.com> In-Reply-To: <20250107-elf-v3-0-99cb505b1ab2@daynix.com> To: Eric Biederman , Kees Cook , Catalin Marinas , Mark Brown , Dave Martin , Baoquan He , Vivek Goyal , Dave Young Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org, kexec@lists.infradead.org, binutils@sourceware.org, devel@daynix.com, Akihiko Odaki X-Mailer: b4 0.14-dev-fd6e3 X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, KAM_MANYTO, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces~patchwork=sourceware.org@sourceware.org Use note name macros to match with the userspace's expectation. Acked-by: Baoquan He Signed-off-by: Akihiko Odaki --- arch/powerpc/kernel/fadump.c | 2 +- arch/powerpc/platforms/powernv/opal-core.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/arch/powerpc/kernel/fadump.c b/arch/powerpc/kernel/fadump.c index 4b371c738213..d44349fe8e2b 100644 --- a/arch/powerpc/kernel/fadump.c +++ b/arch/powerpc/kernel/fadump.c @@ -751,7 +751,7 @@ u32 *__init fadump_regs_to_elf_notes(u32 *buf, struct pt_regs *regs) * prstatus.pr_pid = ???? */ elf_core_copy_regs(&prstatus.pr_reg, regs); - buf = append_elf_note(buf, CRASH_CORE_NOTE_NAME, NT_PRSTATUS, + buf = append_elf_note(buf, NN_PRSTATUS, NT_PRSTATUS, &prstatus, sizeof(prstatus)); return buf; } diff --git a/arch/powerpc/platforms/powernv/opal-core.c b/arch/powerpc/platforms/powernv/opal-core.c index c9a9b759cc92..a379ff86c120 100644 --- a/arch/powerpc/platforms/powernv/opal-core.c +++ b/arch/powerpc/platforms/powernv/opal-core.c @@ -149,7 +149,7 @@ static Elf64_Word *__init auxv_to_elf64_notes(Elf64_Word *buf, /* end of vector */ bufp[idx++] = cpu_to_be64(AT_NULL); - buf = append_elf64_note(buf, CRASH_CORE_NOTE_NAME, NT_AUXV, + buf = append_elf64_note(buf, NN_AUXV, NT_AUXV, oc_conf->auxv_buf, AUXV_DESC_SZ); return buf; } @@ -252,7 +252,7 @@ static Elf64_Word * __init opalcore_append_cpu_notes(Elf64_Word *buf) * crashing CPU's prstatus. */ first_cpu_note = buf; - buf = append_elf64_note(buf, CRASH_CORE_NOTE_NAME, NT_PRSTATUS, + buf = append_elf64_note(buf, NN_PRSTATUS, NT_PRSTATUS, &prstatus, sizeof(prstatus)); for (i = 0; i < oc_conf->num_cpus; i++, bufp += size_per_thread) { @@ -279,7 +279,7 @@ static Elf64_Word * __init opalcore_append_cpu_notes(Elf64_Word *buf) fill_prstatus(&prstatus, thread_pir, ®s); if (thread_pir != oc_conf->crashing_cpu) { - buf = append_elf64_note(buf, CRASH_CORE_NOTE_NAME, + buf = append_elf64_note(buf, NN_PRSTATUS, NT_PRSTATUS, &prstatus, sizeof(prstatus)); } else { @@ -287,7 +287,7 @@ static Elf64_Word * __init opalcore_append_cpu_notes(Elf64_Word *buf) * Add crashing CPU as the first NT_PRSTATUS note for * GDB to process the core file appropriately. */ - append_elf64_note(first_cpu_note, CRASH_CORE_NOTE_NAME, + append_elf64_note(first_cpu_note, NN_PRSTATUS, NT_PRSTATUS, &prstatus, sizeof(prstatus)); } From patchwork Tue Jan 7 12:45:55 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Akihiko Odaki X-Patchwork-Id: 104238 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D2019385DC27 for ; Tue, 7 Jan 2025 13:04:16 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D2019385DC27 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=daynix-com.20230601.gappssmtp.com header.i=@daynix-com.20230601.gappssmtp.com header.a=rsa-sha256 header.s=20230601 header.b=cL4Hzhj3 X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-pj1-x1032.google.com (mail-pj1-x1032.google.com [IPv6:2607:f8b0:4864:20::1032]) by sourceware.org (Postfix) with ESMTPS id 1D9383858C41 for ; Tue, 7 Jan 2025 12:48:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1D9383858C41 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=daynix.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=daynix.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 1D9383858C41 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::1032 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736254100; cv=none; b=FLZFF08vJSXnrgdXEWsKEaLFiCMfddguh7PpzYTgZqruOlak6dOE91Ad68mu8wrlQvBlkPCBwYFE+PLmBFmF5LUhkEwWsOjstCXkTh6NzgssWayuPBXCAKpf3ABNU2HDhdTS8uMVMXTwFMVrnlYSCx2EoU948M2LCw4kpSD6z2E= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736254100; c=relaxed/simple; bh=N4IhUv6S3uRsh7HsLEUL+nZigf4kpss6dQVVVdHm5r4=; h=DKIM-Signature:From:Date:Subject:MIME-Version:Message-Id:To; b=XwzLYlb4CXyHHmyqdtV0svrpnUGumMDR7SnJI205yhyuc5PR7dwdXu0v67MAGK+1VEaGo6DPt7Bbqk+O5yZ0dE3ruU01+y2zt5M8jXWO1sOKCURbRUFi2/+WjLoCLOqqp8c4TppCH0YB8gN5ntW+j1+nhVQXQPPLJLFGTJwEXqk= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1D9383858C41 Received: by mail-pj1-x1032.google.com with SMTP id 98e67ed59e1d1-2f44353649aso18428107a91.0 for ; Tue, 07 Jan 2025 04:48:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1736254099; x=1736858899; darn=sourceware.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=d5w0df8A0RGvduNGo/n7gECMAUl7ttjM0kfw51R7kHo=; b=cL4Hzhj3u8jXH7uI2xLcGyZ7ez0bsOf8Rv6fpBR5PS7wDfjE8/BN1gWKNDNPlTBefw OvjwqtmxZ0sJ6eXSu0jXdWI1i/7rmrnAmDaHSEW8OfByExmpkho08ZDgPM0m6m21aIHT BBuWAiqH0mmsaEmL3MVn+lSrBjvNIRuSs0xirnd6vYrKuwjE+XmLh7RQTZUhJY00TBWC pgLQoVEQxpxYzHhvTCyL5xgDTIRYkI6/Xg3c6Bj6RcGOGptGA0yqVqxVQWW1FsMV0dbv TdaRMK8saNvSXktYEpJvHtQ5XJw0zhS9XvBkCfIlZiF9GuvpfnL/l8ZB7pUaMunF91MC xPQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736254099; x=1736858899; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=d5w0df8A0RGvduNGo/n7gECMAUl7ttjM0kfw51R7kHo=; b=gjQPL2fLRIEA9OxmE8j30w4aTzIuxFyCJFgCW/PUwVW0tZ13D/dH6zRltGkFw176dM 7nO57ozMOCsEx0lTLdUlltWVRnlkNon7C3e2Hosu15YP2MFsYGte9L6P36/m3Mjefcmk Ynzu3F71EMtbwts0sWrI1wBq0IInIuK59Q0T7IBMYF+M4UATQLXqyVPtTBIbZB+hgXy4 YHeadQ4QmH9cMNX9bH241KgvV7CjBxotAFHMxl495I5ojCZbulZKCfAAISpgzRHsxZhx 4YvNWciB4fCVoSQ8F2hkBpQ9S+oc4ScQMTlN6U69FfZzPS9mSnGQdu02kRdVwPrx58Sj pqLw== X-Forwarded-Encrypted: i=1; AJvYcCVGUx/AmnjLF/PDmlSfqXu9r1u3w5+gnmndbiCU+IaQbNOXZ1W/pgvTpXgBrWXKjN5US5si/Dqu6Q==@sourceware.org X-Gm-Message-State: AOJu0Yx67G9Ol1Dnh6CjX9DZ8o+P0M0negnHJ1oF/YSX0jcDXT7YtJdJ n4UhkWjoBGqr6icJrm+Lli/Z99uM/ZfBMu9M3TW+O9wf8YYzbSVLxsH84R2y2EA= X-Gm-Gg: ASbGncu0BDQhWPOTGGue5jTHzcsqfn4j0ia4XUbr1BT2fjDbpiSWTBrH5Jtyxu4YqBr CGe5iCnlpohrH/cyHvUcqvkIY2HyQSl5jU70WxRjdFXUW8ZeY5jdv3i0Hb+bhbkHGof2sDKEa6D kUDyz9vK5vKmx6RpB4lC5kZuAbdWFWlKlBdlrdKdqQBcBCVAaqzRyJkHDdhjJ64dOR+iOMBN84I UETnEhH2MGE9LXMd3W9YTujg1KTzr6LppRxbP7VUMlIpKwaZ9HnzWRE8vw= X-Google-Smtp-Source: AGHT+IF4unLvSG3ozl/K+xZg50qJ9RhkOXYw+z5VR9QTjd55CxK7F8LQeDMLqnNt5CS4t8mxmL2QoA== X-Received: by 2002:a17:90b:534b:b0:2ee:a127:ba96 with SMTP id 98e67ed59e1d1-2f452ec6d35mr81063623a91.23.1736254098937; Tue, 07 Jan 2025 04:48:18 -0800 (PST) Received: from localhost ([157.82.203.37]) by smtp.gmail.com with UTF8SMTPSA id 98e67ed59e1d1-2f2ee06dd46sm41574100a91.36.2025.01.07.04.48.14 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 07 Jan 2025 04:48:18 -0800 (PST) From: Akihiko Odaki Date: Tue, 07 Jan 2025 21:45:55 +0900 Subject: [PATCH v3 4/6] crash: Use note name macros MIME-Version: 1.0 Message-Id: <20250107-elf-v3-4-99cb505b1ab2@daynix.com> References: <20250107-elf-v3-0-99cb505b1ab2@daynix.com> In-Reply-To: <20250107-elf-v3-0-99cb505b1ab2@daynix.com> To: Eric Biederman , Kees Cook , Catalin Marinas , Mark Brown , Dave Martin , Baoquan He , Vivek Goyal , Dave Young Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org, kexec@lists.infradead.org, binutils@sourceware.org, devel@daynix.com, Akihiko Odaki X-Mailer: b4 0.14-dev-fd6e3 X-Spam-Status: No, score=-12.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, KAM_MANYTO, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces~patchwork=sourceware.org@sourceware.org Use note name macros to match with the userspace's expectation. Signed-off-by: Akihiko Odaki Acked-by: Baoquan He --- fs/proc/kcore.c | 12 ++++++------ include/linux/vmcore_info.h | 2 +- kernel/crash_core.c | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/fs/proc/kcore.c b/fs/proc/kcore.c index e376f48c4b8b..e5612313b8b4 100644 --- a/fs/proc/kcore.c +++ b/fs/proc/kcore.c @@ -34,8 +34,6 @@ #include #include "internal.h" -#define CORE_STR "CORE" - #ifndef ELF_CORE_EFLAGS #define ELF_CORE_EFLAGS 0 #endif @@ -119,7 +117,9 @@ static size_t get_kcore_size(int *nphdr, size_t *phdrs_len, size_t *notes_len, *phdrs_len = *nphdr * sizeof(struct elf_phdr); *notes_len = (4 * sizeof(struct elf_note) + - 3 * ALIGN(sizeof(CORE_STR), 4) + + ALIGN(sizeof(NN_PRSTATUS), 4) + + ALIGN(sizeof(NN_PRPSINFO), 4) + + ALIGN(sizeof(NN_TASKSTRUCT), 4) + VMCOREINFO_NOTE_NAME_BYTES + ALIGN(sizeof(struct elf_prstatus), 4) + ALIGN(sizeof(struct elf_prpsinfo), 4) + @@ -444,11 +444,11 @@ static ssize_t read_kcore_iter(struct kiocb *iocb, struct iov_iter *iter) goto out; } - append_kcore_note(notes, &i, CORE_STR, NT_PRSTATUS, &prstatus, + append_kcore_note(notes, &i, NN_PRSTATUS, NT_PRSTATUS, &prstatus, sizeof(prstatus)); - append_kcore_note(notes, &i, CORE_STR, NT_PRPSINFO, &prpsinfo, + append_kcore_note(notes, &i, NN_PRPSINFO, NT_PRPSINFO, &prpsinfo, sizeof(prpsinfo)); - append_kcore_note(notes, &i, CORE_STR, NT_TASKSTRUCT, current, + append_kcore_note(notes, &i, NN_TASKSTRUCT, NT_TASKSTRUCT, current, arch_task_struct_size); /* * vmcoreinfo_size is mostly constant after init time, but it diff --git a/include/linux/vmcore_info.h b/include/linux/vmcore_info.h index e1dec1a6a749..1672801fd98c 100644 --- a/include/linux/vmcore_info.h +++ b/include/linux/vmcore_info.h @@ -8,7 +8,7 @@ #define CRASH_CORE_NOTE_NAME "CORE" #define CRASH_CORE_NOTE_HEAD_BYTES ALIGN(sizeof(struct elf_note), 4) -#define CRASH_CORE_NOTE_NAME_BYTES ALIGN(sizeof(CRASH_CORE_NOTE_NAME), 4) +#define CRASH_CORE_NOTE_NAME_BYTES ALIGN(sizeof(NN_PRSTATUS), 4) #define CRASH_CORE_NOTE_DESC_BYTES ALIGN(sizeof(struct elf_prstatus), 4) /* diff --git a/kernel/crash_core.c b/kernel/crash_core.c index 078fe5bc5a74..335b8425dd4b 100644 --- a/kernel/crash_core.c +++ b/kernel/crash_core.c @@ -436,7 +436,7 @@ void crash_save_cpu(struct pt_regs *regs, int cpu) memset(&prstatus, 0, sizeof(prstatus)); prstatus.common.pr_pid = current->pid; elf_core_copy_regs(&prstatus.pr_reg, regs); - buf = append_elf_note(buf, KEXEC_CORE_NOTE_NAME, NT_PRSTATUS, + buf = append_elf_note(buf, NN_PRSTATUS, NT_PRSTATUS, &prstatus, sizeof(prstatus)); final_note(buf); } From patchwork Tue Jan 7 12:45:56 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Akihiko Odaki X-Patchwork-Id: 104230 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 5B6F5385C403 for ; Tue, 7 Jan 2025 12:55:27 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5B6F5385C403 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=daynix-com.20230601.gappssmtp.com header.i=@daynix-com.20230601.gappssmtp.com header.a=rsa-sha256 header.s=20230601 header.b=uWzAkkRJ X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-pj1-x1030.google.com (mail-pj1-x1030.google.com [IPv6:2607:f8b0:4864:20::1030]) by sourceware.org (Postfix) with ESMTPS id 8CC673858D26 for ; Tue, 7 Jan 2025 12:48:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8CC673858D26 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=daynix.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=daynix.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 8CC673858D26 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::1030 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736254106; cv=none; b=v/9cWfJTKMGDQ7aE2uaINJlrc6jsyDcCB6WtWUqQtc5l2WfMluopj4P5hLbUfCfYMhD5liG+lk6hj/zLnhX3gF034tn5LZFdMFdEhSJqyPr8Q/KLt7HU3Y/28iVTa9KEyqXaGq2uEZO8hh9rRMfa8ipqHqV/TDxCun9CVNWHQBQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736254106; c=relaxed/simple; bh=fk1yr9yll80l0GX6PVUrYoQYmm4+oWG0A+5XGSbr4Ws=; h=DKIM-Signature:From:Date:Subject:MIME-Version:Message-Id:To; b=lBuN9DHdgH6i5GHSqN5tMnjC/R5XB7Plp6qKWOePmzoCxWph2f7G27D/rDPc1XFQL723KpjEvqDx9a9WF3/DAh//FDU123uhylxll6NqosqpfLYOM6vUfssiB2rfR5TeKoJpXrKlLeyh6I4zupdHw2nxOAxyKFGpbNABrMnnn1k= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8CC673858D26 Received: by mail-pj1-x1030.google.com with SMTP id 98e67ed59e1d1-2ef72924e53so22628703a91.3 for ; Tue, 07 Jan 2025 04:48:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1736254105; x=1736858905; darn=sourceware.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=8B/uoyeuY57p4F5WrCZvdn0Td4esItXL4IJBDCfsGf4=; b=uWzAkkRJuw2NajFjah6WDbEvG7rvB4LnIVh9UM5XKxHiEbbRyV9vi9fZ8gJoV7frLu ORnO7CfBunU3iBHp3SBe3grygVxTnhCTrn8JEtfJ3uqYurrsbUagEgDIsxIxgtLeCbi3 EW7naHK2IJ9Kagb1/IR6owvQG6njPllPAFZb1YKSL3Vobnlr0SLmPDuhgtuPHxI5AliG OKvCtDsAq8rslbnQ4xQBmAKoINXK80Ot9o/Gx1rqxPmfrvmzcIGWF/ir6ZNPrcy3DKGi jBu9yBNjrK5Z4hE3H/ovKD2yHzkGCbTRWDAndmlY8rjkvrQs1N7O7gsM0QVuR2OH/7QW /8fw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736254105; x=1736858905; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8B/uoyeuY57p4F5WrCZvdn0Td4esItXL4IJBDCfsGf4=; b=W/WIm0+TJP6aCCft10Z7QcBZ/stcrxxx1MEUStOii2FQmrJHxh/tW1mtgoeIl5348p yMujAEMoXHGdcg0+P1nDBGB1xakBCaVidrJaqn5UQFUNlkNnuK7qtdhLQkHgXHMwvT7g MOcf9UCS1zkRIxW8CA8FBEt3wrPElP1vRqX1W6nKR64Mzn87F3ASoGelWh3cNFINNBuD pEJg28ZrshYN47REE4k/FsVi/w5rShdnJlKgPtswD6l7BHh4RMzp+KylQCZHcED2IQ99 EZxcoc5M/BsgmqdhQub4cn/9ZPTXo0gOorlsXg+5BRhJ0r1CSd1zmqDkbdXPaRFo2Q/v h8Dw== X-Forwarded-Encrypted: i=1; AJvYcCX8lK4H/uRpD/lUgOGP1+m0OvAIcyPw0O42RrbcDUrUBxhfwG2hukut0rxPN+peiCwtTtF8KfgVzA==@sourceware.org X-Gm-Message-State: AOJu0YxYPR13bzkK8XRZhhFCHZTzxuPoZLxsnZQeMpPJrvSb7FtsbK4Y E3WjeKW9F5+4nu5OQl1v4HjKgib4I2xKAWmOYGHFnq45MjmS1RIUW6XLkEw6XSs= X-Gm-Gg: ASbGncsyDjvK4igk6O2brA7hWSnOI0EIbfFQEvLTRxOGgRHRJUoPgdn14NEGCpqFGUn rLDoYqEkcpGddvbS6j1Kde7kyKxYXto4f5Z0lRBJVOC8jKI111L9xNIZ4enFMOGfdWhancVYYut A0j+XrhIotw2SImXFmJYvom7UjtX1SDTrXK9eR3KdNkfwDfqGL6DA2Fl5uW1LL4JUPL+q05Z6OO rwIkHAvoqPvKvWik1SpYnGhOzFvKlE9dzC/4UMLeMDfIJ8BaPkz5AS9mwU= X-Google-Smtp-Source: AGHT+IFrm4rj/MLEj5on8APad3buiaiqCoLZIEAZ2AeMT04ViEKVqkKOmnPzjy3rlA6C6aSb7vkHeg== X-Received: by 2002:a05:6a00:f96:b0:724:ed8f:4d35 with SMTP id d2e1a72fcca58-72abdedda5fmr91700514b3a.26.1736254105569; Tue, 07 Jan 2025 04:48:25 -0800 (PST) Received: from localhost ([157.82.203.37]) by smtp.gmail.com with UTF8SMTPSA id d2e1a72fcca58-72aad8fd7b0sm22424647b3a.139.2025.01.07.04.48.21 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 07 Jan 2025 04:48:25 -0800 (PST) From: Akihiko Odaki Date: Tue, 07 Jan 2025 21:45:56 +0900 Subject: [PATCH v3 5/6] s390/crash: Use note name macros MIME-Version: 1.0 Message-Id: <20250107-elf-v3-5-99cb505b1ab2@daynix.com> References: <20250107-elf-v3-0-99cb505b1ab2@daynix.com> In-Reply-To: <20250107-elf-v3-0-99cb505b1ab2@daynix.com> To: Eric Biederman , Kees Cook , Catalin Marinas , Mark Brown , Dave Martin , Baoquan He , Vivek Goyal , Dave Young Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org, kexec@lists.infradead.org, binutils@sourceware.org, devel@daynix.com, Akihiko Odaki X-Mailer: b4 0.14-dev-fd6e3 X-Spam-Status: No, score=-12.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, KAM_MANYTO, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces~patchwork=sourceware.org@sourceware.org Use note name macros to match with the userspace's expectation. Signed-off-by: Akihiko Odaki Acked-by: Heiko Carstens --- arch/s390/kernel/crash_dump.c | 62 ++++++++++++++++--------------------------- 1 file changed, 23 insertions(+), 39 deletions(-) diff --git a/arch/s390/kernel/crash_dump.c b/arch/s390/kernel/crash_dump.c index cd0c93a8fb8b..6359ce645756 100644 --- a/arch/s390/kernel/crash_dump.c +++ b/arch/s390/kernel/crash_dump.c @@ -248,15 +248,6 @@ bool is_kdump_kernel(void) } EXPORT_SYMBOL_GPL(is_kdump_kernel); -static const char *nt_name(Elf64_Word type) -{ - const char *name = "LINUX"; - - if (type == NT_PRPSINFO || type == NT_PRSTATUS || type == NT_PRFPREG) - name = KEXEC_CORE_NOTE_NAME; - return name; -} - /* * Initialize ELF note */ @@ -281,10 +272,8 @@ static void *nt_init_name(void *buf, Elf64_Word type, void *desc, int d_len, return PTR_ADD(buf, len); } -static inline void *nt_init(void *buf, Elf64_Word type, void *desc, int d_len) -{ - return nt_init_name(buf, type, desc, d_len, nt_name(type)); -} +#define NT_INIT(buf, type, desc) \ + (nt_init_name((buf), NT_ ## type, &(desc), sizeof(desc), NN_ ## type)) /* * Calculate the size of ELF note @@ -300,10 +289,7 @@ static size_t nt_size_name(int d_len, const char *name) return size; } -static inline size_t nt_size(Elf64_Word type, int d_len) -{ - return nt_size_name(d_len, nt_name(type)); -} +#define NT_SIZE(type, desc) (nt_size_name(sizeof(desc), NN_ ## type)) /* * Fill ELF notes for one CPU with save area registers @@ -324,18 +310,16 @@ static void *fill_cpu_elf_notes(void *ptr, int cpu, struct save_area *sa) memcpy(&nt_fpregset.fpc, &sa->fpc, sizeof(sa->fpc)); memcpy(&nt_fpregset.fprs, &sa->fprs, sizeof(sa->fprs)); /* Create ELF notes for the CPU */ - ptr = nt_init(ptr, NT_PRSTATUS, &nt_prstatus, sizeof(nt_prstatus)); - ptr = nt_init(ptr, NT_PRFPREG, &nt_fpregset, sizeof(nt_fpregset)); - ptr = nt_init(ptr, NT_S390_TIMER, &sa->timer, sizeof(sa->timer)); - ptr = nt_init(ptr, NT_S390_TODCMP, &sa->todcmp, sizeof(sa->todcmp)); - ptr = nt_init(ptr, NT_S390_TODPREG, &sa->todpreg, sizeof(sa->todpreg)); - ptr = nt_init(ptr, NT_S390_CTRS, &sa->ctrs, sizeof(sa->ctrs)); - ptr = nt_init(ptr, NT_S390_PREFIX, &sa->prefix, sizeof(sa->prefix)); + ptr = NT_INIT(ptr, PRSTATUS, nt_prstatus); + ptr = NT_INIT(ptr, PRFPREG, nt_fpregset); + ptr = NT_INIT(ptr, S390_TIMER, sa->timer); + ptr = NT_INIT(ptr, S390_TODCMP, sa->todcmp); + ptr = NT_INIT(ptr, S390_TODPREG, sa->todpreg); + ptr = NT_INIT(ptr, S390_CTRS, sa->ctrs); + ptr = NT_INIT(ptr, S390_PREFIX, sa->prefix); if (cpu_has_vx()) { - ptr = nt_init(ptr, NT_S390_VXRS_HIGH, - &sa->vxrs_high, sizeof(sa->vxrs_high)); - ptr = nt_init(ptr, NT_S390_VXRS_LOW, - &sa->vxrs_low, sizeof(sa->vxrs_low)); + ptr = NT_INIT(ptr, S390_VXRS_HIGH, sa->vxrs_high); + ptr = NT_INIT(ptr, S390_VXRS_LOW, sa->vxrs_low); } return ptr; } @@ -348,16 +332,16 @@ static size_t get_cpu_elf_notes_size(void) struct save_area *sa = NULL; size_t size; - size = nt_size(NT_PRSTATUS, sizeof(struct elf_prstatus)); - size += nt_size(NT_PRFPREG, sizeof(elf_fpregset_t)); - size += nt_size(NT_S390_TIMER, sizeof(sa->timer)); - size += nt_size(NT_S390_TODCMP, sizeof(sa->todcmp)); - size += nt_size(NT_S390_TODPREG, sizeof(sa->todpreg)); - size += nt_size(NT_S390_CTRS, sizeof(sa->ctrs)); - size += nt_size(NT_S390_PREFIX, sizeof(sa->prefix)); + size = NT_SIZE(PRSTATUS, struct elf_prstatus); + size += NT_SIZE(PRFPREG, elf_fpregset_t); + size += NT_SIZE(S390_TIMER, sa->timer); + size += NT_SIZE(S390_TODCMP, sa->todcmp); + size += NT_SIZE(S390_TODPREG, sa->todpreg); + size += NT_SIZE(S390_CTRS, sa->ctrs); + size += NT_SIZE(S390_PREFIX, sa->prefix); if (cpu_has_vx()) { - size += nt_size(NT_S390_VXRS_HIGH, sizeof(sa->vxrs_high)); - size += nt_size(NT_S390_VXRS_LOW, sizeof(sa->vxrs_low)); + size += NT_SIZE(S390_VXRS_HIGH, sa->vxrs_high); + size += NT_SIZE(S390_VXRS_LOW, sa->vxrs_low); } return size; @@ -373,7 +357,7 @@ static void *nt_prpsinfo(void *ptr) memset(&prpsinfo, 0, sizeof(prpsinfo)); prpsinfo.pr_sname = 'R'; strcpy(prpsinfo.pr_fname, "vmlinux"); - return nt_init(ptr, NT_PRPSINFO, &prpsinfo, sizeof(prpsinfo)); + return NT_INIT(ptr, PRPSINFO, prpsinfo); } /* @@ -589,7 +573,7 @@ static size_t get_elfcorehdr_size(int phdr_count) /* PT_NOTES */ size += sizeof(Elf64_Phdr); /* nt_prpsinfo */ - size += nt_size(NT_PRPSINFO, sizeof(struct elf_prpsinfo)); + size += NT_SIZE(PRPSINFO, struct elf_prpsinfo); /* regsets */ size += get_cpu_cnt() * get_cpu_elf_notes_size(); /* nt_vmcoreinfo */ From patchwork Tue Jan 7 12:45:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Akihiko Odaki X-Patchwork-Id: 104231 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 0B968385BC23 for ; Tue, 7 Jan 2025 12:55:36 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0B968385BC23 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=daynix-com.20230601.gappssmtp.com header.i=@daynix-com.20230601.gappssmtp.com header.a=rsa-sha256 header.s=20230601 header.b=PgkCMVVe X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-pl1-x629.google.com (mail-pl1-x629.google.com [IPv6:2607:f8b0:4864:20::629]) by sourceware.org (Postfix) with ESMTPS id 3FA793858C66 for ; Tue, 7 Jan 2025 12:48:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3FA793858C66 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=daynix.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=daynix.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 3FA793858C66 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::629 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736254113; cv=none; b=FknXgSdmO/83fZuPHgMYZ8msKpYxkkGlpic+erK+bSXFZLTNOc88AZ68/od00zFVT3bnhTASC1vBcd1vCJd97Rj/0iKsI98k9KfaLJmfQpRQTV5NDohecKNh6ShVkT0z8x/k3GGvzmZfyt4q8uopyjALxOOnAii1dPdr7m+bBlk= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736254113; c=relaxed/simple; bh=PDKDOEbG5wLU1DkJmdPQNhRgipqYHagmRVjwHv2hyKE=; h=DKIM-Signature:From:Date:Subject:MIME-Version:Message-Id:To; b=le8rfmdvrMy0yHnCF2TN+pK7yieRA37ixrHkvv0ia3+qSktTLVwbwdWu7vVtVh7kBZdxTWk1AoTd5JoWSiMX45RaKxEz5RCRL73D2HCvgjceI/VNCGg3S1j61XUB09JCeiM2itQcchqCdxEH6k68sRF54pbA2Wa0osz8OnDjHdQ= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3FA793858C66 Received: by mail-pl1-x629.google.com with SMTP id d9443c01a7336-216281bc30fso6460835ad.0 for ; Tue, 07 Jan 2025 04:48:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1736254112; x=1736858912; darn=sourceware.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=hJIM5PjsK5XkECqCUUoGiieCybrsun7CzYeIZbw5syM=; b=PgkCMVVeYcBb8kVBDlTM47aZtsNRqeBoPkobwdDozEyzIDxW6o3n0Es9pDwdCuZD63 WOBxWGMfknPQePI1F4pND9Buqj9X561uFoObMctq87nmyeKLPaL/CjFaO60VswXz9JXh 1JFzVp4bKM4Hhlu2Vxt+mkFxotCXG67ChV3+e84u/pD8tADJ6Zw8gCd0pWsCZg/7Q8wP 2oD0+gTve7Nkmuq+Nf3zGbbrUUd2fO4LCxQzDjTh7kyP/WnzR2DVDB+Qz2Tk443yf4kz eRMKFA53VqjRaSn93vT2dhpZP8cei/ovBwGyoKMrEP3lXasYQwfhbhKwSEHYoeP+7EBZ aWvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736254112; x=1736858912; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hJIM5PjsK5XkECqCUUoGiieCybrsun7CzYeIZbw5syM=; b=FEcduZz1K3KiFLol5rfauRoYBtcBZyFRQ22Q5kxPaj8qtzdRA3NR2g1MFFVrIRmlaZ +kBcHa/Imk0fHS/YyHQelgjNr0MdMlthmMHR8BDCEagy/2zjEKPMDjTe2Ul3AnOIukUm K2ly32UuI5Wyky2NjZuJcYk6frD2sAtjO6sWoHbryXlZGeqIPpOmvA9vHI736I+kld27 pkLpVVkYFWUiJVF2Lb5jF0VQ/RxgKLL0rdABYx1JXtXRvq19hpiM9le9gRcY6fiVHePl 71/MHQJ5tliLxxx89PArdl7cE5wysiXD+OTwXQYUekcMZ3FxaiVPlr8vMba88w2pbEUX zg7g== X-Forwarded-Encrypted: i=1; AJvYcCXOgq2rSKVlPoQ79OAeemorkijY7vipTm7Vd4GPaVLuKEqVC+OPXgU/FOLf8Cf11isydDrfVMvg5Q==@sourceware.org X-Gm-Message-State: AOJu0YzOXsuUa15H4AtuHE/DbxIQH0zw/x8YP2MJ0AB+jowRPJ9kAEJU 1eNj1rAdf+9BGviI1RxcFEdaVirNJ/Q9QbGo1dA0Of627rsMPcy0KIDIdjoTxsg= X-Gm-Gg: ASbGncsjXv94IHU1RdPSN8EV/wLXEYnpuSuXuXs7UbZEEED4VTeLjgztNQE0mAoqAbW 2o0c503UF5FtBrz41giKCYzJq1t1LnW+LE5CPzIrMN0Wk/YtW5AQGQfIbMMc1EtB686nh2+9OBV XeAwCvlKYnE5tNdGSxd9pGvjTifR0PH6rev/4VocJvnAoHlIVCI97uMraNkR6cQc/L2kworP8r/ PGyur7rzjSaSB87NKidhKn5uPqeNiYTjCylS+XTEWmRU4fA9BdvGkq1EkU= X-Google-Smtp-Source: AGHT+IEgGWm+TwbUeO+9N7FURX28AGtJrPEUj7uS49yO94eCRFf85XIQjkIdMNAyflZYWE42i4plAQ== X-Received: by 2002:a17:903:22c6:b0:216:2474:3c9f with SMTP id d9443c01a7336-219e6f38177mr919043015ad.52.1736254112256; Tue, 07 Jan 2025 04:48:32 -0800 (PST) Received: from localhost ([157.82.203.37]) by smtp.gmail.com with UTF8SMTPSA id d9443c01a7336-219dca02f72sm310596305ad.249.2025.01.07.04.48.28 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 07 Jan 2025 04:48:31 -0800 (PST) From: Akihiko Odaki Date: Tue, 07 Jan 2025 21:45:57 +0900 Subject: [PATCH v3 6/6] crash: Remove KEXEC_CORE_NOTE_NAME MIME-Version: 1.0 Message-Id: <20250107-elf-v3-6-99cb505b1ab2@daynix.com> References: <20250107-elf-v3-0-99cb505b1ab2@daynix.com> In-Reply-To: <20250107-elf-v3-0-99cb505b1ab2@daynix.com> To: Eric Biederman , Kees Cook , Catalin Marinas , Mark Brown , Dave Martin , Baoquan He , Vivek Goyal , Dave Young Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org, kexec@lists.infradead.org, binutils@sourceware.org, devel@daynix.com, Akihiko Odaki X-Mailer: b4 0.14-dev-fd6e3 X-Spam-Status: No, score=-12.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, KAM_MANYTO, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces~patchwork=sourceware.org@sourceware.org KEXEC_CORE_NOTE_NAME is no longer used. Signed-off-by: Akihiko Odaki Acked-by: Baoquan He --- include/linux/kexec.h | 2 -- include/linux/vmcore_info.h | 1 - 2 files changed, 3 deletions(-) diff --git a/include/linux/kexec.h b/include/linux/kexec.h index f0e9f8eda7a3..c840431eadda 100644 --- a/include/linux/kexec.h +++ b/include/linux/kexec.h @@ -68,8 +68,6 @@ extern note_buf_t __percpu *crash_notes; #define KEXEC_CRASH_MEM_ALIGN PAGE_SIZE #endif -#define KEXEC_CORE_NOTE_NAME CRASH_CORE_NOTE_NAME - /* * This structure is used to hold the arguments that are used when loading * kernel binaries. diff --git a/include/linux/vmcore_info.h b/include/linux/vmcore_info.h index 1672801fd98c..37e003ae5262 100644 --- a/include/linux/vmcore_info.h +++ b/include/linux/vmcore_info.h @@ -6,7 +6,6 @@ #include #include -#define CRASH_CORE_NOTE_NAME "CORE" #define CRASH_CORE_NOTE_HEAD_BYTES ALIGN(sizeof(struct elf_note), 4) #define CRASH_CORE_NOTE_NAME_BYTES ALIGN(sizeof(NN_PRSTATUS), 4) #define CRASH_CORE_NOTE_DESC_BYTES ALIGN(sizeof(struct elf_prstatus), 4)