From nobody Tue Feb 10 01:16:10 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=philmd@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1620398644; cv=none; d=zohomail.com; s=zohoarc; b=CkmxrSiV57G0ccn0EvDRaaGijnDqU6mmrpIGzfZba5Oqhpg7HNNJ7CLSPFXUpWQWxzbz9xqwdA5YsUMdL41H8ztKpbgBbM3jbmWyJlausDTykDhYiuf8xx3U/3BeMfWxGUtcSgIDTyEPHbjsnuNfIRWjmkRv0a0TDgwniy9I5FA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620398644; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=VXb/SdsglaW/QeR809+FkWbDDukXToeT9LG+jBzD2Ak=; b=ASQc8ZNPoKtErZdOOOYb4H2Okg7fXCEL3OfMwPnunQ9++02fiy+muebHNNyfELevS3lCWRtELF17eOK7tKkQtHwBdqMvTinx/kByDD7SeCiedkIZdVqTkYBElAakI0mDAR2IVUiVCchwVZUie50HMU+jBVhc13TpHPZd+O4qzTA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1620398644611840.555535910525; Fri, 7 May 2021 07:44:04 -0700 (PDT) Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-211-v0QgpFftNRamJ5G_is59Yw-1; Fri, 07 May 2021 10:44:01 -0400 Received: by mail-wr1-f70.google.com with SMTP id 65-20020adf82c70000b0290107593a42c3so3700923wrc.5 for ; Fri, 07 May 2021 07:44:01 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (astrasbourg-652-1-219-60.w90-40.abo.wanadoo.fr. [90.40.114.60]) by smtp.gmail.com with ESMTPSA id v13sm8883864wrt.65.2021.05.07.07.43.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 07 May 2021 07:44:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1620398643; 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: in-reply-to:in-reply-to:references:references; bh=VXb/SdsglaW/QeR809+FkWbDDukXToeT9LG+jBzD2Ak=; b=NdV3KcBaBxPdcdPawJGW+qo0sV7BVOUVGrszLU/9qcz7zpAPjXoHay0i9/pdpiM+Kq0Dgg 316Xc/zDa6O27uQm2rcM8antPHx1WVFHMjwuQa43L+Nn+Z/xGEFMeZ0JOHKJSYR46s1oKf 7XYtQy536rtL4oGTXN6gj+qbsJmU73c= X-MC-Unique: v0QgpFftNRamJ5G_is59Yw-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=VXb/SdsglaW/QeR809+FkWbDDukXToeT9LG+jBzD2Ak=; b=DB3B4LUACF26Dde1cKnSvUc908U4Us0oJImm8e6k9D2A2LTFTd2+j/rjrjNlp1Appc 4CVKhD8pMGK24J1aJwFh/jzrij/s4+Gq9maDH1+6TkE3+CKJji7mc3+qSOa+kdRZ95r0 xxOuqzhLDVMn/t8GNkdpRtED7mxLLqrZGo3uIF5wUMKKhwcHA0mekJIul/4aiAygf+0v OFwWSdv1/hToZeI1gYH3nglZhMdqA/qJBc1WTCzpzsWM2bfzNb8sCyECVe3XApUKEBWH jSSh4c81wgau+/ole4+T5KTTQ99s05doMkIPQ8YFQjsT2YDJJSVCKzclZMzdrFAjci1c UspA== X-Gm-Message-State: AOAM5328x5NgqGovLA6m3v+JhUhokZwpK4Zd/pVq2u9kANyHNYgfdhGb pLAknWenXWleZdxEgmgvWYaTcZ08SgR1rcg3oGvCxTIqg4coxIVc8Pj1fetTSssR31nzxy0Z47X 6ZeAgjmkaeSZLxw== X-Received: by 2002:adf:f5c6:: with SMTP id k6mr13450291wrp.338.1620398640705; Fri, 07 May 2021 07:44:00 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyIYqu7g0FIq8SCVQnMmTws2rDcXfTUEbAeQnUtRQ+O103KeVplYGEoYEo0zclOShBCiqkK6w== X-Received: by 2002:adf:f5c6:: with SMTP id k6mr13450277wrp.338.1620398640536; Fri, 07 May 2021 07:44:00 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Laurent Vivier , Paolo Bonzini , qemu-ppc@nongnu.org, Peter Maydell , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Gerd Hoffmann , qemu-arm@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 09/17] linux-user/syscall: Replace alloca() by GLib alloc() in sendrecvmsg Date: Fri, 7 May 2021 16:43:07 +0200 Message-Id: <20210507144315.1994337-10-philmd@redhat.com> X-Mailer: git-send-email 2.26.3 In-Reply-To: <20210507144315.1994337-1-philmd@redhat.com> References: <20210507144315.1994337-1-philmd@redhat.com> MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=philmd@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) The ALLOCA(3) man-page mentions its "use is discouraged". Use autofree heap allocation instead (returning ENOMEM on failure). Suggested-by: Peter Maydell Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- linux-user/syscall.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 593241362a9..c88e240ff93 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -3358,13 +3358,19 @@ static abi_long do_sendrecvmsg_locked(int fd, struc= t target_msghdr *msgp, abi_ulong count; struct iovec *vec; abi_ulong target_vec; + g_autofree void *msg_control =3D NULL; =20 if (msgp->msg_name) { msg.msg_namelen =3D tswap32(msgp->msg_namelen); - msg.msg_name =3D alloca(msg.msg_namelen+1); + msg.msg_name =3D g_try_malloc(msg.msg_namelen + 1); + if (!msg.msg_name) { + ret =3D -TARGET_ENOMEM; + goto out2; + } ret =3D target_to_host_sockaddr(fd, msg.msg_name, tswapal(msgp->msg_name), msg.msg_namelen); + g_free(msg.msg_name); if (ret =3D=3D -TARGET_EFAULT) { /* For connected sockets msg_name and msg_namelen must * be ignored, so returning EFAULT immediately is wrong. @@ -3401,8 +3407,7 @@ static abi_long do_sendrecvmsg_locked(int fd, struct = target_msghdr *msgp, msg.msg_iov =3D vec; msg.msg_flags =3D tswap32(msgp->msg_flags); msg.msg_controllen =3D 2 * tswapal(msgp->msg_controllen); - msg.msg_control =3D alloca(msg.msg_controllen); - memset(msg.msg_control, 0, msg.msg_controllen); + msg.msg_control =3D msg_control =3D g_malloc0(msg.msg_controllen); =20 if (send) { if (fd_trans_target_to_host_data(fd)) { --=20 2.26.3