From nobody Sat May 18 08:47:09 2024 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=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1676440137; cv=none; d=zohomail.com; s=zohoarc; b=R+oM/NPvXxYn+IDYMKiRj/tmSUqib1FSEe9wMBYS26MJZGGijJI9U9dCGxEV5x1KRUvLsXdWkoTLExGmN6JtrWlwjLqKY2XxfWELbOQXwXljavmW2D6+SnajhMO7PH2YLq9ErmfoanSaC8EGcHYggQWEzbdVKYWDXzjzscEGox4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1676440137; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=98xHideJ8ydOXJTi8FVjK6+upOKoI89pqBl6/nCWCJA=; b=d95bpBY5pRUK30GBL0qtAyeaXMEsn6dF8XzzhEKFoYUkaD8nLEQNElTBrpcwYF+G4MxZGVC61W1a7csWz6y3Lc+PYgJcg4tU9Q3+AkrubthIFudFYHU5FItbSKdKJQ2h4RBOUUbZgNv5OYDJvhxZFtwrdYMQ6zQ3fRY99oKZ4jI= 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 167644013759611.56959521028898; Tue, 14 Feb 2023 21:48:57 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pSAet-0002Fw-LZ; Wed, 15 Feb 2023 00:48:47 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pSAer-0002Dq-Vq for qemu-devel@nongnu.org; Wed, 15 Feb 2023 00:48:46 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pSAeq-0006Ce-8Y for qemu-devel@nongnu.org; Wed, 15 Feb 2023 00:48:45 -0500 Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-161-C71_e0MAMFqcwgoBF2vd8w-1; Wed, 15 Feb 2023 00:48:38 -0500 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 442821C05198; Wed, 15 Feb 2023 05:48:38 +0000 (UTC) Received: from thuth.com (unknown [10.39.192.41]) by smtp.corp.redhat.com (Postfix) with ESMTP id C7BEE1C55A; Wed, 15 Feb 2023 05:48:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1676440123; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=98xHideJ8ydOXJTi8FVjK6+upOKoI89pqBl6/nCWCJA=; b=CQmzAFRtLnhbYVC915D9BeenzBl6JvMKtwWY/uMhmm42DwNhQjYQGPTn+07Gv9ZbFNP5QN aZ+BwC9Q7QYVggOx01Rpy6hXMdNW1XjE7zuhnTI8k1SK8LTH2JdIBp36HYdJ8qWaHH8mcr q8ywXtXfQNP7xHjzcc5E3A+k9ux9i/M= X-MC-Unique: C71_e0MAMFqcwgoBF2vd8w-1 From: Thomas Huth To: qemu-s390x@nongnu.org, David Hildenbrand , frankja@linux.ibm.com, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Cc: qemu-devel@nongnu.org, Ilya Leoshkevich Subject: [PATCH] target/s390x/arch_dump: Simplify memory allocation in s390x_write_elf64_notes() Date: Wed, 15 Feb 2023 06:48:34 +0100 Message-Id: <20230215054834.726355-1-thuth@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.5 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=170.10.129.124; envelope-from=thuth@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1676440138851100003 We are not on a hot path here, so there is no real need for the logic here with the split heap and stack space allocation. Simplify it by always allocating memory from the heap. Suggested-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Thomas Huth Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- Based-on: <20230214141056.680969-1-thuth@redhat.com> target/s390x/arch_dump.c | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/target/s390x/arch_dump.c b/target/s390x/arch_dump.c index a7c44ba49d..84e17effda 100644 --- a/target/s390x/arch_dump.c +++ b/target/s390x/arch_dump.c @@ -227,25 +227,23 @@ static int s390x_write_elf64_notes(const char *note_n= ame, DumpState *s, const NoteFuncDesc *funcs) { - Note note, *notep; + g_autofree Note *notep =3D NULL; const NoteFuncDesc *nf; - int note_size, content_size; + int note_size, prev_size =3D 0, content_size; int ret =3D -1; =20 - assert(strlen(note_name) < sizeof(note.name)); + assert(strlen(note_name) < sizeof(notep->name)); =20 for (nf =3D funcs; nf->note_contents_func; nf++) { - notep =3D ¬e; if (nf->pvonly && !s390_is_pv()) { continue; } =20 content_size =3D nf->note_size_func ? nf->note_size_func() : nf->c= ontents_size; - note_size =3D sizeof(note) - sizeof(notep->contents) + content_siz= e; + note_size =3D sizeof(Note) - sizeof(notep->contents) + content_siz= e; =20 - /* Notes with dynamic sizes need to allocate a note */ - if (nf->note_size_func) { - notep =3D g_malloc(note_size); + if (prev_size < note_size) { + notep =3D g_realloc(notep, note_size); } =20 memset(notep, 0, note_size); @@ -258,15 +256,9 @@ static int s390x_write_elf64_notes(const char *note_na= me, /* Get contents and write them out */ (*nf->note_contents_func)(notep, cpu, id); ret =3D f(notep, note_size, s); - - if (nf->note_size_func) { - g_free(notep); - } - if (ret < 0) { return -1; } - } =20 return 0; --=20 2.31.1