From patchwork Wed Jan 15 05:47:58 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Akihiko Odaki X-Patchwork-Id: 104802 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 CF6023854811 for ; Wed, 15 Jan 2025 05:51:26 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CF6023854811 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=DYTJs/Ms X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com [IPv6:2607:f8b0:4864:20::631]) by sourceware.org (Postfix) with ESMTPS id 53CAE385C6F5 for ; Wed, 15 Jan 2025 05:48:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 53CAE385C6F5 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 53CAE385C6F5 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::631 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736920126; cv=none; b=PvGVtusHBI3BOJktMrNw3y8Ixy54CJE3/Jyh6QyD4DPjSHwt24QZlXDmK14YdlHrw7BDdYcW9lzczaKy4Nk3FlwsJb/KJxdRfFEpS3L58G5xz4oSfJrssjkTbEJN/J+quVqsAU28MOnJi7Am0+hMyjrbklM6+cs6fBX3JuziIfY= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736920126; c=relaxed/simple; bh=GlbXCeDYomWSeKDojm9Z/ytHwmxGwy6S9teTclpfWhs=; h=DKIM-Signature:From:Date:Subject:MIME-Version:Message-Id:To; b=NxNQS5X6ADRR4LcAQJ9148qZpeJ/2hln8fRjM40yxoUzN1/b6DtO4BQuofwVwiBOfiiHfy50sd6TQYOFF0+asmBZGzUlqC8FSLJ4Gk0VN9v7zshq3K872yxgpPIdAP0JZxHzmIrzpNubEQXxxkeWDVuoNmKWe96M6mVxvAE/Bi0= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x631.google.com with SMTP id d9443c01a7336-21628b3fe7dso107520325ad.3 for ; Tue, 14 Jan 2025 21:48:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1736920124; x=1737524924; 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=fZpSo6SfUC/c8jq/24P0QMTbOGHfF/+b8e/6Q9KEQLE=; b=DYTJs/MsRarsTRdakKlUEGTPN9FRa6DCYDnl7OQXlHumed2+0tTW2+cCAyF0/bmdbE 9yAU8GoOPp+7CkVNmximF/tBPcEczEXi+TznP3IYlVsikIhGI5G/kAQ6r90LAk1ilGkl 0Q1pAG+A+fcv3ZuWiMKfB6h5DZjtfHGffgRkdXxjBUwkjn7Jk1zdQBH8yw39XqwMrz5h wS0ZfNNhgPBdeu7J+utRVCG4gc6shPa1t6hKhBx4mPq8zG6+G3pBCcR83SwG025z9k20 Yh5jcbYOEwhPWvrOTc3vJQVseQiK9kmcdgYAxh7Mkv3dIe+1lK5nm0MgOkpKLBLD918L zgbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736920124; x=1737524924; 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=fZpSo6SfUC/c8jq/24P0QMTbOGHfF/+b8e/6Q9KEQLE=; b=GNnUBmaFo5iTZyUyEOA/J2igORaTpWzuhjBE/ENcUgS+C4xxlSIRveICkvQZxlf0yU eeW11pT2wy4ydRfO8EeK8Yi0qltto2e7TVtGTlvrOUlyWJmv6ezfeB+qPIfDjhLdo2dx xflWhz8f1ktm4EU2fASVhuKVn7Xwlbw2j0RGYWcv4MLyaFYFlTOMM5Ying9ltI+uyXaM Hw3BfFULjt8Dng0VgFsoNkZUCksfimoG+zkyhssr8LA9tTpKz9oQmWLb051W9NAasK90 KRczPbcf89XsM5BWusjzeO/VSkJxTmxP0CmC2xao/bCz+Xmrtvh2phDDoIKvA1B/p+gy H+jA== X-Forwarded-Encrypted: i=1; AJvYcCVKC5WmDrX8DwV+qo07gcMPluXQ+LCvqFh+DXU0wI7Aax0VvYM3eh6cidN4KGrDIp2JOvPIWh1Iig==@sourceware.org X-Gm-Message-State: AOJu0YwmvSoE0M/OeTUSk7kTrgnUpRVexUPSal67cRn6UzZJImBkkj3W AEDZ4fkrxzgjfyrgNVd+lI97VDiONBIHlUQit5llGe8Q2CaKzyuFPwY3h7V0eo4= X-Gm-Gg: ASbGncvzv0XhyyJVLvT2AK9qoDJsGZ1zvhZcWoZK1GpjFpNnimByUjBlFMzGYFsa2fv Rb6PRLLBfdwn0t2+VvRIkOy09cUW9E5nBhYhKuEMpccdnuV6FfjYdN9OdwC/8EjNje+LwNzWBfT zJGvWQu/9Gteea7nM8Ydu0wNO76IcrC4zcACiuruveVaHHXbAuOLg00/YEXDvpGCWzfrbHyzSjB X1UPZW9VloUnkPZswAqBqWza7zGPfItT5lEFEkGZQxfWqtsAswEKviaCfA= X-Google-Smtp-Source: AGHT+IE9Ko/sfU4l3gRoKIw1VpifRpZPoszZMRitXvYKUHMEVA/Y6+gd5cQmHupnz5hw/xWHCrALGQ== X-Received: by 2002:a17:902:d582:b0:216:69ca:7714 with SMTP id d9443c01a7336-21a83f339damr415380795ad.11.1736920124219; Tue, 14 Jan 2025 21:48:44 -0800 (PST) Received: from localhost ([157.82.203.37]) by smtp.gmail.com with UTF8SMTPSA id d9443c01a7336-21a9f219b7fsm75675195ad.116.2025.01.14.21.48.39 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 14 Jan 2025 21:48:43 -0800 (PST) From: Akihiko Odaki Date: Wed, 15 Jan 2025 14:47:58 +0900 Subject: [PATCH v5 1/6] elf: Define note name macros MIME-Version: 1.0 Message-Id: <20250115-elf-v5-1-0f9e55bbb2fc@daynix.com> References: <20250115-elf-v5-0-0f9e55bbb2fc@daynix.com> In-Reply-To: <20250115-elf-v5-0-0f9e55bbb2fc@daynix.com> To: Eric Biederman , Kees Cook , Catalin Marinas , Mark Brown , Dave Martin , Baoquan He , Vivek Goyal , Dave Young , LEROY Christophe 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 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 to remove their duplicate definitions of note names. Signed-off-by: Akihiko Odaki Acked-by: Baoquan He Reviewed-by: Dave Martin --- include/uapi/linux/elf.h | 89 +++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 84 insertions(+), 5 deletions(-) diff --git a/include/uapi/linux/elf.h b/include/uapi/linux/elf.h index b44069d29cec..592507aa9b3a 100644 --- a/include/uapi/linux/elf.h +++ b/include/uapi/linux/elf.h @@ -368,101 +368,180 @@ typedef struct elf64_shdr { #define ELF_OSABI ELFOSABI_NONE #endif +/* Note definitions: NN_ defines names. NT_ defines types. */ + +#define NN_GNU_PROPERTY_TYPE_0 "GNU" +#define NT_GNU_PROPERTY_TYPE_0 5 + /* * 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" */ -#define NT_GNU_PROPERTY_TYPE_0 5 - /* Note header in a PT_NOTE section */ typedef struct elf32_note { Elf32_Word n_namesz; /* Name size */ From patchwork Wed Jan 15 05:47:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Akihiko Odaki X-Patchwork-Id: 104799 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 DC820385480E for ; Wed, 15 Jan 2025 05:49:22 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-pl1-x633.google.com (mail-pl1-x633.google.com [IPv6:2607:f8b0:4864:20::633]) by sourceware.org (Postfix) with ESMTPS id 51D75385C6FC for ; Wed, 15 Jan 2025 05:48:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 51D75385C6FC 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 51D75385C6FC Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::633 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736920134; cv=none; b=nw763mKC9xmw74kEu0p+PXD4RgPXRB3OqUfjRod2RqtJQsp+htc0xPyqMWf6XVQBXRxy1QTywhAXs14su2qf7pQPawxUfcfahjq38ZT6viZ5fmcdgsqy35ibkF2782bpv3UDdp7aoEW4LnjLU+D7ghA+rxbu1s8uBYlftBF0cag= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736920134; c=relaxed/simple; bh=OznTh8CTSKljoZuFx8Vgv0i+Bhff7ONaPIhGZUma42Y=; h=DKIM-Signature:From:Date:Subject:MIME-Version:Message-Id:To; b=BKpFcbCJXUY3/x3wv3kd0Xm/N4fy/9Qs59RpXCfdTH+ArRng7irfbMGZLI1FKUCWReAaW15fQ0HFtC5adZUYhUA8prEqea2hmNfy5ntHoaqKZhVd6d3BXHW8UCvZPGDgyoC54fQOqhwKkM5tOCqrwpseQWzp8iigrBid7pxLkZY= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 51D75385C6FC 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=J+12h6DH Received: by mail-pl1-x633.google.com with SMTP id d9443c01a7336-21644aca3a0so138934975ad.3 for ; Tue, 14 Jan 2025 21:48:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1736920131; x=1737524931; 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=sHzEFJeIZDo3f5k/3U0rvOC8rXQluzySCipEOCSBJIE=; b=J+12h6DHJMxH/hfkXngG8OX5uqDnruoVYnHdRf3bUWpfhQcaio446m9SAM4lXM1YNs MSufBPSLyxVh5XFKoMKrhp0eGKqqJdxvuzNDDhitxrDdaLdc6PrCZgkzYZthlWWn7d0p zwuGp8k+T7Qwv9Bi1CwTWKuIIEntLpx2mCA8rMzQIq1ARvZTxPe1wwO7tq9lnNovgIPH 8OGbvDqUl1wAQdM7UelFX4vn2UKHJAkOhPPtRIHU+L/UaoELeZXHD0WGNEJUErawzmDg iu2ScEhmxUa9yKIqUvEb166ibRtfFi5T0D8N2jRYim7sHlNDHpOWveTz9apupxO9Yiis KPHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736920131; x=1737524931; 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=sHzEFJeIZDo3f5k/3U0rvOC8rXQluzySCipEOCSBJIE=; b=QS0bRUVLQ0VZrirbqizem4b2N/6oQTTJ59nxWtDuWJ7rJM5wSY2DAjEpyD2Lnb9xFF MuUKI0UIFtmqjcyOjRM0nXxA5Ssz9B/GMoOUz2sxW3d8pSYnTembn9I7ixVEqKCYxpfD 5o+BxzlDrqtxqqyKDdDfLX+0cc3aCus/ipn3kLuOzLRx+w6WAP3e9QwM6fNz8VnRiC0Y OeB0x1JPUvPM9PH5sOOXYh8FoSLOBWYnAZV2Q9GZp7n8uKQrd0IjoYPIpfEtFA42GVZX aXE7DPuEY6PJOl/T5qEzGTjbo+6vEjg4rEGtYgNmxrZFqhXXcsvDJLO25KQagBhaTsYk n3Qw== X-Forwarded-Encrypted: i=1; AJvYcCV3G8Zaprpdc9eTbgeld4WlAMW6OwVwLPyhm+4MwMz+Lzs1j5vzw836VcCfUkXxmkmZTsL8w9AWkg==@sourceware.org X-Gm-Message-State: AOJu0YzQQ4qgAJa+89yVEXrK8a13eB13a9qexs34fxUP80RMul09Ihob eQHn1CCHeYRuJ7bC9eIOpuu+4xk1KdU1AQ+6UyemCc9J/P86DlqMf/wW7teGDLU= X-Gm-Gg: ASbGnctB9wwu9eYp7f7sTsdWZ3Y6oW0F+AN15RKZ8W6G6Ce+YpVG2om7ezCrveDlxuL arCmbYYjHnXG3em8us42PN6TL4eoHyaxc6spXHwU807wL5BPkKRQCLPNRtLIYwIfbyGc6Cwrjgs WTQWO3l7MwKzX1wvglEiYz+4crAP+WDWmfaOBJRdwqeqORv1FFbMvYuEAvNqpqV/0TVNiEEVuYW WZxmSRVkfqppWe8pAy2RQPF5Olf1PRKKuuJePm2Qmll6H1UCTJ03b0eWlQ= X-Google-Smtp-Source: AGHT+IE4WOueDadHkE/pTRlVlFsVpAiJG9FV/RBFhyadWkGkb4TxZaWQPSECPYbRg96If6idldoCOw== X-Received: by 2002:a05:6a00:9a3:b0:725:eacf:cfdb with SMTP id d2e1a72fcca58-72d22033ef6mr42478714b3a.24.1736920131167; Tue, 14 Jan 2025 21:48:51 -0800 (PST) Received: from localhost ([157.82.203.37]) by smtp.gmail.com with UTF8SMTPSA id d2e1a72fcca58-72d8bda6e9asm691573b3a.51.2025.01.14.21.48.46 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 14 Jan 2025 21:48:50 -0800 (PST) From: Akihiko Odaki Date: Wed, 15 Jan 2025 14:47:59 +0900 Subject: [PATCH v5 2/6] binfmt_elf: Use note name macros MIME-Version: 1.0 Message-Id: <20250115-elf-v5-2-0f9e55bbb2fc@daynix.com> References: <20250115-elf-v5-0-0f9e55bbb2fc@daynix.com> In-Reply-To: <20250115-elf-v5-0-0f9e55bbb2fc@daynix.com> To: Eric Biederman , Kees Cook , Catalin Marinas , Mark Brown , Dave Martin , Baoquan He , Vivek Goyal , Dave Young , LEROY Christophe 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 Use note name macros to match with the userspace's expectation. Signed-off-by: Akihiko Odaki Acked-by: Baoquan He Reviewed-by: Dave Martin --- 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 Wed Jan 15 05:48:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Akihiko Odaki X-Patchwork-Id: 104803 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 8EDF53852745 for ; Wed, 15 Jan 2025 05:52:52 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8EDF53852745 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=ryyX7wHy X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com [IPv6:2607:f8b0:4864:20::635]) by sourceware.org (Postfix) with ESMTPS id 48E473854800 for ; Wed, 15 Jan 2025 05:48:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 48E473854800 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 48E473854800 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::635 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736920138; cv=none; b=AQnoaohDQKUVR7+58bQ1JRK5FGdZq+tjhpjuik/dm5QTTgXdTAE0H3S+44QCveO+hBqppVUgme7/AHz8ZEM3o99C4Uru/m6Oh212Pb06pmSx+ADF5Sg+au6XCU0PjLYnSPV/pM0hmQi0rLKY8biuwO3M7pupbkETbhsJdF5v4fs= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736920138; c=relaxed/simple; bh=mz6/8u0zKO7wXg63oIjhA+TZ7CRE2siVZkZdSTOwyCc=; h=DKIM-Signature:From:Date:Subject:MIME-Version:Message-Id:To; b=ZUSEjAbgoGC8sibFNZjqfXsG4S3lOpPIwl30t66n160gbpdzQrGrmu5/zJ70QFZ2B9Vl2Ebv6a/r8KSaiNuMrJQUDIJqTdUh4HuV5XzzsyQS76bLMdzV8mwIhYU6jpyXQHF+yLs5wRQb1aL4JHh7pQ5fioOTGGgS7H9GGgk0Dxk= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-21675fd60feso139168195ad.2 for ; Tue, 14 Jan 2025 21:48:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1736920137; x=1737524937; 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=I4SRmWOkQdk58NJ10wmqwv5TrRHdqCAxdQV3fT7eobo=; b=ryyX7wHyY1pt94Mm2dGW3ujSBQ5E6zObSC48k5fsOEb9lONTdhB/nECPFCIyicrV2+ uE1PmKdPf2PDGQAasbhaUGjlniJWlMP9A4nmyf8ALn3M8xTHcIaWiC4nqH8bZ/cVhXSx uUm8JvIlNfb7J4rA3H+Qg0l5sDEe/OqLKWBMtQ5HLJXnJALaVEvlVqsZSeoPvrnGzvfz nCkdLufDLw39zo8qKNJiAT2cvGe7DSbtC+gteWmaJWCblyg50uhR3jbCzZ0nIgFX7BAV Gr7z4LfRp4J7IDBmdK2DErgMVDNctCENTC2lM7Q7BZwwybYip8s4a+QUxkd0RkL4lbf+ xQuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736920137; x=1737524937; 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=I4SRmWOkQdk58NJ10wmqwv5TrRHdqCAxdQV3fT7eobo=; b=DMy8nPD8ABGk3ZF/5LYo/7gAdJdlQUSZbjWjEdVKImebBxunckq1GSGZNWoKoejMLi OTLUf6hsJYVZHDj7INK0SaivHLkSDnDikocbpDlTW2Fp+gsEaCyhIb2C9NVboeApklLq VmZ8B1ru3brq7fhC6qA60CEot4YBtsBz+7ZsjvyZNFd4CxoUwrYuNpMYNKYj3Koy9XXu Q9n2k+MiY9I6uIxiZBwCM3/bm5aITw9K1CLj7dL7KFflYk/CPIiNpTLOnvue/X1ncK4s 4/bAkqmSiTIZ7Z/2r4waLzmcSzH3FFtR0xMqwsiNMYRbN1T1pQ9/kb1gl5zH2E7tcgFy iPjg== X-Forwarded-Encrypted: i=1; AJvYcCVdnPb2JN+EP5iYJ4TWSFZe+4hCKmwFqT/BSPtkhn/Xn692HQTYDCYE4sQKCLNGGJ8K8q9EON9yhw==@sourceware.org X-Gm-Message-State: AOJu0YxXV++LSEcAZubzEXNGzDkfVAF9g2tYzs9+ZEucblMSrXacBInc lREaFV5YUHXRcxv6ijNoQB8tgVraoOWBIIQ24HcBIKQtqc7pd4HO37ZbuL5s28Y= X-Gm-Gg: ASbGncvmDdUJ3Y68VggKMiUUzzCv1ggKfzMlUPnvg+4iiw80noQYSjxYJ7dLXn6JBoS pSim/HtpzSkczMoMihCebxB6dCZ6kAVZoud90ovwrxWv5WQbs2gJh6ppn+MoLGdEww+8Rq2M/sz ekSqSXm33NFfeasYFhnAaPqWIr3yXt/KnGA37aTUNZTmQ7X685R2lBwFvmZGu03Ke821ItOJ5io YUBy9UWmF8GZZHi3JVDTtYzZ6wM8Nj/gPf9/CV5CFZP3SbM7F2Mpr6jP+M= X-Google-Smtp-Source: AGHT+IELo9CjdL+yrG4BCg5jbLzJxkebkveFvc3aZpHyweclYXLk3OeSuIMKxGoccunx18mtoTdJlQ== X-Received: by 2002:a17:902:f644:b0:216:48f4:4f3d with SMTP id d9443c01a7336-21a83f56bdfmr398040455ad.13.1736920137397; Tue, 14 Jan 2025 21:48:57 -0800 (PST) Received: from localhost ([157.82.203.37]) by smtp.gmail.com with UTF8SMTPSA id d9443c01a7336-21a9f111b82sm75035235ad.35.2025.01.14.21.48.53 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 14 Jan 2025 21:48:57 -0800 (PST) From: Akihiko Odaki Date: Wed, 15 Jan 2025 14:48:00 +0900 Subject: [PATCH v5 3/6] powerpc: Use note name macros MIME-Version: 1.0 Message-Id: <20250115-elf-v5-3-0f9e55bbb2fc@daynix.com> References: <20250115-elf-v5-0-0f9e55bbb2fc@daynix.com> In-Reply-To: <20250115-elf-v5-0-0f9e55bbb2fc@daynix.com> To: Eric Biederman , Kees Cook , Catalin Marinas , Mark Brown , Dave Martin , Baoquan He , Vivek Goyal , Dave Young , LEROY Christophe 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 Use note name macros to match with the userspace's expectation. Signed-off-by: Akihiko Odaki Acked-by: Baoquan He Reviewed-by: Dave Martin --- 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 Wed Jan 15 05:48:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Akihiko Odaki X-Patchwork-Id: 104800 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 2DAC23854817 for ; Wed, 15 Jan 2025 05:49:51 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-pj1-x102a.google.com (mail-pj1-x102a.google.com [IPv6:2607:f8b0:4864:20::102a]) by sourceware.org (Postfix) with ESMTPS id 4E6433854827 for ; Wed, 15 Jan 2025 05:49:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4E6433854827 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 4E6433854827 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::102a ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736920148; cv=none; b=N6A2cwX4gM4KYrZFZ4CSoeXGZ7vYQceTk2lRRkNMQcMMW/7sImgg7gfWaDp402c2OE1kioGqmKGlRYUaEIAPfKSX5Zt8h+2gxL7fqMJNnHAOWozZomUOPCSN8W60UJyCQ7/hxPB4nluE4+/tKUzzIOC9vpT1T/baDGG2Tp5xbEs= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736920148; c=relaxed/simple; bh=Leybf68felJQDMCcU0PIjLxf2dyR5XwKl+2uZ4yvwsU=; h=DKIM-Signature:From:Date:Subject:MIME-Version:Message-Id:To; b=qcFvXCKEee+XIrote8hx7YgssF9Es2EVxcWFCxNuafsFdwf6bOnmDftlOfKRDN6vB411TJq8xgtt/YOhTds0Czo1P6B9aLUnEuvzuayQJ2udQV9seCO/jvOnq8pLgpJpbkSX4uGTiDdCfFX8MHXWFncdbFJ2Jb1Fy2ew5dqvJ2I= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pj1-x102a.google.com with SMTP id 98e67ed59e1d1-2efe25558ddso7916960a91.2 for ; Tue, 14 Jan 2025 21:49:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1736920144; x=1737524944; 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=D7R1Z0m4AmDiEDGrwLKGXNpW3g69MQHysWRaDTZFxP4=; b=2HFXGTYIep4X+1jhiEw0zDgc7dgKMapvnwvpBhS91UaY9ERx4vjcjxb4L/hrfzjdHG jOg3UuA7HfDjYox3AHC2qnesv/EBZt5J5O7tOIY0mLTcVRvYWrK1bxb0vS6GtzkxNAJm W2y3IXLnzcYIGT2xJMudkAXBqAH5ol4MFzZ9JBZQvL/Qn9mSGKui2s88EgMGrbMSR8r4 aXYGDGP5DLR8zKata+a1xWXX3n6IbuQkLykaqQgwt5Fsz9zlTFrvqSUzXvYpjRu3CSmn Hgk5L0V5rZiABcfMtqLiRWaIinFurWgGvviXPpafyCUvqcWukouwDE9g9spU4MnOFKez MnHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736920144; x=1737524944; 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=D7R1Z0m4AmDiEDGrwLKGXNpW3g69MQHysWRaDTZFxP4=; b=uB4QwvhwKVgMi+PWzQ46lnigACauB2onxBfVUkGkfhm2vqL/E+RFF+rTJKsr1ZCAFu V/vOzSZ31RLAE8Rp+b7ripU1e4/1mJbpphjo3kCoQmbd2aTwLufwWP/FLkq0zTV1eppD zT/RaiMuSU2NS7OnVblFVyuM/kd+exe+71j2a0gytVRG5mxeidHBOxPElZeBzFK+vTkr f2O50DokuTR7TufERYbJvICAEzIDDdEsiuwDHheMS7+wZYBOn7Mc6lupUKO5HMbbwhIN 7ojnVuXuYWl5bjSIxGE+I4G3GAv50tjPG90bk7TBi55ylHju0wN9TxFNI3VNTVxTo3Yb TyVg== X-Forwarded-Encrypted: i=1; AJvYcCVZHPsH3Yuk8X/A2wGgkkDM7+pTN11lz4B2s/gput7jR+RK7DFSJzTqkVUxCNxX/8Hm6k7ru7vLUA==@sourceware.org X-Gm-Message-State: AOJu0YzrOCyEGEF23kLsVdYPXYkyH/JM2D7uDumhAyQDkiX1JtWWoLtg cNn1sjoD9gzmjVddRHRfat7FWP11gyec/F9Hkywzlc5S8RZmmFTIwdPZdW5NCM0= X-Gm-Gg: ASbGncuHTVTZmg0Bk8QX4JBnHK+12BhJwjqwAmf7WsBm4BrLqT1rIpQA7/pD+mKzfww KphBU6LSCSk6+PhyV2Zgxf4ZtuNd0XfGfw9AD2N1p5aj6+MaZ/jDmxeAgOfDXmfnhbw3eUN2gEk yEaNRjkPHckE+N3sO0mMUcIxzS1jXDjQ5N90w5Jsarod/NqOKldF0oEV1fFfoZ7kdwueXw+CXlx dmJv3pV0RG/K+CJ+MSsZ3LnilbBRxjN7I7SPhxKvZqiNqhhHcjk37I0o2E= X-Google-Smtp-Source: AGHT+IF72SLq1My1g7dtb+6XlMl4Y+R7t/efbYmDZTCYwSHPEhtpwytSLWotlhp9pmcuYRJ5nSVCuw== X-Received: by 2002:a17:90a:dfcc:b0:2ee:ad18:b30d with SMTP id 98e67ed59e1d1-2f548e98f31mr36439035a91.6.1736920144269; Tue, 14 Jan 2025 21:49:04 -0800 (PST) Received: from localhost ([157.82.203.37]) by smtp.gmail.com with UTF8SMTPSA id 98e67ed59e1d1-2f7085261dcsm1516002a91.0.2025.01.14.21.48.59 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 14 Jan 2025 21:49:03 -0800 (PST) From: Akihiko Odaki Date: Wed, 15 Jan 2025 14:48:01 +0900 Subject: [PATCH v5 4/6] crash: Use note name macros MIME-Version: 1.0 Message-Id: <20250115-elf-v5-4-0f9e55bbb2fc@daynix.com> References: <20250115-elf-v5-0-0f9e55bbb2fc@daynix.com> In-Reply-To: <20250115-elf-v5-0-0f9e55bbb2fc@daynix.com> To: Eric Biederman , Kees Cook , Catalin Marinas , Mark Brown , Dave Martin , Baoquan He , Vivek Goyal , Dave Young , LEROY Christophe 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 Use note name macros to match with the userspace's expectation. Signed-off-by: Akihiko Odaki Acked-by: Baoquan He Reviewed-by: Dave Martin --- 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 Wed Jan 15 05:48:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Akihiko Odaki X-Patchwork-Id: 104801 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 2D9FA3854805 for ; Wed, 15 Jan 2025 05:50:37 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com [IPv6:2607:f8b0:4864:20::635]) by sourceware.org (Postfix) with ESMTPS id 4F2283854837 for ; Wed, 15 Jan 2025 05:49:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4F2283854837 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 4F2283854837 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::635 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736920166; cv=none; b=F7D1+ucnNT2UeMOZOXNUz//P8lWn4MOUbNyuE9YO9x5tjoSg7CZbdwumppqLsae9925zO+pnbjX5Ghkvvt6Kndqd5dYLgtxEXH1p7atoylVC+Pzku9fIdL9UQOBVtkG7G/SxrzTzk14eY4y//lShx9JBJCCc4JVEdgr0fsbztV8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736920166; c=relaxed/simple; bh=JF3FfcrCfNzsuJEQqs2GHPMkdzmPYzsry0avRsoHtk4=; h=DKIM-Signature:From:Date:Subject:MIME-Version:Message-Id:To; b=NJshYFCZtn6IABSFb0DkUUJ40apnnKILM1MykayU531fWPcPfFtBCJxYrqZ5k9C7T++cSE8lmCUW2y3b9SgKtWFqtmkGS2UpbZ23wBHsGvZqPJlB63A0h2QMoRTCsF5gN5uPK8lGbj1adUAsiA01ww7SfP0GLuCEnr5FjaYSpM0= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4F2283854837 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=C/2OCWZH Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-21636268e43so148571255ad.2 for ; Tue, 14 Jan 2025 21:49:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1736920151; x=1737524951; 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=gqxfn2Bh8pqSgpWAhYuCaH8o2BUeXgVOaRACTrcmMAY=; b=C/2OCWZHacNgz2/EzQwvh8444j0ultGL0hbo4fXJ2sUENFatPfIDohlu6DaFwWTBfo 7GE1rSVHVlWyiHqfgL1gThBghAeqMKQAyBNM+PJjF1UW+1jGeKZjdD3fZlwhRipRNu1m Fi83mzwaSHfVnWtwxQW7cWXDHQC3xXT5S4zAeY1F9LLyvG4xXLWAjgAV9/YEzOgouxjn 7eynvw+6MUIvXj2s8Zrx7A/cAqIVcyhK7mrzusF/x8WK/K+XpHIKQ3151CbYdsLsm4uj 5DiVKDM/yHLqIzY+EN+Jwe/gRXcivUZTQ+OeD5oQGhep7fF/zSAPN8h8OJ5OPKHNmAXi Gjhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736920151; x=1737524951; 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=gqxfn2Bh8pqSgpWAhYuCaH8o2BUeXgVOaRACTrcmMAY=; b=EgKSRsxr+C/FBcAIjJRsl9Gxln42LmUoWunGIFLdomO5G5TsNqNRd7ZDLdWieUD3v7 CI2kVDGLeuFn+KLeVWQ8obTnEWkaEGbLfIV0uow4PiUyvlqzDfwigsV6L1uHA6aFypzS iljCv+mUkVYVKG0oxS7p1UnHcUr9TvaOV5/YlwtbdL6Kj5fBTw//DPccaNns7UdqldvR VwTM6ZoxTJ8B1V9RgPPPV1pgPZ1DfqE38bXvFWmrd9ubsKQYX2lW02adtTDYicdzQBtC 4AVZcTlsDeAHLdJR6N+3L+OlsJGMABRN4qMGw2/HXJiD70G1B2BaF3NAxfiwqf6+ZFgJ EG1Q== X-Forwarded-Encrypted: i=1; AJvYcCXElw0NsOUuHlX1Pe88j9Kkm7VQTzYZ4WIpcI86OadjB0Xcidah9cDdj5ZBYQrIfUZYnGtSYgbIjQ==@sourceware.org X-Gm-Message-State: AOJu0YxmYPo8LYxEfVAVdICTU+EhPkZMP6U24pneJrOj4Z3XDRcep1yC OBbL6ENCIMtjDOhY3oj7VYx/YS3r84t7SE6McO9s8Y6dW/GsBDct5RaFmJ9UIYw= X-Gm-Gg: ASbGncubP9Q/1l0/M+k9DQEo7xcdMTnIRfJ12Pp46MMLAJQId6oFIm4z+PIxfxDlEqD v1u1AFc9BMq57PZzQdJj/I8C1YjKgsk37LK8BbZ5E7YJKfAx7nYFrE4zsJVDy3kuYQeX9fwMgrb cAF75sM8ZEuY/qK8JieKYdTizAh35jfcsrD7pFTCq9lVmof74CKx+HEQvAlzbEwZyW5cU59oEK+ 4OVV1nPq6GgHCby3FYR4YPrzzfOTfgCfUlub6FhPjidL8ysLY0F8uTzLVc= X-Google-Smtp-Source: AGHT+IGEE8Fm6k+e43goXL9XR3kNG0Qk7QvIMeGK5viYe25EF4qO0xqHuY9x+AzGWdKmvE+R7dTOXQ== X-Received: by 2002:a05:6a21:1087:b0:1e1:b727:181a with SMTP id adf61e73a8af0-1e88cfd3cb1mr47297876637.24.1736920150754; Tue, 14 Jan 2025 21:49:10 -0800 (PST) Received: from localhost ([157.82.203.37]) by smtp.gmail.com with UTF8SMTPSA id d2e1a72fcca58-72d406a94b8sm8295174b3a.167.2025.01.14.21.49.06 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 14 Jan 2025 21:49:10 -0800 (PST) From: Akihiko Odaki Date: Wed, 15 Jan 2025 14:48:02 +0900 Subject: [PATCH v5 5/6] s390/crash: Use note name macros MIME-Version: 1.0 Message-Id: <20250115-elf-v5-5-0f9e55bbb2fc@daynix.com> References: <20250115-elf-v5-0-0f9e55bbb2fc@daynix.com> In-Reply-To: <20250115-elf-v5-0-0f9e55bbb2fc@daynix.com> To: Eric Biederman , Kees Cook , Catalin Marinas , Mark Brown , Dave Martin , Baoquan He , Vivek Goyal , Dave Young , LEROY Christophe 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 , Heiko Carstens 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 Use note name macros to match with the userspace's expectation. Signed-off-by: Akihiko Odaki Acked-by: Heiko Carstens Reviewed-by: Dave Martin --- 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..022f4f198edf 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 Wed Jan 15 05:48:03 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Akihiko Odaki X-Patchwork-Id: 104804 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 E0ABB385140C for ; Wed, 15 Jan 2025 05:54:34 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E0ABB385140C 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=23C2jEhJ X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-pl1-x62c.google.com (mail-pl1-x62c.google.com [IPv6:2607:f8b0:4864:20::62c]) by sourceware.org (Postfix) with ESMTPS id 4B567385DC01 for ; Wed, 15 Jan 2025 05:49:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4B567385DC01 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 4B567385DC01 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::62c ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736920169; cv=none; b=nyeZGaUGXTOguGKMD9+4WniXVqt3uO+Z33sCLjZXqXka6O46/Rov6EWIMjNH5Fzl3Q1E+84IO9ssgYiObyUNxw0jwMx9Ip6qXus92W99fIyj1aqZBwGHaDDXcHZMqR7I19mqBJIC+RdFNcnlrEhSB/m3bTgwiwk7ZB+bRSyIXpo= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736920169; c=relaxed/simple; bh=dKp+neVs5VrK9cir+kWUKvbt+PUYfPNBvEjaFi25JA0=; h=DKIM-Signature:From:Date:Subject:MIME-Version:Message-Id:To; b=b15/79P9I753lOY0ci6xcoO9RpYF4+SN/fSDfp7rwymN/3sUHMt+mQ2a+KZvgFv0gG80bvmFRuOwKZWE3Y08UdZdVU9Dr2dyZXH/faq0fUB3Ie5sdeJNyevLi5X/xuWGOKv5+p2i+zOWbc53rxTWcigvATp3cQOmaErA8O55vqQ= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-21670dce0a7so137018985ad.1 for ; Tue, 14 Jan 2025 21:49:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1736920157; x=1737524957; 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=88SqYtXaTV08jsATT/J9IavghVGb0T0MbX3fafAbdCI=; b=23C2jEhJCjPJFW8/LLz5r6ypm5O0T6+dp1e+M1xs5R1OUEBXCKTh4f4Es46/1AgRsg jZ+QudnMXt9l3US8L0AKYmbQGRB0LU13JGRoOOn2Ha7ElOIlGq2J4By55vgKZTVm1YZl ZTx31zJHmjIHj/Z8WcxnHDdhtW3U8vMh2hB18UwXz7JbU5P1kKlOGzsMc/YLAqQvszz6 kKf5bQgdMD4QsTn3OjVu5O+rj7IFKv/qwXu9MPW1kEPQkQ1CJgIaqPsY2ITXUhdRGTZF qZb+uIM8bDGhvBF+mQ1mDt01Mpvmer5PMECEVdGcIQDz9cpV6l3BDbW4DW1Knahw60r3 xHRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736920157; x=1737524957; 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=88SqYtXaTV08jsATT/J9IavghVGb0T0MbX3fafAbdCI=; b=EKVEE7IbPp8WRnZodiI+TuoPAb7p99K/xqmCfTBqwbl4zuAMB8oUSitV4w52NyDkwk 7ZsujEACx35wDhJznJoW2HA8aXd/K5Fmqaq8JQ+uOPYMQHjGrSGihZiZ4GJr3q1vHlcC lX74eDkHSh2Np/QAbPVRWyDW23FY0dYtNRst5KKKK7lM8I5Oa7qPPkgb47McixPcPDRo ivS/99ZHaAXV1lEyWirdqJ4alsHuw+6GQQYh1LIaJzgdCdEgDDL/UXznvo5y3YG/kx3V xZsZ2Pe54rTY6FejztDWZDcRNwCj6j+kl0HbaR84Z34whEgidGiBZn1E7GWEqacDMsn4 jxvg== X-Forwarded-Encrypted: i=1; AJvYcCXmlE1EJV06yuXWps/ULoYyrMPvPf49rEURuDjLYf8DwoPWPH8FzwUJfeHWZyqbD7k2o1d5PQ9LSA==@sourceware.org X-Gm-Message-State: AOJu0YwO3WanDjJCR5NtRn2traey5aYmETjA4XSQQjBQ66OMYW8yPbhe ra1j+9JIXmH4ORbpOFax9Rw/hauyGLT3KjztMO4M0n5JwRgXpERneZiudl5ZJ6w= X-Gm-Gg: ASbGncvmUVdN2mRwbmT/dlkwmdbVQ0mEmqwmFJYM2e+oV0RLSd7lbAnyU06agssTDzV EjObDQZZlrgHgB0Q+G4wyDxPSruDl8/kyKhP+MijPwfte2hVkA+n/T5bA0DOZJq/hO+MgQXJTEQ mq/KvcT52TSS5kkiYhxOQ6tqk7UNICUYI2iyACy3lOA1r0VWKIHZ+wljGyaLbOk+nVMwqemv2wS /4gDBEPFmEz230IP2jdF2+4fCm9IpLD8tgigBLW7P3j1A8FAz24CPe8QTU= X-Google-Smtp-Source: AGHT+IE7CP/5jGWZAR0IrIqQIqvoQb7g5wi9hxFsU0CFVXu0dR68h2h3F8IAezzLwnE0Rlv/Ybh8/Q== X-Received: by 2002:a17:902:d48a:b0:216:4064:53ad with SMTP id d9443c01a7336-21a840109d2mr433462125ad.48.1736920157113; Tue, 14 Jan 2025 21:49:17 -0800 (PST) Received: from localhost ([157.82.203.37]) by smtp.gmail.com with UTF8SMTPSA id d9443c01a7336-21a9f22e591sm76124125ad.180.2025.01.14.21.49.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 14 Jan 2025 21:49:16 -0800 (PST) From: Akihiko Odaki Date: Wed, 15 Jan 2025 14:48:03 +0900 Subject: [PATCH v5 6/6] crash: Remove KEXEC_CORE_NOTE_NAME MIME-Version: 1.0 Message-Id: <20250115-elf-v5-6-0f9e55bbb2fc@daynix.com> References: <20250115-elf-v5-0-0f9e55bbb2fc@daynix.com> In-Reply-To: <20250115-elf-v5-0-0f9e55bbb2fc@daynix.com> To: Eric Biederman , Kees Cook , Catalin Marinas , Mark Brown , Dave Martin , Baoquan He , Vivek Goyal , Dave Young , LEROY Christophe 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 Reviewed-by: Dave Martin --- 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)