From nobody Sun Feb 8 12:31:55 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linux.ibm.com ARC-Seal: i=1; a=rsa-sha256; t=1646145211; cv=none; d=zohomail.com; s=zohoarc; b=UL8t0nGhxH07DIDGJfH5iBEj8dlz7GvQa020IetC49Vtgy+JSDTIC6IaUAJsjdTBJrUdkEFjVDBrRKBsxiATp61dUJyoX6Q2NO+ai1YRb1AxtRjouCJvwa/uB6ab96kr2xJ+G7+lmnn3yBSpHOuCR0e3hxJ17f8IYPJkaURpAyk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1646145211; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=LERqkgealUFF5MC4lv/bBBOQtzBpeD/k60OzMIfyiyo=; b=mYRy1aMQiiy6TlxYqEUmDVuyy6EAe6/tN4uJ+8AEPv22BhrLH6tEawBB55yIx4lye0LJq7HyaE7XpM1lkZMmuz15wJIqghzzAmCiv+iGBumdV2/BrxA/iHgA4ajhqglrlfMN0oI2A9lDHMcMt6meok4qSoZ4JwIy3sfJTs7QnZY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1646145211812893.9569899034175; Tue, 1 Mar 2022 06:33:31 -0800 (PST) Received: from localhost ([::1]:42080 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nP3ZC-0002UY-IC for importer@patchew.org; Tue, 01 Mar 2022 09:33:30 -0500 Received: from eggs.gnu.org ([209.51.188.92]:40724) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nP3OZ-0002il-4H for qemu-devel@nongnu.org; Tue, 01 Mar 2022 09:22:32 -0500 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:15292) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nP3OX-0007Ii-Ch for qemu-devel@nongnu.org; Tue, 01 Mar 2022 09:22:30 -0500 Received: from pps.filterd (m0098421.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 221DBv07032732 for ; Tue, 1 Mar 2022 14:22:28 GMT Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com with ESMTP id 3ehm5esr7w-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 01 Mar 2022 14:22:27 +0000 Received: from m0098421.ppops.net (m0098421.ppops.net [127.0.0.1]) by pps.reinject (8.16.0.43/8.16.0.43) with SMTP id 221DbBeN008830 for ; Tue, 1 Mar 2022 14:22:27 GMT Received: from ppma05fra.de.ibm.com (6c.4a.5195.ip4.static.sl-reverse.com [149.81.74.108]) by mx0a-001b2d01.pphosted.com with ESMTP id 3ehm5esr7e-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 01 Mar 2022 14:22:26 +0000 Received: from pps.filterd (ppma05fra.de.ibm.com [127.0.0.1]) by ppma05fra.de.ibm.com (8.16.1.2/8.16.1.2) with SMTP id 221EK6J8014207; Tue, 1 Mar 2022 14:22:25 GMT Received: from b06cxnps3074.portsmouth.uk.ibm.com (d06relay09.portsmouth.uk.ibm.com [9.149.109.194]) by ppma05fra.de.ibm.com with ESMTP id 3efbu9au2v-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 01 Mar 2022 14:22:25 +0000 Received: from d06av25.portsmouth.uk.ibm.com (d06av25.portsmouth.uk.ibm.com [9.149.105.61]) by b06cxnps3074.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 221EMMNK46793086 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 1 Mar 2022 14:22:23 GMT Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id D8F9111C04C; Tue, 1 Mar 2022 14:22:22 +0000 (GMT) Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 0D53311C050; Tue, 1 Mar 2022 14:22:22 +0000 (GMT) Received: from linux6.. (unknown [9.114.12.104]) by d06av25.portsmouth.uk.ibm.com (Postfix) with ESMTP; Tue, 1 Mar 2022 14:22:21 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding; s=pp1; bh=LERqkgealUFF5MC4lv/bBBOQtzBpeD/k60OzMIfyiyo=; b=YFZa1fIShNSoCByqdPezlul/4uAzaPjMx4/EjNBrw5IwaoTZQzovjb+BBZDQHAY0OKwH G/hG3IF2uIA5lUP/tpgR1yjrtQH20besPey1REnl3eRS6kZXj1N2kTMrTGi+5C9oNPQY iirxDpGlrTJjZl8+sBFDmH6HMk9iVQrh2d/TxgXwah+BeAmuv0LCRbwGId3B/pG+ZGcg dp5l60ofjPAkvoxLC9Ksnt3epaYjH23R6Qjzkfcjf6T+3zAe7d2QcloQjqvfh6T4hP8P zQ4qejz0jeiDl74sY1My1qEk4Vyh1gYugkAorTo2G1Xc3aAH4oN2L2qSfWhhTxIDRxz/ OA== From: Janosch Frank To: qemu-devel@nongnu.org Subject: [PATCH 1/7] dump: Introduce shdr_num to decrease complexity Date: Tue, 1 Mar 2022 14:22:07 +0000 Message-Id: <20220301142213.28568-2-frankja@linux.ibm.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220301142213.28568-1-frankja@linux.ibm.com> References: <20220301142213.28568-1-frankja@linux.ibm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: 7ItvSkgcy4ZQVQ0wlNlM8l4D4UtUTGlG X-Proofpoint-GUID: xelzUs6ohwUwYr9Nzd-HpP5SK0IIZ-kJ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.64.514 definitions=2022-03-01_07,2022-02-26_01,2022-02-23_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 mlxscore=0 impostorscore=0 adultscore=0 bulkscore=0 phishscore=0 malwarescore=0 suspectscore=0 spamscore=0 mlxlogscore=619 lowpriorityscore=0 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2201110000 definitions=main-2203010077 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=148.163.158.5; envelope-from=frankja@linux.ibm.com; helo=mx0b-001b2d01.pphosted.com X-Spam_score_int: -19 X-Spam_score: -2.0 X-Spam_bar: -- X-Spam_report: (-2.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: marcandre.lureau@redhat.com, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @ibm.com) X-ZM-MESSAGEID: 1646145213025100001 Content-Type: text/plain; charset="utf-8" Let's move from a boolean to a int variable which will later enable us to store the number of sections that are in the dump file. Signed-off-by: Janosch Frank --- dump/dump.c | 43 ++++++++++++++++++------------------------- include/sysemu/dump.h | 2 +- 2 files changed, 19 insertions(+), 26 deletions(-) diff --git a/dump/dump.c b/dump/dump.c index a84d8b1598..6696d9819a 100644 --- a/dump/dump.c +++ b/dump/dump.c @@ -139,12 +139,12 @@ static void write_elf64_header(DumpState *s, Error **= errp) elf_header.e_phoff =3D cpu_to_dump64(s, sizeof(Elf64_Ehdr)); elf_header.e_phentsize =3D cpu_to_dump16(s, sizeof(Elf64_Phdr)); elf_header.e_phnum =3D cpu_to_dump16(s, s->phdr_num); - if (s->have_section) { + if (s->shdr_num) { uint64_t shoff =3D sizeof(Elf64_Ehdr) + sizeof(Elf64_Phdr) * s->sh= _info; =20 elf_header.e_shoff =3D cpu_to_dump64(s, shoff); elf_header.e_shentsize =3D cpu_to_dump16(s, sizeof(Elf64_Shdr)); - elf_header.e_shnum =3D cpu_to_dump16(s, 1); + elf_header.e_shnum =3D cpu_to_dump16(s, s->shdr_num); } =20 ret =3D fd_write_vmcore(&elf_header, sizeof(elf_header), s); @@ -170,12 +170,12 @@ static void write_elf32_header(DumpState *s, Error **= errp) elf_header.e_phoff =3D cpu_to_dump32(s, sizeof(Elf32_Ehdr)); elf_header.e_phentsize =3D cpu_to_dump16(s, sizeof(Elf32_Phdr)); elf_header.e_phnum =3D cpu_to_dump16(s, s->phdr_num); - if (s->have_section) { + if (s->shdr_num) { uint32_t shoff =3D sizeof(Elf32_Ehdr) + sizeof(Elf32_Phdr) * s->sh= _info; =20 elf_header.e_shoff =3D cpu_to_dump32(s, shoff); elf_header.e_shentsize =3D cpu_to_dump16(s, sizeof(Elf32_Shdr)); - elf_header.e_shnum =3D cpu_to_dump16(s, 1); + elf_header.e_shnum =3D cpu_to_dump16(s, s->shdr_num); } =20 ret =3D fd_write_vmcore(&elf_header, sizeof(elf_header), s); @@ -482,7 +482,7 @@ static void write_elf_loads(DumpState *s, Error **errp) uint32_t max_index; Error *local_err =3D NULL; =20 - if (s->have_section) { + if (s->shdr_num) { max_index =3D s->sh_info; } else { max_index =3D s->phdr_num; @@ -567,7 +567,7 @@ static void dump_begin(DumpState *s, Error **errp) } =20 /* write section to vmcore */ - if (s->have_section) { + if (s->shdr_num) { write_elf_section(s, 1, &local_err); if (local_err) { error_propagate(errp, local_err); @@ -597,7 +597,7 @@ static void dump_begin(DumpState *s, Error **errp) } =20 /* write section to vmcore */ - if (s->have_section) { + if (s->shdr_num) { write_elf_section(s, 0, &local_err); if (local_err) { error_propagate(errp, local_err); @@ -1818,11 +1818,12 @@ static void dump_init(DumpState *s, int fd, bool ha= s_format, */ s->phdr_num =3D 1; /* PT_NOTE */ if (s->list.num < UINT16_MAX - 2) { + s->shdr_num =3D 0; s->phdr_num +=3D s->list.num; - s->have_section =3D false; } else { - s->have_section =3D true; + /* sh_info of section 0 holds the real number of phdrs */ s->phdr_num =3D PN_XNUM; + s->shdr_num =3D 1; s->sh_info =3D 1; /* PT_NOTE */ =20 /* the type of shdr->sh_info is uint32_t, so we should avoid overf= low */ @@ -1834,23 +1835,15 @@ static void dump_init(DumpState *s, int fd, bool ha= s_format, } =20 if (s->dump_info.d_class =3D=3D ELFCLASS64) { - if (s->have_section) { - s->memory_offset =3D sizeof(Elf64_Ehdr) + - sizeof(Elf64_Phdr) * s->sh_info + - sizeof(Elf64_Shdr) + s->note_size; - } else { - s->memory_offset =3D sizeof(Elf64_Ehdr) + - sizeof(Elf64_Phdr) * s->phdr_num + s->note_= size; - } + s->memory_offset =3D sizeof(Elf64_Ehdr) + + sizeof(Elf64_Phdr) * s->sh_info + + sizeof(Elf64_Shdr) * s->shdr_num + + s->note_size; } else { - if (s->have_section) { - s->memory_offset =3D sizeof(Elf32_Ehdr) + - sizeof(Elf32_Phdr) * s->sh_info + - sizeof(Elf32_Shdr) + s->note_size; - } else { - s->memory_offset =3D sizeof(Elf32_Ehdr) + - sizeof(Elf32_Phdr) * s->phdr_num + s->note_= size; - } + s->memory_offset =3D sizeof(Elf32_Ehdr) + + sizeof(Elf32_Phdr) * s->sh_info + + sizeof(Elf32_Shdr) * s->shdr_num + + s->note_size; } =20 return; diff --git a/include/sysemu/dump.h b/include/sysemu/dump.h index 250143cb5a..854341da0d 100644 --- a/include/sysemu/dump.h +++ b/include/sysemu/dump.h @@ -155,8 +155,8 @@ typedef struct DumpState { ArchDumpInfo dump_info; MemoryMappingList list; uint16_t phdr_num; + uint32_t shdr_num; uint32_t sh_info; - bool have_section; bool resume; bool detached; ssize_t note_size; --=20 2.32.0 From nobody Sun Feb 8 12:31:55 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linux.ibm.com ARC-Seal: i=1; a=rsa-sha256; t=1646145279; cv=none; d=zohomail.com; s=zohoarc; b=gSuywXlJh+fAJ6sBh4kLtuKD+FeK5aSzy6xctmiyDuxmE3xZfgAX66qt05/zvDVzruVEPMGJgB7yoZtJtQMRhADreRfLJIL77+uDSvmi6y1AADzZklmGqyd4FlFO9rinZzYRdk8tGfsrb6oLM8Up8e2NwIK33UIgYdLDb4nX/PI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1646145279; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Fl63cD0o0+v+ry8Rgr8CK1zgdN0uXrrD6RLrV5lj7OY=; b=TvWOWP8po+a/D1jf2CrBKf5dkvH4YFlxQAoNMCLz78GA1FqUoPUatvH6J5c+isNo9W2xF6k8Jruvkrc6TeMcrDuEIMRI6+T1UnPdPIrCvW11Mxg25A7hqGHwaPQp/M50cLiLOAa9t5VogHRsmVRaCTiCRE8MG9Viz5I3aslN9l0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1646145279739293.556393813859; Tue, 1 Mar 2022 06:34:39 -0800 (PST) Received: from localhost ([::1]:47102 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nP3aI-0005p7-Er for importer@patchew.org; Tue, 01 Mar 2022 09:34:38 -0500 Received: from eggs.gnu.org ([209.51.188.92]:40738) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nP3Ob-0002jY-0l for qemu-devel@nongnu.org; Tue, 01 Mar 2022 09:22:35 -0500 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:18938) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nP3OX-0007Ip-JD for qemu-devel@nongnu.org; Tue, 01 Mar 2022 09:22:32 -0500 Received: from pps.filterd (m0098421.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 221DBq4B032624 for ; Tue, 1 Mar 2022 14:22:28 GMT Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com with ESMTP id 3ehm5esr87-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 01 Mar 2022 14:22:28 +0000 Received: from m0098421.ppops.net (m0098421.ppops.net [127.0.0.1]) by pps.reinject (8.16.0.43/8.16.0.43) with SMTP id 221DfGUm024604 for ; Tue, 1 Mar 2022 14:22:28 GMT Received: from ppma03ams.nl.ibm.com (62.31.33a9.ip4.static.sl-reverse.com [169.51.49.98]) by mx0a-001b2d01.pphosted.com with ESMTP id 3ehm5esr7q-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 01 Mar 2022 14:22:27 +0000 Received: from pps.filterd (ppma03ams.nl.ibm.com [127.0.0.1]) by ppma03ams.nl.ibm.com (8.16.1.2/8.16.1.2) with SMTP id 221EJbk4014924; Tue, 1 Mar 2022 14:22:26 GMT Received: from b06cxnps4074.portsmouth.uk.ibm.com (d06relay11.portsmouth.uk.ibm.com [9.149.109.196]) by ppma03ams.nl.ibm.com with ESMTP id 3efbu9bwv6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 01 Mar 2022 14:22:26 +0000 Received: from d06av25.portsmouth.uk.ibm.com (d06av25.portsmouth.uk.ibm.com [9.149.105.61]) by b06cxnps4074.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 221EMOW057671938 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 1 Mar 2022 14:22:24 GMT Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 087BE11C04A; Tue, 1 Mar 2022 14:22:24 +0000 (GMT) Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 322A511C050; Tue, 1 Mar 2022 14:22:23 +0000 (GMT) Received: from linux6.. (unknown [9.114.12.104]) by d06av25.portsmouth.uk.ibm.com (Postfix) with ESMTP; Tue, 1 Mar 2022 14:22:23 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding; s=pp1; bh=Fl63cD0o0+v+ry8Rgr8CK1zgdN0uXrrD6RLrV5lj7OY=; b=o0ySGGD1dSUhz65r4oce5VvE0fLA29yQbXE7BVoShcHmUJf1VJlaeJbk70ssvchzyti9 0d5POyJJwGfuSnw1CWbbo618ZfxJDoAj0Y2+vUVEvB+iripjnpug0JCyzgaG0xSDzcoT 1vA0+Rtz2e5+wESLGhGG3Sw5GH8eGc09gCzUfDFSnXfVYOC50fir6wWflaJz3//M1S1e FTzxlwu47Zpax+XWUwKRudmbheZ7CbsOk/95gguBXfb/0GAEmRx4CKDtnZzxyDWuBSDk xNzUBxiW96KxxcLRMu2RkufA2FrkgltZkQZ/IhKzwOO4ubKSiWfG3o0lhr8S4JS7Qe+a vA== From: Janosch Frank To: qemu-devel@nongnu.org Subject: [PATCH 2/7] dump: Remove the sh_info variable Date: Tue, 1 Mar 2022 14:22:08 +0000 Message-Id: <20220301142213.28568-3-frankja@linux.ibm.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220301142213.28568-1-frankja@linux.ibm.com> References: <20220301142213.28568-1-frankja@linux.ibm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: J7rp5JGesetrjH5UZpK89SZwtlNSZpJr X-Proofpoint-GUID: fq0Iqn8XjaJ-61LiPyIImFKMsa3D3P_5 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.64.514 definitions=2022-03-01_07,2022-02-26_01,2022-02-23_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 mlxscore=0 impostorscore=0 adultscore=0 bulkscore=0 phishscore=0 malwarescore=0 suspectscore=0 spamscore=0 mlxlogscore=962 lowpriorityscore=0 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2201110000 definitions=main-2203010077 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=148.163.158.5; envelope-from=frankja@linux.ibm.com; helo=mx0b-001b2d01.pphosted.com X-Spam_score_int: -19 X-Spam_score: -2.0 X-Spam_bar: -- X-Spam_report: (-2.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: marcandre.lureau@redhat.com, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @ibm.com) X-ZM-MESSAGEID: 1646145281559100001 Content-Type: text/plain; charset="utf-8" There's no need to have phdr_num and sh_info at the same time. We can make phdr_num 32 bit and set PN_XNUM when we write the header if phdr_num >=3D PN_XNUM. Signed-off-by: Janosch Frank --- dump/dump.c | 33 +++++++++++++-------------------- include/sysemu/dump.h | 3 +-- 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/dump/dump.c b/dump/dump.c index 6696d9819a..ce3a5e7003 100644 --- a/dump/dump.c +++ b/dump/dump.c @@ -124,6 +124,7 @@ static int fd_write_vmcore(const void *buf, size_t size= , void *opaque) =20 static void write_elf64_header(DumpState *s, Error **errp) { + uint16_t phnum =3D s->phdr_num >=3D PN_XNUM ? PN_XNUM : s->phdr_num; Elf64_Ehdr elf_header; int ret; =20 @@ -138,9 +139,9 @@ static void write_elf64_header(DumpState *s, Error **er= rp) elf_header.e_ehsize =3D cpu_to_dump16(s, sizeof(elf_header)); elf_header.e_phoff =3D cpu_to_dump64(s, sizeof(Elf64_Ehdr)); elf_header.e_phentsize =3D cpu_to_dump16(s, sizeof(Elf64_Phdr)); - elf_header.e_phnum =3D cpu_to_dump16(s, s->phdr_num); + elf_header.e_phnum =3D cpu_to_dump16(s, phnum); if (s->shdr_num) { - uint64_t shoff =3D sizeof(Elf64_Ehdr) + sizeof(Elf64_Phdr) * s->sh= _info; + uint64_t shoff =3D sizeof(Elf64_Ehdr) + sizeof(Elf64_Phdr) * s->ph= dr_num; =20 elf_header.e_shoff =3D cpu_to_dump64(s, shoff); elf_header.e_shentsize =3D cpu_to_dump16(s, sizeof(Elf64_Shdr)); @@ -155,6 +156,7 @@ static void write_elf64_header(DumpState *s, Error **er= rp) =20 static void write_elf32_header(DumpState *s, Error **errp) { + uint16_t phnum =3D s->phdr_num >=3D PN_XNUM ? PN_XNUM : s->phdr_num; Elf32_Ehdr elf_header; int ret; =20 @@ -169,9 +171,9 @@ static void write_elf32_header(DumpState *s, Error **er= rp) elf_header.e_ehsize =3D cpu_to_dump16(s, sizeof(elf_header)); elf_header.e_phoff =3D cpu_to_dump32(s, sizeof(Elf32_Ehdr)); elf_header.e_phentsize =3D cpu_to_dump16(s, sizeof(Elf32_Phdr)); - elf_header.e_phnum =3D cpu_to_dump16(s, s->phdr_num); + elf_header.e_phnum =3D cpu_to_dump16(s, phnum); if (s->shdr_num) { - uint32_t shoff =3D sizeof(Elf32_Ehdr) + sizeof(Elf32_Phdr) * s->sh= _info; + uint32_t shoff =3D sizeof(Elf32_Ehdr) + sizeof(Elf32_Phdr) * s->ph= dr_num; =20 elf_header.e_shoff =3D cpu_to_dump32(s, shoff); elf_header.e_shentsize =3D cpu_to_dump16(s, sizeof(Elf32_Shdr)); @@ -358,12 +360,12 @@ static void write_elf_section(DumpState *s, int type,= Error **errp) if (type =3D=3D 0) { shdr_size =3D sizeof(Elf32_Shdr); memset(&shdr32, 0, shdr_size); - shdr32.sh_info =3D cpu_to_dump32(s, s->sh_info); + shdr32.sh_info =3D cpu_to_dump32(s, s->phdr_num); shdr =3D &shdr32; } else { shdr_size =3D sizeof(Elf64_Shdr); memset(&shdr64, 0, shdr_size); - shdr64.sh_info =3D cpu_to_dump32(s, s->sh_info); + shdr64.sh_info =3D cpu_to_dump32(s, s->phdr_num); shdr =3D &shdr64; } =20 @@ -479,15 +481,8 @@ static void write_elf_loads(DumpState *s, Error **errp) hwaddr offset, filesz; MemoryMapping *memory_mapping; uint32_t phdr_index =3D 1; - uint32_t max_index; Error *local_err =3D NULL; =20 - if (s->shdr_num) { - max_index =3D s->sh_info; - } else { - max_index =3D s->phdr_num; - } - QTAILQ_FOREACH(memory_mapping, &s->list.head, next) { get_offset_range(memory_mapping->phys_addr, memory_mapping->length, @@ -505,7 +500,7 @@ static void write_elf_loads(DumpState *s, Error **errp) return; } =20 - if (phdr_index >=3D max_index) { + if (phdr_index >=3D s->phdr_num) { break; } } @@ -1822,26 +1817,24 @@ static void dump_init(DumpState *s, int fd, bool ha= s_format, s->phdr_num +=3D s->list.num; } else { /* sh_info of section 0 holds the real number of phdrs */ - s->phdr_num =3D PN_XNUM; s->shdr_num =3D 1; - s->sh_info =3D 1; /* PT_NOTE */ =20 /* the type of shdr->sh_info is uint32_t, so we should avoid overf= low */ if (s->list.num <=3D UINT32_MAX - 1) { - s->sh_info +=3D s->list.num; + s->phdr_num +=3D s->list.num; } else { - s->sh_info =3D UINT32_MAX; + s->phdr_num =3D UINT32_MAX; } } =20 if (s->dump_info.d_class =3D=3D ELFCLASS64) { s->memory_offset =3D sizeof(Elf64_Ehdr) + - sizeof(Elf64_Phdr) * s->sh_info + + sizeof(Elf64_Phdr) * s->phdr_num + sizeof(Elf64_Shdr) * s->shdr_num + s->note_size; } else { s->memory_offset =3D sizeof(Elf32_Ehdr) + - sizeof(Elf32_Phdr) * s->sh_info + + sizeof(Elf32_Phdr) * s->phdr_num + sizeof(Elf32_Shdr) * s->shdr_num + s->note_size; } diff --git a/include/sysemu/dump.h b/include/sysemu/dump.h index 854341da0d..19458bffbd 100644 --- a/include/sysemu/dump.h +++ b/include/sysemu/dump.h @@ -154,9 +154,8 @@ typedef struct DumpState { GuestPhysBlockList guest_phys_blocks; ArchDumpInfo dump_info; MemoryMappingList list; - uint16_t phdr_num; + uint32_t phdr_num; uint32_t shdr_num; - uint32_t sh_info; bool resume; bool detached; ssize_t note_size; --=20 2.32.0 From nobody Sun Feb 8 12:31:55 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linux.ibm.com ARC-Seal: i=1; a=rsa-sha256; t=1646145336; cv=none; d=zohomail.com; s=zohoarc; b=IOZi6bpwuqGPPXywGJGvXbiGnexc8kS9FhGMMl8tRCodoB2IeJWrBVsILqU6vDaHDa13x3F+quKVYuXNtmm9SeIPo/rIcYPpKwrv8whxPbVs0oxq39LIlg+Y5mwBjEVfl02nML6x13LdG8nxsVH97RlowYxJEcu4p/O21cib41Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1646145336; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=E0h3k3Rr2S3yPNPlZEbFtSQwf5CfxQvr7AFVCraF0ho=; b=Bn3vkNKu7LkB1CD4HwS+0O/hSYE32IP/ZeL3tuaboHzTGZFeCRPCmiOj6ONtVn/NGibRbgMVd1bQODe5SVbaCY3HBJ2h/OBW4A9QOiNYw5xJRo2KCbmOksgf8Lm8d7Vz5Smkkl+Uel6WBoxNhMR/D7+Hvke5SmDDvTBo3OpLBn8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1646145336001169.9021542587867; Tue, 1 Mar 2022 06:35:36 -0800 (PST) Received: from localhost ([::1]:49936 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nP3bC-0007iJ-W4 for importer@patchew.org; Tue, 01 Mar 2022 09:35:35 -0500 Received: from eggs.gnu.org ([209.51.188.92]:40816) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nP3Og-0002m1-Gs for qemu-devel@nongnu.org; Tue, 01 Mar 2022 09:22:39 -0500 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:34620) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nP3Oa-0007LC-4E for qemu-devel@nongnu.org; Tue, 01 Mar 2022 09:22:37 -0500 Received: from pps.filterd (m0187473.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 221D9INF006674 for ; Tue, 1 Mar 2022 14:22:30 GMT Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com with ESMTP id 3ehh4h676t-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 01 Mar 2022 14:22:30 +0000 Received: from m0187473.ppops.net (m0187473.ppops.net [127.0.0.1]) by pps.reinject (8.16.0.43/8.16.0.43) with SMTP id 221E9U1J020031 for ; Tue, 1 Mar 2022 14:22:30 GMT Received: from ppma04ams.nl.ibm.com (63.31.33a9.ip4.static.sl-reverse.com [169.51.49.99]) by mx0a-001b2d01.pphosted.com with ESMTP id 3ehh4h6766-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 01 Mar 2022 14:22:29 +0000 Received: from pps.filterd (ppma04ams.nl.ibm.com [127.0.0.1]) by ppma04ams.nl.ibm.com (8.16.1.2/8.16.1.2) with SMTP id 221EJcHm011292; Tue, 1 Mar 2022 14:22:27 GMT Received: from b06avi18878370.portsmouth.uk.ibm.com (b06avi18878370.portsmouth.uk.ibm.com [9.149.26.194]) by ppma04ams.nl.ibm.com with ESMTP id 3egbj171fg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 01 Mar 2022 14:22:27 +0000 Received: from d06av25.portsmouth.uk.ibm.com (d06av25.portsmouth.uk.ibm.com [9.149.105.61]) by b06avi18878370.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 221EMPNN33227132 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 1 Mar 2022 14:22:25 GMT Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 2A0EB11C052; Tue, 1 Mar 2022 14:22:25 +0000 (GMT) Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 5242D11C04A; Tue, 1 Mar 2022 14:22:24 +0000 (GMT) Received: from linux6.. (unknown [9.114.12.104]) by d06av25.portsmouth.uk.ibm.com (Postfix) with ESMTP; Tue, 1 Mar 2022 14:22:24 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding; s=pp1; bh=E0h3k3Rr2S3yPNPlZEbFtSQwf5CfxQvr7AFVCraF0ho=; b=mSt/di8uDG4xJKlKR11moy4VWm0eblTfOR16b9PULklLaiPS4REmT3DX1awVwoaxLjEP P+9EhoSSf89GJwND2WXDcnutslC7wTsiQzKYEQE66W4MagVJWl9JGkckdtuC+bDoA3d5 OVPAUeqRZj7QBPykp5kSyMpRswvMiNTS5QpS4Js/miPSiowldIj2y+Mup9Y2v9MJExvr 2FmC75FnfIKHVGi8Ep0OAuWP3TZWQ+k+ORKiyJe4UL7Mf81JmoxCVKl5AYWsA6IZV2Ll C/Bc+S3NhU8JNl8VKgqChyNNB97LM4tlXlAPwBFg+KOlthsokd6iH5/iK+bg4NkG7/vt WA== From: Janosch Frank To: qemu-devel@nongnu.org Subject: [PATCH 3/7] dump: Add more offset variables Date: Tue, 1 Mar 2022 14:22:09 +0000 Message-Id: <20220301142213.28568-4-frankja@linux.ibm.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220301142213.28568-1-frankja@linux.ibm.com> References: <20220301142213.28568-1-frankja@linux.ibm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Proofpoint-GUID: 84FKHI9Z3UpCEg4y4aeMvIACV7iRODVs X-Proofpoint-ORIG-GUID: dtbTCLgGQDlyY9f2kbNYwUDXrODinLnj X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.64.514 definitions=2022-03-01_07,2022-02-26_01,2022-02-23_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 mlxscore=0 adultscore=0 clxscore=1015 spamscore=0 bulkscore=0 lowpriorityscore=0 mlxlogscore=999 suspectscore=0 impostorscore=0 malwarescore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2201110000 definitions=main-2203010077 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=148.163.156.1; envelope-from=frankja@linux.ibm.com; helo=mx0a-001b2d01.pphosted.com X-Spam_score_int: -19 X-Spam_score: -2.0 X-Spam_bar: -- X-Spam_report: (-2.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: marcandre.lureau@redhat.com, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @ibm.com) X-ZM-MESSAGEID: 1646145336782100001 Content-Type: text/plain; charset="utf-8" Offset calculations are easy enough to get wrong. Let's add a few variables to make moving around elf headers and data sections easier. Signed-off-by: Janosch Frank Reviewed-by: Marc-Andr=C3=A9 Lureau --- dump/dump.c | 34 ++++++++++++++-------------------- include/sysemu/dump.h | 4 ++++ 2 files changed, 18 insertions(+), 20 deletions(-) diff --git a/dump/dump.c b/dump/dump.c index ce3a5e7003..242f83db95 100644 --- a/dump/dump.c +++ b/dump/dump.c @@ -137,13 +137,11 @@ static void write_elf64_header(DumpState *s, Error **= errp) elf_header.e_machine =3D cpu_to_dump16(s, s->dump_info.d_machine); elf_header.e_version =3D cpu_to_dump32(s, EV_CURRENT); elf_header.e_ehsize =3D cpu_to_dump16(s, sizeof(elf_header)); - elf_header.e_phoff =3D cpu_to_dump64(s, sizeof(Elf64_Ehdr)); + elf_header.e_phoff =3D cpu_to_dump64(s, s->phdr_offset); elf_header.e_phentsize =3D cpu_to_dump16(s, sizeof(Elf64_Phdr)); elf_header.e_phnum =3D cpu_to_dump16(s, phnum); if (s->shdr_num) { - uint64_t shoff =3D sizeof(Elf64_Ehdr) + sizeof(Elf64_Phdr) * s->ph= dr_num; - - elf_header.e_shoff =3D cpu_to_dump64(s, shoff); + elf_header.e_shoff =3D cpu_to_dump64(s, s->shdr_offset); elf_header.e_shentsize =3D cpu_to_dump16(s, sizeof(Elf64_Shdr)); elf_header.e_shnum =3D cpu_to_dump16(s, s->shdr_num); } @@ -169,13 +167,11 @@ static void write_elf32_header(DumpState *s, Error **= errp) elf_header.e_machine =3D cpu_to_dump16(s, s->dump_info.d_machine); elf_header.e_version =3D cpu_to_dump32(s, EV_CURRENT); elf_header.e_ehsize =3D cpu_to_dump16(s, sizeof(elf_header)); - elf_header.e_phoff =3D cpu_to_dump32(s, sizeof(Elf32_Ehdr)); + elf_header.e_phoff =3D cpu_to_dump32(s, s->phdr_offset); elf_header.e_phentsize =3D cpu_to_dump16(s, sizeof(Elf32_Phdr)); elf_header.e_phnum =3D cpu_to_dump16(s, phnum); if (s->shdr_num) { - uint32_t shoff =3D sizeof(Elf32_Ehdr) + sizeof(Elf32_Phdr) * s->ph= dr_num; - - elf_header.e_shoff =3D cpu_to_dump32(s, shoff); + elf_header.e_shoff =3D cpu_to_dump32(s, s->shdr_offset); elf_header.e_shentsize =3D cpu_to_dump16(s, sizeof(Elf32_Shdr)); elf_header.e_shnum =3D cpu_to_dump16(s, s->shdr_num); } @@ -238,12 +234,11 @@ static void write_elf32_load(DumpState *s, MemoryMapp= ing *memory_mapping, static void write_elf64_note(DumpState *s, Error **errp) { Elf64_Phdr phdr; - hwaddr begin =3D s->memory_offset - s->note_size; int ret; =20 memset(&phdr, 0, sizeof(Elf64_Phdr)); phdr.p_type =3D cpu_to_dump32(s, PT_NOTE); - phdr.p_offset =3D cpu_to_dump64(s, begin); + phdr.p_offset =3D cpu_to_dump64(s, s->note_offset); phdr.p_paddr =3D 0; phdr.p_filesz =3D cpu_to_dump64(s, s->note_size); phdr.p_memsz =3D cpu_to_dump64(s, s->note_size); @@ -303,13 +298,12 @@ static void write_elf64_notes(WriteCoreDumpFunction f= , DumpState *s, =20 static void write_elf32_note(DumpState *s, Error **errp) { - hwaddr begin =3D s->memory_offset - s->note_size; Elf32_Phdr phdr; int ret; =20 memset(&phdr, 0, sizeof(Elf32_Phdr)); phdr.p_type =3D cpu_to_dump32(s, PT_NOTE); - phdr.p_offset =3D cpu_to_dump32(s, begin); + phdr.p_offset =3D cpu_to_dump32(s, s->note_offset); phdr.p_paddr =3D 0; phdr.p_filesz =3D cpu_to_dump32(s, s->note_size); phdr.p_memsz =3D cpu_to_dump32(s, s->note_size); @@ -1828,15 +1822,15 @@ static void dump_init(DumpState *s, int fd, bool ha= s_format, } =20 if (s->dump_info.d_class =3D=3D ELFCLASS64) { - s->memory_offset =3D sizeof(Elf64_Ehdr) + - sizeof(Elf64_Phdr) * s->phdr_num + - sizeof(Elf64_Shdr) * s->shdr_num + - s->note_size; + s->phdr_offset =3D sizeof(Elf64_Ehdr); + s->shdr_offset =3D s->phdr_offset + sizeof(Elf64_Phdr) * s->phdr_n= um; + s->note_offset =3D s->shdr_offset + sizeof(Elf64_Shdr) * s->shdr_n= um; + s->memory_offset =3D s->note_offset + s->note_size; } else { - s->memory_offset =3D sizeof(Elf32_Ehdr) + - sizeof(Elf32_Phdr) * s->phdr_num + - sizeof(Elf32_Shdr) * s->shdr_num + - s->note_size; + s->phdr_offset =3D sizeof(Elf32_Ehdr); + s->shdr_offset =3D s->phdr_offset + sizeof(Elf32_Phdr) * s->phdr_n= um; + s->note_offset =3D s->shdr_offset + sizeof(Elf32_Shdr) * s->shdr_n= um; + s->memory_offset =3D s->note_offset + s->note_size; } =20 return; diff --git a/include/sysemu/dump.h b/include/sysemu/dump.h index 19458bffbd..ffc2ea1072 100644 --- a/include/sysemu/dump.h +++ b/include/sysemu/dump.h @@ -159,6 +159,10 @@ typedef struct DumpState { bool resume; bool detached; ssize_t note_size; + hwaddr shdr_offset; + hwaddr phdr_offset; + hwaddr section_offset; + hwaddr note_offset; hwaddr memory_offset; int fd; =20 --=20 2.32.0 From nobody Sun Feb 8 12:31:55 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linux.ibm.com ARC-Seal: i=1; a=rsa-sha256; t=1646145160; cv=none; d=zohomail.com; s=zohoarc; b=aPtNagjtkIHGnNQsKtLZ7THZ6fTuYT8ZLC3vyP8AeUl4F3Qua54DMHZyw68Eb9BRdBAR9m08/FmJ5ZM0Kq2apRb09qRbOwJOK77DlKsI6UBR1YfGmCYWz5psk9RaybAYB+TEDaMu4UQoAO99l6BAJ6i/VqFN+182ruhYlf2bAOU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1646145160; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=n6ym++9e3LIqur/Z77FCizgmO+QF5RvXmMmGz755F2Y=; b=ESNXw6jKj7op8GbFGrJ4purQfy/Ys5ImPD9SsUtNwKEG1jtXTT6XlSIKfgDwGQierwyINlNyYFny2Lgb/n9iLOqtYGcn26Actq9iN6fVrrtQW7YeEh8kmw4CxQZQ/7mrpXhPGZu10TVLEPBKtg4VEzIPHxM2oAZK6e5DM5GDW3c= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1646145160254994.1544501230044; Tue, 1 Mar 2022 06:32:40 -0800 (PST) Received: from localhost ([::1]:38832 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nP3YM-0000LR-Pl for importer@patchew.org; Tue, 01 Mar 2022 09:32:38 -0500 Received: from eggs.gnu.org ([209.51.188.92]:40762) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nP3Oc-0002kR-S3 for qemu-devel@nongnu.org; Tue, 01 Mar 2022 09:22:34 -0500 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:30752) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nP3Ob-0007Lc-2W for qemu-devel@nongnu.org; Tue, 01 Mar 2022 09:22:34 -0500 Received: from pps.filterd (m0098393.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 221DkddZ020119 for ; Tue, 1 Mar 2022 14:22:32 GMT Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com with ESMTP id 3ehmnygwuh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 01 Mar 2022 14:22:31 +0000 Received: from m0098393.ppops.net (m0098393.ppops.net [127.0.0.1]) by pps.reinject (8.16.0.43/8.16.0.43) with SMTP id 221Dm1L7023694 for ; Tue, 1 Mar 2022 14:22:31 GMT Received: from ppma04ams.nl.ibm.com (63.31.33a9.ip4.static.sl-reverse.com [169.51.49.99]) by mx0a-001b2d01.pphosted.com with ESMTP id 3ehmnygwty-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 01 Mar 2022 14:22:31 +0000 Received: from pps.filterd (ppma04ams.nl.ibm.com [127.0.0.1]) by ppma04ams.nl.ibm.com (8.16.1.2/8.16.1.2) with SMTP id 221EJUSS011242; Tue, 1 Mar 2022 14:22:28 GMT Received: from b06avi18626390.portsmouth.uk.ibm.com (b06avi18626390.portsmouth.uk.ibm.com [9.149.26.192]) by ppma04ams.nl.ibm.com with ESMTP id 3egbj171fj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 01 Mar 2022 14:22:28 +0000 Received: from d06av25.portsmouth.uk.ibm.com (d06av25.portsmouth.uk.ibm.com [9.149.105.61]) by b06avi18626390.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 221EBXK747907072 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 1 Mar 2022 14:11:33 GMT Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 515E811C04A; Tue, 1 Mar 2022 14:22:26 +0000 (GMT) Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 7588D11C054; Tue, 1 Mar 2022 14:22:25 +0000 (GMT) Received: from linux6.. (unknown [9.114.12.104]) by d06av25.portsmouth.uk.ibm.com (Postfix) with ESMTP; Tue, 1 Mar 2022 14:22:25 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding; s=pp1; bh=n6ym++9e3LIqur/Z77FCizgmO+QF5RvXmMmGz755F2Y=; b=ndbcIgIdFP+PCRDNh/fQFqv+tPI1g058RfLN3vGmf8FeA3UICLFo9nQeH7kX8EafKyx9 OgHMo0NBXL39CKHG7vVU9GulbljeWtULZFfeBPJ6AksT79bp252HwNylPzUdtcpdy4R9 ExY1wUOwS4Zu+V2Ad1bR6TtKTa82Rdh4haaTnfNfKCiM3/rhNVcVSclVdL8t9edv5Mfm 3MMlWc29X7YVw0EmfoH5rmJy5nfMY72NZjsixCZuC2atzXwANrju2rdG7ROTFlcbLsIc JFyRJ/o0zChdy19iFfsvsNglgfpEcmsvANSrftu0K9LSgM0AiX5MH2hQtLVbRjOJVkP9 Hw== From: Janosch Frank To: qemu-devel@nongnu.org Subject: [PATCH 4/7] dump: Introduce dump_is_64bit() helper function Date: Tue, 1 Mar 2022 14:22:10 +0000 Message-Id: <20220301142213.28568-5-frankja@linux.ibm.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220301142213.28568-1-frankja@linux.ibm.com> References: <20220301142213.28568-1-frankja@linux.ibm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Proofpoint-GUID: EOmwK3WwYea2gg80BWsDZhWiwn6DVX2A X-Proofpoint-ORIG-GUID: ojJ16Xv-myseojBDx5gPnp8hTiuxKc_w X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.64.514 definitions=2022-03-01_07,2022-02-26_01,2022-02-23_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 adultscore=0 mlxlogscore=843 lowpriorityscore=0 bulkscore=0 spamscore=0 phishscore=0 mlxscore=0 priorityscore=1501 suspectscore=0 impostorscore=0 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2201110000 definitions=main-2203010077 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=148.163.156.1; envelope-from=frankja@linux.ibm.com; helo=mx0a-001b2d01.pphosted.com X-Spam_score_int: -19 X-Spam_score: -2.0 X-Spam_bar: -- X-Spam_report: (-2.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: marcandre.lureau@redhat.com, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @ibm.com) X-ZM-MESSAGEID: 1646145162661100003 Content-Type: text/plain; charset="utf-8" Checking d_class in dump_info leads to lengthy conditionals so let's shorten things a bit by introducing a helper function. Signed-off-by: Janosch Frank --- dump/dump.c | 14 +++++++------- include/sysemu/dump.h | 6 ++++++ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/dump/dump.c b/dump/dump.c index 242f83db95..bb152bddff 100644 --- a/dump/dump.c +++ b/dump/dump.c @@ -481,7 +481,7 @@ static void write_elf_loads(DumpState *s, Error **errp) get_offset_range(memory_mapping->phys_addr, memory_mapping->length, s, &offset, &filesz); - if (s->dump_info.d_class =3D=3D ELFCLASS64) { + if (dump_is_64bit(s)) { write_elf64_load(s, memory_mapping, phdr_index++, offset, filesz, &local_err); } else { @@ -530,7 +530,7 @@ static void dump_begin(DumpState *s, Error **errp) */ =20 /* write elf header to vmcore */ - if (s->dump_info.d_class =3D=3D ELFCLASS64) { + if (dump_is_64bit(s)) { write_elf64_header(s, &local_err); } else { write_elf32_header(s, &local_err); @@ -540,7 +540,7 @@ static void dump_begin(DumpState *s, Error **errp) return; } =20 - if (s->dump_info.d_class =3D=3D ELFCLASS64) { + if (dump_is_64bit(s)) { /* write PT_NOTE to vmcore */ write_elf64_note(s, &local_err); if (local_err) { @@ -761,7 +761,7 @@ static void get_note_sizes(DumpState *s, const void *no= te, uint64_t name_sz; uint64_t desc_sz; =20 - if (s->dump_info.d_class =3D=3D ELFCLASS64) { + if (dump_is_64bit(s)) { const Elf64_Nhdr *hdr =3D note; note_head_sz =3D sizeof(Elf64_Nhdr); name_sz =3D tswap64(hdr->n_namesz); @@ -1023,7 +1023,7 @@ out: =20 static void write_dump_header(DumpState *s, Error **errp) { - if (s->dump_info.d_class =3D=3D ELFCLASS32) { + if (!dump_is_64bit(s)) { create_header32(s, errp); } else { create_header64(s, errp); @@ -1716,7 +1716,7 @@ static void dump_init(DumpState *s, int fd, bool has_= format, uint32_t size; uint16_t format; =20 - note_head_size =3D s->dump_info.d_class =3D=3D ELFCLASS32 ? + note_head_size =3D !dump_is_64bit(s) ? sizeof(Elf32_Nhdr) : sizeof(Elf64_Nhdr); =20 format =3D le16_to_cpu(vmci->vmcoreinfo.guest_format); @@ -1821,7 +1821,7 @@ static void dump_init(DumpState *s, int fd, bool has_= format, } } =20 - if (s->dump_info.d_class =3D=3D ELFCLASS64) { + if (dump_is_64bit(s)) { s->phdr_offset =3D sizeof(Elf64_Ehdr); s->shdr_offset =3D s->phdr_offset + sizeof(Elf64_Phdr) * s->phdr_n= um; s->note_offset =3D s->shdr_offset + sizeof(Elf64_Shdr) * s->shdr_n= um; diff --git a/include/sysemu/dump.h b/include/sysemu/dump.h index ffc2ea1072..078b3d57a1 100644 --- a/include/sysemu/dump.h +++ b/include/sysemu/dump.h @@ -203,4 +203,10 @@ typedef struct DumpState { uint16_t cpu_to_dump16(DumpState *s, uint16_t val); uint32_t cpu_to_dump32(DumpState *s, uint32_t val); uint64_t cpu_to_dump64(DumpState *s, uint64_t val); + +static inline bool dump_is_64bit(DumpState *s) +{ + return s->dump_info.d_class =3D=3D ELFCLASS64; +} + #endif --=20 2.32.0 From nobody Sun Feb 8 12:31:55 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linux.ibm.com ARC-Seal: i=1; a=rsa-sha256; t=1646144868; cv=none; d=zohomail.com; s=zohoarc; b=KlFzCkpW6aKEeimRYnVs9rED5IAcXMPaMuJ3FUL3aKTASiXZDmL8xNmGqsXbuOZl350dJSmqFFdKIvk/dguZi3sOqvfZA0orbqXdAzPPpSRDH1Z03Qr9d2mNxqdrcc6nb/wuAJfJtEChsWAZ4iZaVuHbtbMJdSyOpqNDDcZT3ag= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1646144868; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=MwmefBwBISwgZgaq6W6wOW4IcMImSK3fFClqr+h3B4w=; b=C7zhevWM8pETSsw+BYyiO/vypm3mg2K6BtxDfk/+Q+p9Wnjt0xi0eF7bREifOdNOKqT9oifE+HFdBzRHUEGWxPVYAMEHoZIEoozAfUGjnxdR4xQ8SmumpI5VQ51SpPXLFX7jN3t1qJEXklF3pMXGZ5CdvoyjyQ+OQLfqqS9ewIs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 16461448686011016.5298029737794; Tue, 1 Mar 2022 06:27:48 -0800 (PST) Received: from localhost ([::1]:56342 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nP3Tf-0001Pr-5Y for importer@patchew.org; Tue, 01 Mar 2022 09:27:47 -0500 Received: from eggs.gnu.org ([209.51.188.92]:40784) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nP3Oe-0002lD-AC for qemu-devel@nongnu.org; Tue, 01 Mar 2022 09:22:37 -0500 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:54670 helo=mx0a-001b2d01.pphosted.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nP3Ob-0007Ll-2w for qemu-devel@nongnu.org; Tue, 01 Mar 2022 09:22:36 -0500 Received: from pps.filterd (m0098419.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 221Cpa5l013930 for ; Tue, 1 Mar 2022 14:22:32 GMT Received: from pps.reinject (localhost [127.0.0.1]) by mx0b-001b2d01.pphosted.com with ESMTP id 3ehkv5j7ta-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 01 Mar 2022 14:22:32 +0000 Received: from m0098419.ppops.net (m0098419.ppops.net [127.0.0.1]) by pps.reinject (8.16.0.43/8.16.0.43) with SMTP id 221DkYas020326 for ; Tue, 1 Mar 2022 14:22:31 GMT Received: from ppma01fra.de.ibm.com (46.49.7a9f.ip4.static.sl-reverse.com [159.122.73.70]) by mx0b-001b2d01.pphosted.com with ESMTP id 3ehkv5j7sy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 01 Mar 2022 14:22:31 +0000 Received: from pps.filterd (ppma01fra.de.ibm.com [127.0.0.1]) by ppma01fra.de.ibm.com (8.16.1.2/8.16.1.2) with SMTP id 221EJQEb014250; Tue, 1 Mar 2022 14:22:30 GMT Received: from b06cxnps4075.portsmouth.uk.ibm.com (d06relay12.portsmouth.uk.ibm.com [9.149.109.197]) by ppma01fra.de.ibm.com with ESMTP id 3efbu92tm3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 01 Mar 2022 14:22:29 +0000 Received: from d06av25.portsmouth.uk.ibm.com (d06av25.portsmouth.uk.ibm.com [9.149.105.61]) by b06cxnps4075.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 221EMR3C24904030 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 1 Mar 2022 14:22:27 GMT Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 6D4E511C054; Tue, 1 Mar 2022 14:22:27 +0000 (GMT) Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 9F6BA11C04A; Tue, 1 Mar 2022 14:22:26 +0000 (GMT) Received: from linux6.. (unknown [9.114.12.104]) by d06av25.portsmouth.uk.ibm.com (Postfix) with ESMTP; Tue, 1 Mar 2022 14:22:26 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding; s=pp1; bh=MwmefBwBISwgZgaq6W6wOW4IcMImSK3fFClqr+h3B4w=; b=hHxIkIODwbKGxbACChwxfbqx7GpsqbrBHZt/TwF1tCMd1pLVHWP/hOorF7jIibxmU7oX uIuRc23Yg5Nm1J8KKaBio/Ob098y4YrST0ZyMSeidrBHsc9Fx9NYTZKy44Zg4znawztO Pr9SVz9Sw/lS1/hwnBG0TK2ftPeSWfYwmrBpmOWwZg8f2dnQQHIh/ItFZLQGDN26rslk ophoJcUJFBLBXRMcuNrZqFs+y0OLNRlT8f1oqqHCM1vriuixQuvn+H1kBH6m7XaBx8d8 2OlZF/a9mv38E1+tZbmITl21zDIbYd/LYCMlmY8AE/BZ+bEUv8RVx1mwXnWSym9faDvt QQ== From: Janosch Frank To: qemu-devel@nongnu.org Subject: [PATCH 5/7] dump: Consolidate phdr note writes Date: Tue, 1 Mar 2022 14:22:11 +0000 Message-Id: <20220301142213.28568-6-frankja@linux.ibm.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220301142213.28568-1-frankja@linux.ibm.com> References: <20220301142213.28568-1-frankja@linux.ibm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: oGdhM9Sl46JZG7MA_VE1cJw7PMF9qzRJ X-Proofpoint-GUID: 2DIBGC74YDge6jq9OGI4k1vJmCKiNwdH X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.64.514 definitions=2022-03-01_07,2022-02-26_01,2022-02-23_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 phishscore=0 bulkscore=0 adultscore=0 lowpriorityscore=0 mlxscore=0 impostorscore=0 priorityscore=1501 spamscore=0 suspectscore=0 mlxlogscore=642 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2201110000 definitions=main-2203010077 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=148.163.158.5; envelope-from=frankja@linux.ibm.com; helo=mx0a-001b2d01.pphosted.com X-Spam_score_int: -19 X-Spam_score: -2.0 X-Spam_bar: -- X-Spam_report: (-2.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: marcandre.lureau@redhat.com, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @ibm.com) X-ZM-MESSAGEID: 1646144869565100001 Content-Type: text/plain; charset="utf-8" There's no need to have two write functions. Let's rather have two functions that set the data for elf 32/64 and then write it in a common function. Signed-off-by: Janosch Frank --- dump/dump.c | 96 ++++++++++++++++++++++++++--------------------------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/dump/dump.c b/dump/dump.c index bb152bddff..88c2dbb466 100644 --- a/dump/dump.c +++ b/dump/dump.c @@ -231,24 +231,15 @@ static void write_elf32_load(DumpState *s, MemoryMapp= ing *memory_mapping, } } =20 -static void write_elf64_note(DumpState *s, Error **errp) +static void write_elf64_phdr_note(DumpState *s, Elf64_Phdr *phdr) { - Elf64_Phdr phdr; - int ret; - - memset(&phdr, 0, sizeof(Elf64_Phdr)); - phdr.p_type =3D cpu_to_dump32(s, PT_NOTE); - phdr.p_offset =3D cpu_to_dump64(s, s->note_offset); - phdr.p_paddr =3D 0; - phdr.p_filesz =3D cpu_to_dump64(s, s->note_size); - phdr.p_memsz =3D cpu_to_dump64(s, s->note_size); - phdr.p_vaddr =3D 0; - - ret =3D fd_write_vmcore(&phdr, sizeof(Elf64_Phdr), s); - if (ret < 0) { - error_setg_errno(errp, -ret, - "dump: failed to write program header table"); - } + memset(phdr, 0, sizeof(*phdr)); + phdr->p_type =3D cpu_to_dump32(s, PT_NOTE); + phdr->p_offset =3D cpu_to_dump64(s, s->note_offset); + phdr->p_paddr =3D 0; + phdr->p_filesz =3D cpu_to_dump64(s, s->note_size); + phdr->p_memsz =3D cpu_to_dump64(s, s->note_size); + phdr->p_vaddr =3D 0; } =20 static inline int cpu_index(CPUState *cpu) @@ -296,24 +287,15 @@ static void write_elf64_notes(WriteCoreDumpFunction f= , DumpState *s, write_guest_note(f, s, errp); } =20 -static void write_elf32_note(DumpState *s, Error **errp) +static void write_elf32_phdr_note(DumpState *s, Elf32_Phdr *phdr) { - Elf32_Phdr phdr; - int ret; - - memset(&phdr, 0, sizeof(Elf32_Phdr)); - phdr.p_type =3D cpu_to_dump32(s, PT_NOTE); - phdr.p_offset =3D cpu_to_dump32(s, s->note_offset); - phdr.p_paddr =3D 0; - phdr.p_filesz =3D cpu_to_dump32(s, s->note_size); - phdr.p_memsz =3D cpu_to_dump32(s, s->note_size); - phdr.p_vaddr =3D 0; - - ret =3D fd_write_vmcore(&phdr, sizeof(Elf32_Phdr), s); - if (ret < 0) { - error_setg_errno(errp, -ret, - "dump: failed to write program header table"); - } + memset(phdr, 0, sizeof(*phdr)); + phdr->p_type =3D cpu_to_dump32(s, PT_NOTE); + phdr->p_offset =3D cpu_to_dump32(s, s->note_offset); + phdr->p_paddr =3D 0; + phdr->p_filesz =3D cpu_to_dump32(s, s->note_size); + phdr->p_memsz =3D cpu_to_dump32(s, s->note_size); + phdr->p_vaddr =3D 0; } =20 static void write_elf32_notes(WriteCoreDumpFunction f, DumpState *s, @@ -343,6 +325,31 @@ static void write_elf32_notes(WriteCoreDumpFunction f,= DumpState *s, write_guest_note(f, s, errp); } =20 +static void write_elf_phdr_note(DumpState *s, Error **errp) +{ + Elf32_Phdr phdr32; + Elf64_Phdr phdr64; + void *phdr; + size_t size; + int ret; + + if (dump_is_64bit(s)) { + write_elf64_phdr_note(s, &phdr64); + size =3D sizeof(phdr64); + phdr =3D &phdr64; + } else { + write_elf32_phdr_note(s, &phdr32); + size =3D sizeof(phdr32); + phdr =3D &phdr32; + } + + ret =3D fd_write_vmcore(phdr, size, s); + if (ret < 0) { + error_setg_errno(errp, -ret, + "dump: failed to write program header table"); + } +} + static void write_elf_section(DumpState *s, int type, Error **errp) { Elf32_Shdr shdr32; @@ -540,14 +547,14 @@ static void dump_begin(DumpState *s, Error **errp) return; } =20 - if (dump_is_64bit(s)) { - /* write PT_NOTE to vmcore */ - write_elf64_note(s, &local_err); - if (local_err) { - error_propagate(errp, local_err); - return; - } + /* write PT_NOTE to vmcore */ + write_elf_phdr_note(s, &local_err); + if (local_err) { + error_propagate(errp, local_err); + return; + } =20 + if (dump_is_64bit(s)) { /* write all PT_LOAD to vmcore */ write_elf_loads(s, &local_err); if (local_err) { @@ -571,13 +578,6 @@ static void dump_begin(DumpState *s, Error **errp) return; } } else { - /* write PT_NOTE to vmcore */ - write_elf32_note(s, &local_err); - if (local_err) { - error_propagate(errp, local_err); - return; - } - /* write all PT_LOAD to vmcore */ write_elf_loads(s, &local_err); if (local_err) { --=20 2.32.0 From nobody Sun Feb 8 12:31:55 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linux.ibm.com ARC-Seal: i=1; a=rsa-sha256; t=1646145461; cv=none; d=zohomail.com; s=zohoarc; b=A7hWLQjjeDu4tfY76YSRLaNrp3Jfz41ShpOaFzWYRstiUiGTC2YXz3nPC7Knq4DJvxlxXC7tQrwDZCjltaXHRtlGBwnDMgl3pUDReCGgNE6tJhMwIBeCz6VazGmoBQY29aWhLVBpJC6g7E2Sn1sSidYKZhiefdvhvuPpYvjt+lg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1646145461; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=NNV1BcRZJ59KCx6eBmTQXkCCy618KTBFlmdEAe9WNAA=; b=b0aXw52pjW1WsV7eYnxIuHpp/2TzxfErAcnAbz7Orh8092Qi8iF0GJb1N3l/NT5IBKXDLeP6TTMCqHC1Hctru8gsXWWlwRHOcwVZVZJb/oXQrPcFvx2pT7h8GRqTJ6iTB3OlIzZstraQNpfnC2ozlbzR369haU4u5qCi2Uxx7XM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 164614546098744.33408030922908; Tue, 1 Mar 2022 06:37:40 -0800 (PST) Received: from localhost ([::1]:54742 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nP3dE-0002Zw-0J for importer@patchew.org; Tue, 01 Mar 2022 09:37:40 -0500 Received: from eggs.gnu.org ([209.51.188.92]:40818) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nP3Og-0002m2-H8 for qemu-devel@nongnu.org; Tue, 01 Mar 2022 09:22:39 -0500 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:52930) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nP3Oe-0007OG-D5 for qemu-devel@nongnu.org; Tue, 01 Mar 2022 09:22:37 -0500 Received: from pps.filterd (m0098399.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 221DNM7V002260 for ; Tue, 1 Mar 2022 14:22:34 GMT Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com with ESMTP id 3ehgc6q8ky-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 01 Mar 2022 14:22:33 +0000 Received: from m0098399.ppops.net (m0098399.ppops.net [127.0.0.1]) by pps.reinject (8.16.0.43/8.16.0.43) with SMTP id 221DSf96025092 for ; Tue, 1 Mar 2022 14:22:33 GMT Received: from ppma06ams.nl.ibm.com (66.31.33a9.ip4.static.sl-reverse.com [169.51.49.102]) by mx0a-001b2d01.pphosted.com with ESMTP id 3ehgc6q8kc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 01 Mar 2022 14:22:33 +0000 Received: from pps.filterd (ppma06ams.nl.ibm.com [127.0.0.1]) by ppma06ams.nl.ibm.com (8.16.1.2/8.16.1.2) with SMTP id 221EKbUv006592; Tue, 1 Mar 2022 14:22:31 GMT Received: from b06cxnps4076.portsmouth.uk.ibm.com (d06relay13.portsmouth.uk.ibm.com [9.149.109.198]) by ppma06ams.nl.ibm.com with ESMTP id 3efbfjkxqw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 01 Mar 2022 14:22:30 +0000 Received: from d06av25.portsmouth.uk.ibm.com (d06av25.portsmouth.uk.ibm.com [9.149.105.61]) by b06cxnps4076.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 221EMSGR46989618 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 1 Mar 2022 14:22:28 GMT Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 8829711C04C; Tue, 1 Mar 2022 14:22:28 +0000 (GMT) Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id B644D11C04A; Tue, 1 Mar 2022 14:22:27 +0000 (GMT) Received: from linux6.. (unknown [9.114.12.104]) by d06av25.portsmouth.uk.ibm.com (Postfix) with ESMTP; Tue, 1 Mar 2022 14:22:27 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding; s=pp1; bh=NNV1BcRZJ59KCx6eBmTQXkCCy618KTBFlmdEAe9WNAA=; b=XQl0iOk6/r2hNoXMSmFCzTNxaqCtWjUXpu2EespkbnI6DqcTOVN7N2yLb4hLm1atq3O+ WLEiLld9lJjHpZobjOm9t4iRMGnF8BmXYHo+3Io3MSi08mJ9kALqGdeVzso/55DASA+q M/psz3BewsVDyDxOPuVCXheInQi9H0pNZIXtrdg9TCIrcQ7io2pbudo/+7boGKaEyJ4Z 3YzME2RwBYmjybLO7MdLUxSJmJfYkb4zvmz+xqR/TNS+zXnHanW4iLkFTCT0twuFz6fD 5lSZrGt3x/mgaTnHd+icr8OGiY164NSSJRKYdXqpEQb2wBy/tRHIZayUIUnENAQ8hoAa 0Q== From: Janosch Frank To: qemu-devel@nongnu.org Subject: [PATCH 6/7] dump: Cleanup dump_begin write functions Date: Tue, 1 Mar 2022 14:22:12 +0000 Message-Id: <20220301142213.28568-7-frankja@linux.ibm.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220301142213.28568-1-frankja@linux.ibm.com> References: <20220301142213.28568-1-frankja@linux.ibm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Proofpoint-GUID: Ak7lG_XXmnQ9022NZFqzZZLomuzD34CX X-Proofpoint-ORIG-GUID: y107RcEJTCEWZCM5bs7l6eJmzmB79s2C X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.64.514 definitions=2022-03-01_07,2022-02-26_01,2022-02-23_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 mlxlogscore=819 spamscore=0 malwarescore=0 impostorscore=0 adultscore=0 suspectscore=0 lowpriorityscore=0 phishscore=0 priorityscore=1501 clxscore=1015 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2201110000 definitions=main-2203010077 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=148.163.156.1; envelope-from=frankja@linux.ibm.com; helo=mx0a-001b2d01.pphosted.com X-Spam_score_int: -19 X-Spam_score: -2.0 X-Spam_bar: -- X-Spam_report: (-2.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: marcandre.lureau@redhat.com, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @ibm.com) X-ZM-MESSAGEID: 1646145461983100001 Content-Type: text/plain; charset="utf-8" There's no need to have a gigantic if in there let's move the elf 32/64 bit logic into the section, segment or note code. Signed-off-by: Janosch Frank --- dump/dump.c | 52 ++++++++++++++++------------------------------------ 1 file changed, 16 insertions(+), 36 deletions(-) diff --git a/dump/dump.c b/dump/dump.c index 88c2dbb466..78654b9c27 100644 --- a/dump/dump.c +++ b/dump/dump.c @@ -554,52 +554,32 @@ static void dump_begin(DumpState *s, Error **errp) return; } =20 - if (dump_is_64bit(s)) { - /* write all PT_LOAD to vmcore */ - write_elf_loads(s, &local_err); + /* write all PT_LOAD to vmcore */ + write_elf_loads(s, &local_err); + if (local_err) { + error_propagate(errp, local_err); + return; + } + + /* write section to vmcore */ + if (s->shdr_num) { + write_elf_section(s, 1, &local_err); if (local_err) { error_propagate(errp, local_err); return; } + } =20 - /* write section to vmcore */ - if (s->shdr_num) { - write_elf_section(s, 1, &local_err); - if (local_err) { - error_propagate(errp, local_err); - return; - } - } - + if (dump_is_64bit(s)) { /* write notes to vmcore */ write_elf64_notes(fd_write_vmcore, s, &local_err); - if (local_err) { - error_propagate(errp, local_err); - return; - } } else { - /* write all PT_LOAD to vmcore */ - write_elf_loads(s, &local_err); - if (local_err) { - error_propagate(errp, local_err); - return; - } - - /* write section to vmcore */ - if (s->shdr_num) { - write_elf_section(s, 0, &local_err); - if (local_err) { - error_propagate(errp, local_err); - return; - } - } - /* write notes to vmcore */ write_elf32_notes(fd_write_vmcore, s, &local_err); - if (local_err) { - error_propagate(errp, local_err); - return; - } + } + if (local_err) { + error_propagate(errp, local_err); + return; } } =20 --=20 2.32.0 From nobody Sun Feb 8 12:31:55 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linux.ibm.com ARC-Seal: i=1; a=rsa-sha256; t=1646145279; cv=none; d=zohomail.com; s=zohoarc; b=Fg3NL6ESRrsDBQWL594JFak6x52H6CptBPn/rPK8oX0GBkbHVLjDM0Oj4lUwzGpfZmy3dL9ll+V/7gO0uY0PNVHG3NhSgIa6l9/dRu9ZIh4mCh5QD8cpj789SYgtI5pnrLodVWweeHXJH6RVnp+SgsX5hTZn6SXhAkDPJjeSaWw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1646145279; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=PbVrMKq3KAZgF8tAr5bQ63dRTvoJpIGdxtmwDdMQQn4=; b=n5sxOhHUPGJCsRz6w+AhdFg9XzF6WkwLVNXqfdQtD8hto6NRv7Dlz8mQE2XAt5Mw9MKI696ogmQ346OCt1rTyBrTyO2DBM9SjuC6SQ4MDgCsiHN/DLHxeqdR9cQyQrveurXkjW9ymbxcUppYoFN9kttTgrh5pCxkhhh072WUxtM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1646145279967732.2455921418014; Tue, 1 Mar 2022 06:34:39 -0800 (PST) Received: from localhost ([::1]:47208 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nP3aI-0005t4-UN for importer@patchew.org; Tue, 01 Mar 2022 09:34:38 -0500 Received: from eggs.gnu.org ([209.51.188.92]:40796) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nP3Oe-0002lH-PJ for qemu-devel@nongnu.org; Tue, 01 Mar 2022 09:22:37 -0500 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:21202) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nP3Od-0007OP-57 for qemu-devel@nongnu.org; Tue, 01 Mar 2022 09:22:36 -0500 Received: from pps.filterd (m0098421.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 221DBtrE032680 for ; Tue, 1 Mar 2022 14:22:34 GMT Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com with ESMTP id 3ehm5esra3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 01 Mar 2022 14:22:34 +0000 Received: from m0098421.ppops.net (m0098421.ppops.net [127.0.0.1]) by pps.reinject (8.16.0.43/8.16.0.43) with SMTP id 221EB09k025614 for ; Tue, 1 Mar 2022 14:22:33 GMT Received: from ppma06ams.nl.ibm.com (66.31.33a9.ip4.static.sl-reverse.com [169.51.49.102]) by mx0a-001b2d01.pphosted.com with ESMTP id 3ehm5esr9k-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 01 Mar 2022 14:22:33 +0000 Received: from pps.filterd (ppma06ams.nl.ibm.com [127.0.0.1]) by ppma06ams.nl.ibm.com (8.16.1.2/8.16.1.2) with SMTP id 221EK7Da006113; Tue, 1 Mar 2022 14:22:32 GMT Received: from b06cxnps3074.portsmouth.uk.ibm.com (d06relay09.portsmouth.uk.ibm.com [9.149.109.194]) by ppma06ams.nl.ibm.com with ESMTP id 3efbfjkxqx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 01 Mar 2022 14:22:31 +0000 Received: from d06av25.portsmouth.uk.ibm.com (d06av25.portsmouth.uk.ibm.com [9.149.105.61]) by b06cxnps3074.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 221EMT4g50987354 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 1 Mar 2022 14:22:29 GMT Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id AD08211C04C; Tue, 1 Mar 2022 14:22:29 +0000 (GMT) Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id D464111C04A; Tue, 1 Mar 2022 14:22:28 +0000 (GMT) Received: from linux6.. (unknown [9.114.12.104]) by d06av25.portsmouth.uk.ibm.com (Postfix) with ESMTP; Tue, 1 Mar 2022 14:22:28 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding; s=pp1; bh=PbVrMKq3KAZgF8tAr5bQ63dRTvoJpIGdxtmwDdMQQn4=; b=J/1YgrgMseZ/ffDHjc+qj5uPpYX0rmRO4ZrvWvSYzy0DnaCoU52MbTIWufTTfrVMHVOY fiyOYgZ8Xvu/l8koq0cMJiFjSvdxRWbl6+PM+p10byAVGhQ1D1npF2eyPLVTWa3TFivX JDG25zfIra9q0ZEr8zm78yiiZ8NWRx2RrTGQM1U7f//UyNZTuXqGpF/b2a9di3vz+3MH kvp8AxbUOAZ7EiSWy1FKahwjKYzj93x95UAERINzDENhm/B+Yr7wj+3Vb0cvBc0ADMbQ t2yy/Ry6259XuhvzYQHEr/uiIXxprwVrOIRzZUOmNMjkqwX0c2R+WsItrMZs+eKbfyrP pg== From: Janosch Frank To: qemu-devel@nongnu.org Subject: [PATCH 7/7] dump: Consolidate elf note function Date: Tue, 1 Mar 2022 14:22:13 +0000 Message-Id: <20220301142213.28568-8-frankja@linux.ibm.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220301142213.28568-1-frankja@linux.ibm.com> References: <20220301142213.28568-1-frankja@linux.ibm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: 1OnerehdrSgUSRDtz7Q5KrLgX4GCA96M X-Proofpoint-GUID: 1LnaZevy4UZg7NXNPfsUEG5TON3UHBtH X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.64.514 definitions=2022-03-01_07,2022-02-26_01,2022-02-23_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 mlxscore=0 impostorscore=0 adultscore=0 bulkscore=0 phishscore=0 malwarescore=0 suspectscore=0 spamscore=0 mlxlogscore=562 lowpriorityscore=0 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2201110000 definitions=main-2203010077 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=148.163.158.5; envelope-from=frankja@linux.ibm.com; helo=mx0b-001b2d01.pphosted.com X-Spam_score_int: -19 X-Spam_score: -2.0 X-Spam_bar: -- X-Spam_report: (-2.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: marcandre.lureau@redhat.com, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @ibm.com) X-ZM-MESSAGEID: 1646145281986100003 Content-Type: text/plain; charset="utf-8" Just like with the other write functions let's move the 32/64 bit elf handling to a function to improve readability. Signed-off-by: Janosch Frank --- dump/dump.c | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/dump/dump.c b/dump/dump.c index 78654b9c27..9ba0392e00 100644 --- a/dump/dump.c +++ b/dump/dump.c @@ -507,6 +507,21 @@ static void write_elf_loads(DumpState *s, Error **errp) } } =20 +static void write_elf_notes(DumpState *s, Error **errp) +{ + Error *local_err =3D NULL; + + if (dump_is_64bit(s)) { + write_elf64_notes(fd_write_vmcore, s, &local_err); + } else { + write_elf32_notes(fd_write_vmcore, s, &local_err); + } + if (local_err) { + error_propagate(errp, local_err); + return; + } +} + /* write elf header, PT_NOTE and elf note to vmcore. */ static void dump_begin(DumpState *s, Error **errp) { @@ -570,13 +585,8 @@ static void dump_begin(DumpState *s, Error **errp) } } =20 - if (dump_is_64bit(s)) { - /* write notes to vmcore */ - write_elf64_notes(fd_write_vmcore, s, &local_err); - } else { - /* write notes to vmcore */ - write_elf32_notes(fd_write_vmcore, s, &local_err); - } + /* write notes to vmcore */ + write_elf_notes(s, &local_err); if (local_err) { error_propagate(errp, local_err); return; --=20 2.32.0