From patchwork Sat Jan 11 05:48:44 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Akihiko Odaki X-Patchwork-Id: 104563 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 6CC1F3857BB0 for ; Sat, 11 Jan 2025 05:51:26 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6CC1F3857BB0 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=bJ6C/WbD 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 3BC9B3858031 for ; Sat, 11 Jan 2025 05:49:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3BC9B3858031 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 3BC9B3858031 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=1736574542; cv=none; b=HVxnnxx1VbdO+GggWMl7kBqeSF3eabS2msH/RaPZ/4oO+ujhsqL+vPNNefB9K24cUwXlMjDw1JEy4h77m3u/h5OejpZMsUmqYa3W6VMMCkIj2vlBfr3O5/m/fRvwkwtbhvJKHM7/spsj3ySKl/I4ChvbEoIz7U9IVB7/sNnN/DE= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736574542; c=relaxed/simple; bh=fAhUoOeYK9fr2EpiTrdYpYKT9gvRJnt1fjb0VAfqM9o=; h=DKIM-Signature:From:Date:Subject:MIME-Version:Message-Id:To; b=MyjIxZl5EOjsO7MtawrWfyUwHOoaWQap4vUA0/A/HP3h3rMA2mJDJp0xbL3pZ/wiTJ27w7F3b6pH8+4jryKcrr7LZ1qJwSnQ7bftOoWu+/7B2tUBwRktSdatcO5Pw9vcpyo18zohKQ+9YjZAkDpjXo+Km1l4/dxn1vZBr6j1oJs= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3BC9B3858031 Received: by mail-pl1-x631.google.com with SMTP id d9443c01a7336-215770613dbso34106235ad.2 for ; Fri, 10 Jan 2025 21:49:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1736574541; x=1737179341; 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=bJ6C/WbDLegO3wpaU4mxvGdOvP6UGmE9D3Yy/06gSS1iyRHg5tCT+HEvv7Y120fcPE xQ10t5ETX9LJDQIyUrHyocnnkTwAGVuY9/EGBjgxbHv1HL6b1FaCQI3qtKH+16KmxG9E axW0+vyw0ukjXIXzjqjd/J4fbhmUWm4k56ajj181Q0MHUyh6TOlTiTrppSA3w5/EvOv0 6W3a85U4jABFusJQiaDGWcFFrN173tdO8Bv8QFoW2Nof4fd4U0BRM/VnpXdvq03nvOqs MBYl7MiKmwiftOB5cwPMQD0mouJ1IxTc/XWmdV9VnQRqdGpJp9o52iGRlonc55XHVlOZ VX5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736574541; x=1737179341; 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=eEsOUnCtUBLq0XTmbZV5oj9DraN7BNojh5avAtVk+0TiNkRjVDMCrERqOUbKXJ61ka PtEhs0pzOYI9bZqgyuUwdyU3P9+GYHtParrRAhoRVrGV/9C+GWn2SmPkFURoZ4K209Y9 tqwo627pMOg4VV83JvJxUbNtIn5ZDy8Yc/Oyn1GrqtHlx0h8rhZ46wb3DVqR21t194uo e4gEvF3p+2/J4pDrmU/K9in2DwJYDLtEhUhB0rr/oAoY2GYkvnejCaHaPHexl3LOONum ThqLVx1aWjgmU1fAwY6vuGD0cjaFZNvRkpZ/35EaOM4K8vl9CUddc485ljgRRXtiyJ9U 48sg== X-Forwarded-Encrypted: i=1; AJvYcCULVzj6PQpdiP/uqE+7m+aP/mv0jqvLX5dI5qXgHUOD3T7mempRGVJ4IEy2alKMh7+c+gerO4UVTw==@sourceware.org X-Gm-Message-State: AOJu0Yx5s2nwVJJtx2od5lA1nlXyUSNnV2TxyHW+zzCAjfFNLh918VZC gmwSn3FlKJgPyVWeUBBdSj5105SGQWbwb1uuqgoWMHzAj8nJdCW6XAlRFKUKe+s= X-Gm-Gg: ASbGncu2HjCreJRz1dlcmGhEwogbHoK3HIfDqlVVC+5FpaCkkJ5da4TUOQRWH7Z3cJx CZtjivzFmqKLk2Pgy2UKVZrG6YYf48UFpiTHMTf8Aujg+XHDvYnq6wFdwRsOBrmPYiaqUqEId42 joFjgbmWAlyBFiJIUADIQWT3ZMMhDwgHFi0QXMSS9XbZEvpuWYt4Te8NXBRrPJgMDqcMjZ3GA6m dZFc5yYeV7XEEOjpFSvpd/zJE4K2DaHadKowhyLRb6mp+zJxgENtgYThGU= X-Google-Smtp-Source: AGHT+IHcpmdtla8m811pOhOWUKKg3mt5D2YgMgKQAi/FtxQToiO3ZEw9yK9yhc6mlxAM0lTabpo8Kw== X-Received: by 2002:a05:6a00:cd6:b0:729:9f1:69bc with SMTP id d2e1a72fcca58-72d21f45b2fmr19552247b3a.12.1736574541182; Fri, 10 Jan 2025 21:49:01 -0800 (PST) Received: from localhost ([157.82.203.37]) by smtp.gmail.com with UTF8SMTPSA id d2e1a72fcca58-72d405489e2sm2380384b3a.32.2025.01.10.21.48.56 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 10 Jan 2025 21:49:00 -0800 (PST) From: Akihiko Odaki Date: Sat, 11 Jan 2025 14:48:44 +0900 Subject: [PATCH v4 1/6] elf: Define note name macros MIME-Version: 1.0 Message-Id: <20250111-elf-v4-1-b3841fa0dcd9@daynix.com> References: <20250111-elf-v4-0-b3841fa0dcd9@daynix.com> In-Reply-To: <20250111-elf-v4-0-b3841fa0dcd9@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. Signed-off-by: Akihiko Odaki Acked-by: Baoquan He Reviewed-by: Dave Martin --- 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 Sat Jan 11 05:48:45 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Akihiko Odaki X-Patchwork-Id: 104567 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 AADAE385481D for ; Sat, 11 Jan 2025 05:56:09 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org AADAE385481D 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=O6PaHWZX X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com [IPv6:2607:f8b0:4864:20::62f]) by sourceware.org (Postfix) with ESMTPS id 8583A385828B for ; Sat, 11 Jan 2025 05:49:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8583A385828B 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 8583A385828B Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::62f ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736574549; cv=none; b=m8SZyqi5m0bBiYGGOsciXm3o9wmK+OUbZlG0UdDOpA8dXSYUB49E2JwVfbJXuCPyHiiFlHxfw2E8V2oxVvIoz1rCsoXHTyV82OiJOTLseRHQjcfPoD6wW8NihmfBNHvLYR+uIXpPU3Pe3n9jiZ1CsRfuW4yr3eDtoVe+uZAtMZY= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736574549; c=relaxed/simple; bh=nHxDNiGj0kP+OrAR/r8E7Aht5XhcJNfHXGmXX9sgsJw=; h=DKIM-Signature:From:Date:Subject:MIME-Version:Message-Id:To; b=hgOBgL/+g5lN3E1gfao3OvtnvZR161LIsHhMdl5w/aQvEwi1rdaTX3eJe1DeOOxTFjL75pRX3Hsif+TTu9zHEiHnh0+a/sPCfIh52Hnbsjy5ccUuFtg3YMxUjrejr1JjvCyH2Z1WP3NZlb+7wQY7GNhQAjLTZd6Yk3AP2RygX2A= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8583A385828B Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-21654fdd5daso45194655ad.1 for ; Fri, 10 Jan 2025 21:49:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1736574548; x=1737179348; 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=O6PaHWZXBRGiKBD3oPFIjKLmQ6En2tysNF9Na3u15kzI8zXZekvgd0Y/NPQLAzuRfC 2k6r98vmKHWgcRw2CrjBH7Zaaf7XFLAgklverW5ndTcvx4Gs8v+ACCx0f/SSMOxCDtX+ v4HIcxm8A6eKes/upnZVjRvfAwh33RptLpf8ueswZyde/ibvUWlkpdqbCgt+il+/hLUK lDskmkrKW03hiWHomGM0dEaAXW2FDmWWGhNBSpbT4KG9+1/kyk2PBXLikvXR1r3Bsm1M 6DCEo/xU+DSVwED1px9bfM9hdapbQDOh4j2a8XiMmKWsrTjRpKPA7IAZdkNsq9hpN05D an6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736574548; x=1737179348; 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=wRtTbJDglRkfRHSXk0vxxi+K3x+rF7PLUkW0Yqi02BEDvP0gGjNVPqJ6e8lerGgk+v +ebC4ovUv1b6gufqC2a8NEHFBELr0PmJe0bN+tn+wCVrekoCsMCo2n2jT4TE18U6YxZi JZ7yi6jdeOFs8AUkyQFIotGPxcFEA50xO4GMQgVUAZzJd9PZb/C/DlH/XoTeuhOUwQ7E b9VtQXpotUytDIaBv1DupMupDYI67qTf5Dq/mp1bC+cmYdCjaTCpP/kNpsW6OUsqfBBe XG8wuaunudX6LNWc6SVtcZVMw6P10ts2Nf4H7pQveFSbSa/dpmpjifthva+BSKZzKMTt kxRQ== X-Forwarded-Encrypted: i=1; AJvYcCUPhmwl0J6fVxZkjT/ov7N02sZG8piFtMnEdXgRgeOCrzjgqNGvEAnsJmHCeqBGaIgr7CMWhK4o4A==@sourceware.org X-Gm-Message-State: AOJu0YyiTewDBzNsWQO/ExN8Gu52Mk6AD1cePyTR04Esgc0eT/wvQfB0 m1enweMDgReUC0htHKHWDSTvlOrKqyyGDiJs6G+JIuu3DH4egCamq7vAtM4B31I= X-Gm-Gg: ASbGncspfewXG+anQN4jPWw1xqMIcJ/ErFOyu5opUQdEI6flsObPhZKT2WPq6qzYy2D 4GEJ7oJ1qijW/yMnPJ/+OfuZPQzjJs959suKgDlpaWeyqlp1Zjube3OqVDMIROO1bF4+cLzBObT SdWLoNPCc2rxjbfk4R+2shWaxxq7002e8mlNUpn9jRMmny1m/EnixD+DZngvoFz5c8U5dddVZVc Wy08JuL0L2JwbGlLzsCgrpMeL3OPp7tltbnGATzKQveMmLARNEBadxUnkY= X-Google-Smtp-Source: AGHT+IHn65rwbd4gKdhst/GRdULarDOSLx1cuK1RthFbVp937QpJuhXkw/qwAunKCMjt+dsCYzpTGw== X-Received: by 2002:a17:902:ecc7:b0:216:760c:3879 with SMTP id d9443c01a7336-21a83fdf2d0mr185892965ad.46.1736574548582; Fri, 10 Jan 2025 21:49:08 -0800 (PST) Received: from localhost ([157.82.203.37]) by smtp.gmail.com with UTF8SMTPSA id d9443c01a7336-21a9f22d293sm21144365ad.185.2025.01.10.21.49.04 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 10 Jan 2025 21:49:08 -0800 (PST) From: Akihiko Odaki Date: Sat, 11 Jan 2025 14:48:45 +0900 Subject: [PATCH v4 2/6] binfmt_elf: Use note name macros MIME-Version: 1.0 Message-Id: <20250111-elf-v4-2-b3841fa0dcd9@daynix.com> References: <20250111-elf-v4-0-b3841fa0dcd9@daynix.com> In-Reply-To: <20250111-elf-v4-0-b3841fa0dcd9@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 Sat Jan 11 05:48:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Akihiko Odaki X-Patchwork-Id: 104566 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 D307F3854828 for ; Sat, 11 Jan 2025 05:56:05 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D307F3854828 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=WQ5Qd0eF X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com [IPv6:2607:f8b0:4864:20::62f]) by sourceware.org (Postfix) with ESMTPS id E59203858401 for ; Sat, 11 Jan 2025 05:49:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E59203858401 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 E59203858401 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::62f ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736574557; cv=none; b=CYwWvhxvS8NaUDJM+mSqI9mR8jtj51CaTNNNeVJnMkehZTETOOC5e9N9G7r1/v47fr9omJealKxjnlgyosRnvVVz8waaVqf8l3MQAelYSNoU2zxuGyma043F2/WruKBjMpMqs7Fwc6BHmhk8Mcxe65MDgNVAlN6GnHJdW3W/4TM= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736574557; c=relaxed/simple; bh=+dyGO7LzstjjCAGXXiQqnw5sSHzhUQEkL0tM4qAP1Fs=; h=DKIM-Signature:From:Date:Subject:MIME-Version:Message-Id:To; b=KPbu1sfrqspW/qPRAZXTKs8oHid2vO6etd+493N19ugmrI3JZKYlzFbGwKa0xMwoQKY+V50OhCrcvJHeYW+yXGmSVi0pbRerxBWdjnmecIhT1GpfeCRNEeA+Vbj7iEccg0yOqWl0YuJ9VaBjM21hUTToZH7X5TxfGT33NASZLUA= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E59203858401 Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-21631789fcdso49859145ad.1 for ; Fri, 10 Jan 2025 21:49:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1736574556; x=1737179356; 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=WQ5Qd0eFRG/c6M5Vazbf6U0KWow2HdkeMIS3Fws/wbq64P6GWAB6fi5A0gKP3rF60N rG7M0e/UZbm7CFPxBNTqYNtJtcn46vQcGXChm9w4RB6usQvsHTOlf9sukZ6lzuYOPO3g e//3toCTZsn6vm+hMzZ6MGZsWP0RS+MHvBsbCPjVTbv/UsI6fHKshE6GNmbv6GfPoYhx Px4FD20iSDwjjIUHHcQ9F9sp8quQIKqTyiJsNsAEIkCDOPA3HJeQKzQHrJHEMT6kORyG 8ydgCKqbGbb1g+dLQ67E5jLh6op5mP4C69PKj/egp9/rRl+gGo0ISuyYCICFE8IcTp5G iLKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736574556; x=1737179356; 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=iWvBfWFTtf7YY449XxLtFnwfpX2pacAuldKazq+5i4H1F+KkM6CMrSOT/u1yf+8C3V 1VB6dRL4V8MC7KnnMTzAIGzCdrr7il3ZYVtWy9oe6bQBRffA2sfoMaicyckuY0SHR9nd fkuovU+rIXAd0JhgzSHWZHD+vwdtLkv3om/pVf7eaUP6g1LKjdYXtAKBUVZ3VqFEKZ2a 9t0BLsHoyHC5ZfMZtoSXJGnpYYTaR03taszEJiQNaOnx6zFuxoHX1yVip0iiajZgRJ3w qDU6wK9PE57NmAtCdSrgRPkhTR1y443U2BHhL1gWVJLNZdo7/33MMSPypactVio1xk5y 90WA== X-Forwarded-Encrypted: i=1; AJvYcCWkBuQk5Gi2kL6gBCcdMaYoVD826eXJf2w6DMp6fW4Ie35hTOHEPUdCZgT68o5pg+u+W5P+ho+Bqw==@sourceware.org X-Gm-Message-State: AOJu0YwQUKOl/imhTTvLrBQOHD576oLBIzFvBiTBBevoJKG5s/Pgw7U0 3e9j57cVNmGEidTwespgOPo2h0P9t+I1yQDTpxtXb79PN5/FinY08DP7+pCtjDQ= X-Gm-Gg: ASbGncuw5OLKERBtbXULUl5buDYlsxf8DW38W/sDt1n/gHtEuZ6HV7N7+b9N/sfVniM Yjp6xX5nZE/Ezxl6U1DLEKvvD5LQwi5vG5/bRh64uoWvG0Ru4P11521CjVaX1f+rGLhTscVxSBG +MWsJ+cfn9ru3UQ/zLKBsEGdcXvKRJnN31b5Bn+lE4ZSVtMEKA5JXZktJmilXtcUoDp6ISDfL6w Aw73BvQIR+bb7hFr25L8GJZwGg5CmMYRV7HZlPcEgIdUzWjmi4ymFl2Bsc= X-Google-Smtp-Source: AGHT+IGYDl29OCGY4z1owZDP0XWbhTx09xSMaaJapB97QNqOQhHfEZ2TmztXqViOu57Hf/bAEePhOw== X-Received: by 2002:a05:6a20:841d:b0:1d8:d5c0:ad74 with SMTP id adf61e73a8af0-1e89c89888cmr15576349637.1.1736574556053; Fri, 10 Jan 2025 21:49:16 -0800 (PST) Received: from localhost ([157.82.203.37]) by smtp.gmail.com with UTF8SMTPSA id 41be03b00d2f7-a31de806694sm3683573a12.69.2025.01.10.21.49.11 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 10 Jan 2025 21:49:15 -0800 (PST) From: Akihiko Odaki Date: Sat, 11 Jan 2025 14:48:46 +0900 Subject: [PATCH v4 3/6] powerpc: Use note name macros MIME-Version: 1.0 Message-Id: <20250111-elf-v4-3-b3841fa0dcd9@daynix.com> References: <20250111-elf-v4-0-b3841fa0dcd9@daynix.com> In-Reply-To: <20250111-elf-v4-0-b3841fa0dcd9@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. Acked-by: Baoquan He Signed-off-by: Akihiko Odaki 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 Sat Jan 11 05:48:47 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Akihiko Odaki X-Patchwork-Id: 104564 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 E1C6E385781A for ; Sat, 11 Jan 2025 05:51:39 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E1C6E385781A 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=nRgWmpfN X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-pl1-x630.google.com (mail-pl1-x630.google.com [IPv6:2607:f8b0:4864:20::630]) by sourceware.org (Postfix) with ESMTPS id 7076B385843B for ; Sat, 11 Jan 2025 05:49:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7076B385843B 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 7076B385843B Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::630 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736574564; cv=none; b=Pf8RNc1BKCCyo54TGfgM8o57tqNyk9irN/q1Jq5ukXpayEjM9HDfCamF1SHjRXSyXsXgsFZYTppF4wbdClVa/8aVuwYTTV+RethNpA4jkw2fXpfz2aE81K0mpSizWSYrTOSPDImzINgMMYhlhNhMr3+rGyceg6G9cyVo2vK4q04= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736574564; c=relaxed/simple; bh=N4IhUv6S3uRsh7HsLEUL+nZigf4kpss6dQVVVdHm5r4=; h=DKIM-Signature:From:Date:Subject:MIME-Version:Message-Id:To; b=ZkzYgA96BXhVcoGKnt6Bwp9hX3uPQCin8gQ7GsWq1HeDVZwfkjuN6bt6r6u8uCRNZ8RsYHyieyEwJLDnvh/6Kay59xHZFgOWlZpqyUkDla1pq6osJR5zVMImOz++dXvgqxxGdanxD0A5uh+RI6CCmgzj2YJwGt2XBFb+PSNmkGg= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7076B385843B Received: by mail-pl1-x630.google.com with SMTP id d9443c01a7336-2164b1f05caso47690125ad.3 for ; Fri, 10 Jan 2025 21:49:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1736574563; x=1737179363; 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=nRgWmpfN1nk9QqdQl77aXjWYTgHfQ368BRkTjWmpaC2JnKUbj6pGLBoRSywq6AX6QL C7kqDLZFNuFtH3AwJj7kPHHp8LlF53cD9iGU/jGNAUPEgK9Vr0ChozWrWQQAnYtUHpN5 BjA6/+wwtwXFAfkzxhQ8KhlnArVc4Cp9ne2aV4VQoRw2hI4BgWPn+bqwwMcAuRohdpi4 g0hVW4iCG4A8VJE/kfiOIX7qgk+d6N5Paa1ux8uEOOuwg33gW+iVQrM9rr6i6PDRbVcN 6qeKZlBcL1zh5HSZ1pkcCInWyjJjESll35bJKlMTKAx4uJvfHo0lMOA0UiqVzOC1fpyl 0m7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736574563; x=1737179363; 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=D+fpenYJ3l4FKNwI6NM1yZg2c+LXua0a/ziTqyX7GKvfyFrogTiEyo2eU+1GLF4QiS lPr8ZcdSxU+jYfsXR/GQkjFf+COD5/rqvly9/jPsuNI5dVeH6Fg45AI4DJlmuMVD1S2W 4FBn280Y442TaSrwbA7RSi1GhUh0yvJqU6EoZYYRwbRmcMKah+PnietTLaa+4fcOZeRD /mB4ic0RtY2BJBJEfj9cerIizts7/snv83kEIeHfQuR6p+g74NWY9ENLM17GECYEupHb cwMPcnnvC4ira0+NqRQiq85RaeAWP8skxIod/qTfensYyvs3p0jY+fuHr5CRXIh9h4QN 6ftg== X-Forwarded-Encrypted: i=1; AJvYcCXbdq1Ck5rCAOy4iWAqixmXF6Rq2fK3Iyli9ENrXurP6Q/rL1FBnzqR1NTsfMO4jdYJY1joUqhElQ==@sourceware.org X-Gm-Message-State: AOJu0YzBbxWY2JSGTqtAmXVy6FA7AHFxHflraHX27hMquZ8uNOxDn7cz 9bYX5i22zaU9xgUpuD/fr4R+lHgngVIPzfRbFw32KoZfKqsdY5dU3NbB+VPqWow= X-Gm-Gg: ASbGncvVawp4/5tBil/ZM/H596kJ59H1nh4rAI78s4byMMKwDCuCokVuVL72xQhM377 XXZJRBlsVWNcc3kz6MMMBCXDnNrUpb6rMb6GtrvV0dIUj6o02g9pOjrQDIPfGBOu0lKWhHXfUYS v2relJYK9rQXs88AeBX3UK3EYwMLeCZ06N6V+Hr3OpLYm9qjZUr47PqI+mIJiG2IMX0AhgZNaPx nf0f8mlJlSqn5lo5NfQpGA9H3Mr6dwWz/8AZRpQllejbrsIsM284pvl1E8= X-Google-Smtp-Source: AGHT+IEOaK6BOPAe/MUGiXyl+EyGiYmhbaq4qeXiFxMDU90Px7X9OtnxNRV5Ifu8FHX6K2PPpo86xQ== X-Received: by 2002:a17:902:d4cf:b0:216:3466:7414 with SMTP id d9443c01a7336-21a83fcaafdmr208931985ad.44.1736574563492; Fri, 10 Jan 2025 21:49:23 -0800 (PST) Received: from localhost ([157.82.203.37]) by smtp.gmail.com with UTF8SMTPSA id d9443c01a7336-21a9f22d0fcsm21166295ad.161.2025.01.10.21.49.19 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 10 Jan 2025 21:49:23 -0800 (PST) From: Akihiko Odaki Date: Sat, 11 Jan 2025 14:48:47 +0900 Subject: [PATCH v4 4/6] crash: Use note name macros MIME-Version: 1.0 Message-Id: <20250111-elf-v4-4-b3841fa0dcd9@daynix.com> References: <20250111-elf-v4-0-b3841fa0dcd9@daynix.com> In-Reply-To: <20250111-elf-v4-0-b3841fa0dcd9@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 Sat Jan 11 05:48:48 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Akihiko Odaki X-Patchwork-Id: 104568 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 ACF1F3852752 for ; Sat, 11 Jan 2025 05:59:17 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org ACF1F3852752 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=C4NLdm86 X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-pl1-x630.google.com (mail-pl1-x630.google.com [IPv6:2607:f8b0:4864:20::630]) by sourceware.org (Postfix) with ESMTPS id 0C6513857BA9 for ; Sat, 11 Jan 2025 05:49:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0C6513857BA9 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 0C6513857BA9 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::630 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736574571; cv=none; b=KdZf3fB8rzPBwrsfuMeyRYLRSArMpOOWsebd3iWY+md/+ZQHbN17s6mqlpBCGqIy4AS4vZHHQl7oWpE7UMEWgVD0Tw4lLSartby5AjVzwtHQgjLYpBNEH6OK4HTD0yYx5FR5bORbHU8Qyaa62USJF7hrhxM3xVFHsWtsDA8rD2s= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736574571; c=relaxed/simple; bh=mHSW1WEkXDkBWrq6qMSxAX18x10mEd9VCZKfNzeGoSg=; h=DKIM-Signature:From:Date:Subject:MIME-Version:Message-Id:To; b=XoqIQRmjmms/4oFV8mDxRbFZY0/u8dw1LSLGV7u85D+MZVa6RxPlAs9PfrRIEa5aE/Evn+2YnfZbo2oOfMW7TNMPrpEGYJ4Xhd0YJHabaOhtDjFqHmFG90wYnVPUiJjtmCXjrTy9HKSsg9Tj/9O8kGNGW1ve/+QowxeveXJ+36Y= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0C6513857BA9 Received: by mail-pl1-x630.google.com with SMTP id d9443c01a7336-2163dc5155fso49763505ad.0 for ; Fri, 10 Jan 2025 21:49:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1736574570; x=1737179370; 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=2jKrk3bVYPr7k5YkzhCVfFSlyEMyT0et7JHsh9IpwE8=; b=C4NLdm86zYTZEYvv66DLol+NhCdE62DmOFBFZY9vd/tubhhgo+NJDnlRu4pX5t7Z8i IRK++DjWJ43QCiavtPxmOVQCu+uWVhI8aT9LweGOeu0K6jDZpXXBj0rmSlznCs/dDzeo uNXHDwA2xogh40wuLx/H+koLgUJ0mjgR6rvOUiANiaiy0v6l+PMydVsQAVvV5NxSPv9d JqCeN4mngkG6nHhTwQ9if2UtVXIMf7OffYt2prFXNcTwFtRzBiAbrEyy//sY23U+D5su qaISOD2Xqz7FLKsDy5/giwmWFklt/np7jMK8MSnSu5A0bW9yCdcuyMGPS9SPc4nYzhEw DhQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736574570; x=1737179370; 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=2jKrk3bVYPr7k5YkzhCVfFSlyEMyT0et7JHsh9IpwE8=; b=hsXXpWjSmh2O9Q9pnGXmRFCa30vHOyT5b+qXG8ryWgbBrCK0QtXn3ClcuMmYGjrp55 FZ9PkEn2+pj3j1LqE+JT5/V/KbUHLsXr4jRlClVJEfv7RMC4ML7+2yUfXowR8KFrAnmm tttQlI7uML8NNrLzfGg800d2kxOZYZbTTtQwDhk6K4u5XFC/q7LKdMXlPjYIVpks2JZ5 drzRc5FKFcJJbVJYoZ8lH1KtHUAeDHfr2ZQEbGWTqJizttBqquubHf09DNdv7atSbeFD NlLPSSRZiYs1X9DYd8kM5apSqjXoqBTlDPlscikGXAZPcx5z6hpea4XgWs5xKMcn3N+F e/Yw== X-Forwarded-Encrypted: i=1; AJvYcCUHhuYqxvIhrueqKoIrmExvEzML1cWKZS1tqnxbIR2JGVkKMc4e/3ACbxsmp33to7mcJAW8ZBVzpQ==@sourceware.org X-Gm-Message-State: AOJu0YwvvSTkctok31rHyLRRsqkz7ii3kA8JWeqyzcWYyJQULIG+CfSo 3rXd9nKpfkwqvqtoGsS5b6zan//XCwfkKPMijprn4CVr6TopzcyC4z6KjHO7LvQ= X-Gm-Gg: ASbGncsug0axNQH7Ev8R4E29YpHr09gHmbVFjv/rq4mtuOoaxVj4EpzDNmYzAx6xpzl OiU/zKzQQm4zafFnkIZbNGAEuk0fboiNJkGpqVWrgUYsgC4z55HtSZ7eN0HISX8n2su+Hk7CWdl TJZdGreK1NXlXI9/gciY+VLH0r4F2TTasWwQgbPNuBBs+najcLyXNPNcrDEQKI2yQmVl0ciAZqk lE6ao/78UKr67LuKfBtBAYRdqNwoC6fkisrQ7PrEaGy7zJRHQ+NTk7wc5o= X-Google-Smtp-Source: AGHT+IF/DO7Xc25oCNYWji4iMt60P0/C5k2sp2lZQdBF9bk3Ar0+kFGVzpELgHH1uV8P5GY4v7KRrA== X-Received: by 2002:a17:902:e84f:b0:216:410d:4c53 with SMTP id d9443c01a7336-21a83fc6db1mr183636355ad.41.1736574570100; Fri, 10 Jan 2025 21:49:30 -0800 (PST) Received: from localhost ([157.82.203.37]) by smtp.gmail.com with UTF8SMTPSA id d9443c01a7336-21a9f217d56sm21372405ad.141.2025.01.10.21.49.25 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 10 Jan 2025 21:49:29 -0800 (PST) From: Akihiko Odaki Date: Sat, 11 Jan 2025 14:48:48 +0900 Subject: [PATCH v4 5/6] s390/crash: Use note name macros MIME-Version: 1.0 Message-Id: <20250111-elf-v4-5-b3841fa0dcd9@daynix.com> References: <20250111-elf-v4-0-b3841fa0dcd9@daynix.com> In-Reply-To: <20250111-elf-v4-0-b3841fa0dcd9@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 Sat Jan 11 05:48:49 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Akihiko Odaki X-Patchwork-Id: 104565 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 5F609385734A for ; Sat, 11 Jan 2025 05:52:32 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5F609385734A 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=1ms9buVZ X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-pl1-x636.google.com (mail-pl1-x636.google.com [IPv6:2607:f8b0:4864:20::636]) by sourceware.org (Postfix) with ESMTPS id 626C73857C5D for ; Sat, 11 Jan 2025 05:49:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 626C73857C5D 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 626C73857C5D Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::636 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736574581; cv=none; b=vCReXMWVRVuOnOCEhfRC6nEqfGFolAuX+WfHh5dBsi/wT2Qd4di1U3qqG82wGxRSs069/U4SY7rGHvMXb0UbJEfgqx8+vf4lkhtp+9NavoAv9sUj9ZGNDFKb9j3X4wlq55HuE79azzwW5l1s4vxf8j05DVTYzVVGKuFzLH4FY2w= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736574581; c=relaxed/simple; bh=PDKDOEbG5wLU1DkJmdPQNhRgipqYHagmRVjwHv2hyKE=; h=DKIM-Signature:From:Date:Subject:MIME-Version:Message-Id:To; b=KaUd68nPsOZqg6DpU5gzMZWCHvo4wopAKx7UT+ECs6WogLIsLJkzZ72Be16kBlI8WzYCOwmXdBJhcaL3o6nHMy5rB/BGII/BNAweKSFnBWM90ZTfqwjAx3Sgsj7YHZCKbdv0MpSXLJ8OSIXlo/1lSLgzVSrkNjexoplx9AzI/ws= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 626C73857C5D Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-216426b0865so46407225ad.0 for ; Fri, 10 Jan 2025 21:49:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1736574576; x=1737179376; 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=1ms9buVZaHd1UpaBTyCIoymeA41l0thRCxpKuCPqhpHtpTfogf2SFHY0rj+XLQtn+e ABvQmGDCPUkegawi0q0u5hwLiKiB0oUiYnP+PND4BpJjs5H7As+UylGqwge1TbfA5xbi RHLwdWKuS9E7PO1l2Ux+uSvTO6zTds4yBbVKtl8Qda6uNuev+PUhTe0MBPsyFkky9o+P cK40WsoDBPUGbIin1ZCjdSLjjXVKkNS+TQH8wGdLwX5FsyZYSMkAF9UkRhE4Mk7GpnAd VEAt2U2EOWR4rMntKKvKRwONfrDo8H1OWoRQzirrO0onVMbTepzJGcPBDqzCNuAK+WXn ApiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736574576; x=1737179376; 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=wXsfCsogD2FD0XUeq7K9FGGZAvCRAe6wJuzIh/NFR4lAgFk0dFMaMDoyI+xmAEuQc/ 5FqN4njPmztAlhBXXHLzw46fVadofythuAzxSOcx2YChynkZlFEd+U4kGd1RHjX3dcS1 ApP2HXueb/ziwuk0OXYtYiaRZzlUSPVbR5uYxbspOv3/DkelL5DKdOMwe755sB1S5HjR POVPi6zLMs7SmW9WmQb1llil7V+4cWZCf9HTXkZipmf3G0qgp1+ANH1JxHdGaRGAYH+L DDq2GiBJ8lFeGGoUZHv9kDMI2n2tLexxTURSktS1RZ/O9bumdukm3tk+14f3A55hQMJq 8WEA== X-Forwarded-Encrypted: i=1; AJvYcCUjeYDirmCFaChriwnH+kNdAo7ENF+Wi1cKt427SKTJDKr8fblN26Lb8lwSGzKKZZTLjd079p5Xbg==@sourceware.org X-Gm-Message-State: AOJu0Yx0LkLANhNkpXV/OEyKZYrT9mB3P5E8ibPFmcsqL7yRCLy5ZFxM YwAa+DWe8aMYvFF+7zj0eseBZS/qnoDjvhAc+hUFPFI2XFQNpY5ja1HKkNH0Kx4= X-Gm-Gg: ASbGncvHLo3eLV9CcK/dVFBKkK5jr4yx6oHaWFf3Q7B+iDUHiDLPMaqF+CueESPQ/Ey NELXz84G6ciSpvfzDWxY6rnsuE6zDm4fiGMIgszH7csWvsvFIJOix9RmFTAuCV5fmb7nV6siwaC Z2EohEUB7gRE9nyu/p9dH3p5CHnfwVVgxEK06naSR2LdRdVBIyfG+YNDGooES0BtaDZkH3yMRd6 Srm0JQ2iyPiKDNN86ZLNm4ClLTlvA7CuVbBOiMmNA+7qBFVvRw1s6VLoq0= X-Google-Smtp-Source: AGHT+IGdQ/W+GdFqyOEQRaBJtYEIC3d/2Cs4dWBSsnFKDdtRyf3/E/GqQ6RNXv61x1Bb9PKDJOpeZw== X-Received: by 2002:a17:902:e552:b0:216:2426:7666 with SMTP id d9443c01a7336-21a83f36f14mr210827905ad.12.1736574576473; Fri, 10 Jan 2025 21:49:36 -0800 (PST) Received: from localhost ([157.82.203.37]) by smtp.gmail.com with UTF8SMTPSA id d9443c01a7336-21a9f10ddbesm21468195ad.2.2025.01.10.21.49.32 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 10 Jan 2025 21:49:36 -0800 (PST) From: Akihiko Odaki Date: Sat, 11 Jan 2025 14:48:49 +0900 Subject: [PATCH v4 6/6] crash: Remove KEXEC_CORE_NOTE_NAME MIME-Version: 1.0 Message-Id: <20250111-elf-v4-6-b3841fa0dcd9@daynix.com> References: <20250111-elf-v4-0-b3841fa0dcd9@daynix.com> In-Reply-To: <20250111-elf-v4-0-b3841fa0dcd9@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)