From nobody Sun May 12 21:46:59 2024 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=libvir-list-bounces@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=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1631883514; cv=none; d=zohomail.com; s=zohoarc; b=oIdW7h8FvYf51et4wizvnhaEgk9bi1EFyDiPTNeHdn902t6QXeI3a+4hoGAeGIQBXOefp0OUlx4HIOAOLn5LmL0vrUWjBiSaujcb7UxG/oZ9OKsK28lFasXHzUkxI/HUXYw9L/cK2GzRnBiI7+JQ0hTP6Ot4JRz2bJExvay1jQU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1631883514; h=Content-Type: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=EI9tTM9ppKAMlAj6Q9gYNT0urLfuhz4H3AdZ43ISfio=; b=XcFVQBtGLfa8bYS+boDr6XgS9lOSlOFiGW6l+dx6o+c8ogvazwUrmsosbFrlHVJUS8ipXtOfqpJuuyovEymmRHysfXtrOsc6fD/uLgYfGVeb8Cdmayi0GO+ucU4j8/r+wt/2kozoj5M8cZKOVKBcB/lsq5/IdUxrUKv4XlCXn2A= 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=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: 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 1631883514332479.5484199251774; Fri, 17 Sep 2021 05:58:34 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-331-2QPYERrnP2Ox0fvDF-_oGw-1; Fri, 17 Sep 2021 08:58:32 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 0ED171800D41; Fri, 17 Sep 2021 12:58:27 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E54EB17D4E; Fri, 17 Sep 2021 12:58:26 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id B25CA4E9F5; Fri, 17 Sep 2021 12:58:26 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 18HCwNSQ010029 for ; Fri, 17 Sep 2021 08:58:23 -0400 Received: by smtp.corp.redhat.com (Postfix) id 3916260C2B; Fri, 17 Sep 2021 12:58:23 +0000 (UTC) Received: from work.speedport.ip (unknown [10.39.192.121]) by smtp.corp.redhat.com (Postfix) with ESMTP id 899F860843; Fri, 17 Sep 2021 12:58:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1631883513; h=from:from:sender:sender: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:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=EI9tTM9ppKAMlAj6Q9gYNT0urLfuhz4H3AdZ43ISfio=; b=dI+RWU6mGMUhYJpyNGSMShR+TYDRfnp/cT9ScrVqeRsBTUi1Fv7HjqRMXzQiiZvl1pNrw5 jA2LU7JDTX4a+tVfe0NVqKi9ljAcj0JUVUO+gnKpPV6FtKrRBDe9KMaKbQ4t16nXh2SMro Kprf0wEWJEikzQVV5h6MnK2meP+uJsE= X-MC-Unique: 2QPYERrnP2Ox0fvDF-_oGw-1 From: Tim Wiederhake To: libvir-list@redhat.com Subject: [libvirt PATCH 1/3] virNWFilterRuleDefFixup: Factor out ethHdr as variable Date: Fri, 17 Sep 2021 14:58:09 +0200 Message-Id: <20210917125811.25542-2-twiederh@redhat.com> In-Reply-To: <20210917125811.25542-1-twiederh@redhat.com> References: <20210917125811.25542-1-twiederh@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-loop: libvir-list@redhat.com Cc: Tim Wiederhake X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1631883515066100002 Content-Type: text/plain; charset="utf-8" This helps to bring down the frame size of virNWFilterRuleDefFixup, as it exceeds 8192 bytes when libvirt is build with sanitizers enabled, in debug mode, on clang. Signed-off-by: Tim Wiederhake --- src/conf/nwfilter_conf.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/conf/nwfilter_conf.c b/src/conf/nwfilter_conf.c index a3109962af..62334edeec 100644 --- a/src/conf/nwfilter_conf.c +++ b/src/conf/nwfilter_conf.c @@ -2189,23 +2189,23 @@ virNWFilterRuleValidate(virNWFilterRuleDef *rule) static void virNWFilterRuleDefFixup(virNWFilterRuleDef *rule) { + ethHdrDataDef *ethHdr; + #define COPY_NEG_SIGN(A, B) \ (A).flags =3D ((A).flags & ~NWFILTER_ENTRY_ITEM_FLAG_IS_NEG) | \ ((B).flags & NWFILTER_ENTRY_ITEM_FLAG_IS_NEG); =20 switch (rule->prtclType) { case VIR_NWFILTER_RULE_PROTOCOL_MAC: - COPY_NEG_SIGN(rule->p.ethHdrFilter.ethHdr.dataSrcMACMask, - rule->p.ethHdrFilter.ethHdr.dataSrcMACAddr); - COPY_NEG_SIGN(rule->p.ethHdrFilter.ethHdr.dataDstMACMask, - rule->p.ethHdrFilter.ethHdr.dataDstMACAddr); + ethHdr =3D &rule->p.ethHdrFilter.ethHdr; + COPY_NEG_SIGN(ethHdr->dataSrcMACMask, ethHdr->dataSrcMACAddr); + COPY_NEG_SIGN(ethHdr->dataDstMACMask, ethHdr->dataDstMACAddr); break; =20 case VIR_NWFILTER_RULE_PROTOCOL_VLAN: - COPY_NEG_SIGN(rule->p.vlanHdrFilter.ethHdr.dataSrcMACMask, - rule->p.vlanHdrFilter.ethHdr.dataSrcMACAddr); - COPY_NEG_SIGN(rule->p.vlanHdrFilter.ethHdr.dataDstMACMask, - rule->p.vlanHdrFilter.ethHdr.dataDstMACAddr); + ethHdr =3D &rule->p.vlanHdrFilter.ethHdr; + COPY_NEG_SIGN(ethHdr->dataSrcMACMask, ethHdr->dataSrcMACAddr); + COPY_NEG_SIGN(ethHdr->dataDstMACMask, ethHdr->dataDstMACAddr); break; =20 case VIR_NWFILTER_RULE_PROTOCOL_STP: --=20 2.31.1 From nobody Sun May 12 21:46:59 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@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 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1631883519; cv=none; d=zohomail.com; s=zohoarc; b=LXe1evx9msyn257kEAWzArSGP5V3tIOfLLPpgzQt5cpnDrze+TuD/kXPJSN6F3zLm3YQf6Uxro5FFovTov+Ur3KmTHbhQgtKVqaV76zOkWFBlgI16OdZ0NiiMaHFUxloctulwy1Pw2zzwoM73VE7LurUCUtaaIpXPaIKe43AWAQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1631883519; h=Content-Type: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=qqZl7ONYr/jn680tobLw86V7ao/2J9ToB5B6kVw/mfE=; b=mpuTxbyE4gfu4tJ4PUobL5khY2ukCxjyIMVQHIirRB96/sZ8ZkDOkmcPHkkxsUWyryYDgJaUPWvW0BEkHr/uZ89QB5TvOUlpXAHYEgywPDZTjdRuP7JFTIed8G7OAVYbpBGMz/p6KHHAu/avpCSWtGIijo+375ptMPt+n6UCK0A= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 16318835195891007.8217335494954; Fri, 17 Sep 2021 05:58:39 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-3-eSewy24GNh6z3BSdHfD3YQ-1; Fri, 17 Sep 2021 08:58:37 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 00491835DE7; Fri, 17 Sep 2021 12:58:32 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D4E2F60C9F; Fri, 17 Sep 2021 12:58:31 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id A49F94EA38; Fri, 17 Sep 2021 12:58:31 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 18HCwOhE010039 for ; Fri, 17 Sep 2021 08:58:24 -0400 Received: by smtp.corp.redhat.com (Postfix) id 65EA160938; Fri, 17 Sep 2021 12:58:24 +0000 (UTC) Received: from work.speedport.ip (unknown [10.39.192.121]) by smtp.corp.redhat.com (Postfix) with ESMTP id 8A28C60843; Fri, 17 Sep 2021 12:58:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1631883518; h=from:from:sender:sender: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:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=qqZl7ONYr/jn680tobLw86V7ao/2J9ToB5B6kVw/mfE=; b=hFb4XSbgQlvPHSgKCrzZ0qH3SzLJ3jpl/WICPsMmrjfZ+PXiChWVNR7gNLrM/pBqw+J7MJ dJpnR9Buvji5f34ncZNIeTtX7obvP/netn76xgNehVQSZYZuRJaI+CI3buq6/GRIpzBx2i 7jZobgMSh2ndJG3K0w/OjZfIBUxntLA= X-MC-Unique: eSewy24GNh6z3BSdHfD3YQ-1 From: Tim Wiederhake To: libvir-list@redhat.com Subject: [libvirt PATCH 2/3] virNWFilterRuleDefFixup: Factor out ipHdr as variable Date: Fri, 17 Sep 2021 14:58:10 +0200 Message-Id: <20210917125811.25542-3-twiederh@redhat.com> In-Reply-To: <20210917125811.25542-1-twiederh@redhat.com> References: <20210917125811.25542-1-twiederh@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-loop: libvir-list@redhat.com Cc: Tim Wiederhake X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1631883521465100001 Content-Type: text/plain; charset="utf-8" This helps to bring down the frame size of virNWFilterRuleDefFixup, as it exceeds 8192 bytes when libvirt is build with sanitizers enabled, in debug mode, on clang. Signed-off-by: Tim Wiederhake --- src/conf/nwfilter_conf.c | 132 +++++++++++++++------------------------ 1 file changed, 52 insertions(+), 80 deletions(-) diff --git a/src/conf/nwfilter_conf.c b/src/conf/nwfilter_conf.c index 62334edeec..2448e4b70b 100644 --- a/src/conf/nwfilter_conf.c +++ b/src/conf/nwfilter_conf.c @@ -2190,6 +2190,7 @@ static void virNWFilterRuleDefFixup(virNWFilterRuleDef *rule) { ethHdrDataDef *ethHdr; + ipHdrDataDef *ipHdr; =20 #define COPY_NEG_SIGN(A, B) \ (A).flags =3D ((A).flags & ~NWFILTER_ENTRY_ITEM_FLAG_IS_NEG) | \ @@ -2234,18 +2235,16 @@ virNWFilterRuleDefFixup(virNWFilterRuleDef *rule) break; =20 case VIR_NWFILTER_RULE_PROTOCOL_IP: - COPY_NEG_SIGN(rule->p.ipHdrFilter.ipHdr.dataSrcIPMask, - rule->p.ipHdrFilter.ipHdr.dataSrcIPAddr); - COPY_NEG_SIGN(rule->p.ipHdrFilter.ipHdr.dataDstIPMask, - rule->p.ipHdrFilter.ipHdr.dataDstIPAddr); + ipHdr =3D &rule->p.ipHdrFilter.ipHdr; + COPY_NEG_SIGN(ipHdr->dataSrcIPMask, ipHdr->dataSrcIPAddr); + COPY_NEG_SIGN(ipHdr->dataDstIPMask, ipHdr->dataDstIPAddr); virNWFilterRuleDefFixupIPSet(&rule->p.ipHdrFilter.ipHdr); break; =20 case VIR_NWFILTER_RULE_PROTOCOL_IPV6: - COPY_NEG_SIGN(rule->p.ipv6HdrFilter.ipHdr.dataSrcIPMask, - rule->p.ipv6HdrFilter.ipHdr.dataSrcIPAddr); - COPY_NEG_SIGN(rule->p.ipv6HdrFilter.ipHdr.dataDstIPMask, - rule->p.ipv6HdrFilter.ipHdr.dataDstIPAddr); + ipHdr =3D &rule->p.ipv6HdrFilter.ipHdr; + COPY_NEG_SIGN(ipHdr->dataSrcIPMask, ipHdr->dataSrcIPAddr); + COPY_NEG_SIGN(ipHdr->dataDstIPMask, ipHdr->dataDstIPAddr); COPY_NEG_SIGN(rule->p.ipv6HdrFilter.dataICMPTypeEnd, rule->p.ipv6HdrFilter.dataICMPTypeStart); COPY_NEG_SIGN(rule->p.ipv6HdrFilter.dataICMPCodeStart, @@ -2262,14 +2261,11 @@ virNWFilterRuleDefFixup(virNWFilterRuleDef *rule) =20 case VIR_NWFILTER_RULE_PROTOCOL_TCP: case VIR_NWFILTER_RULE_PROTOCOL_TCPoIPV6: - COPY_NEG_SIGN(rule->p.tcpHdrFilter.ipHdr.dataSrcIPMask, - rule->p.tcpHdrFilter.ipHdr.dataSrcIPAddr); - COPY_NEG_SIGN(rule->p.tcpHdrFilter.ipHdr.dataDstIPMask, - rule->p.tcpHdrFilter.ipHdr.dataDstIPAddr); - COPY_NEG_SIGN(rule->p.tcpHdrFilter.ipHdr.dataSrcIPTo, - rule->p.tcpHdrFilter.ipHdr.dataSrcIPFrom); - COPY_NEG_SIGN(rule->p.tcpHdrFilter.ipHdr.dataDstIPTo, - rule->p.tcpHdrFilter.ipHdr.dataDstIPFrom); + ipHdr =3D &rule->p.tcpHdrFilter.ipHdr; + COPY_NEG_SIGN(ipHdr->dataSrcIPMask, ipHdr->dataSrcIPAddr); + COPY_NEG_SIGN(ipHdr->dataDstIPMask, ipHdr->dataDstIPAddr); + COPY_NEG_SIGN(ipHdr->dataSrcIPTo, ipHdr->dataSrcIPFrom); + COPY_NEG_SIGN(ipHdr->dataDstIPTo, ipHdr->dataDstIPFrom); COPY_NEG_SIGN(rule->p.tcpHdrFilter.portData.dataSrcPortEnd, rule->p.tcpHdrFilter.portData.dataSrcPortStart); COPY_NEG_SIGN(rule->p.tcpHdrFilter.portData.dataDstPortStart, @@ -2281,14 +2277,11 @@ virNWFilterRuleDefFixup(virNWFilterRuleDef *rule) =20 case VIR_NWFILTER_RULE_PROTOCOL_UDP: case VIR_NWFILTER_RULE_PROTOCOL_UDPoIPV6: - COPY_NEG_SIGN(rule->p.udpHdrFilter.ipHdr.dataSrcIPMask, - rule->p.udpHdrFilter.ipHdr.dataSrcIPAddr); - COPY_NEG_SIGN(rule->p.udpHdrFilter.ipHdr.dataDstIPMask, - rule->p.udpHdrFilter.ipHdr.dataDstIPAddr); - COPY_NEG_SIGN(rule->p.udpHdrFilter.ipHdr.dataSrcIPTo, - rule->p.udpHdrFilter.ipHdr.dataSrcIPFrom); - COPY_NEG_SIGN(rule->p.udpHdrFilter.ipHdr.dataDstIPTo, - rule->p.udpHdrFilter.ipHdr.dataDstIPFrom); + ipHdr =3D &rule->p.udpHdrFilter.ipHdr; + COPY_NEG_SIGN(ipHdr->dataSrcIPMask, ipHdr->dataSrcIPAddr); + COPY_NEG_SIGN(ipHdr->dataDstIPMask, ipHdr->dataDstIPAddr); + COPY_NEG_SIGN(ipHdr->dataSrcIPTo, ipHdr->dataSrcIPFrom); + COPY_NEG_SIGN(ipHdr->dataDstIPTo, ipHdr->dataDstIPFrom); COPY_NEG_SIGN(rule->p.udpHdrFilter.portData.dataSrcPortEnd, rule->p.udpHdrFilter.portData.dataSrcPortStart); COPY_NEG_SIGN(rule->p.udpHdrFilter.portData.dataDstPortStart, @@ -2300,53 +2293,41 @@ virNWFilterRuleDefFixup(virNWFilterRuleDef *rule) =20 case VIR_NWFILTER_RULE_PROTOCOL_UDPLITE: case VIR_NWFILTER_RULE_PROTOCOL_UDPLITEoIPV6: - COPY_NEG_SIGN(rule->p.udpliteHdrFilter.ipHdr.dataSrcIPMask, - rule->p.udpliteHdrFilter.ipHdr.dataSrcIPAddr); - COPY_NEG_SIGN(rule->p.udpliteHdrFilter.ipHdr.dataDstIPMask, - rule->p.udpliteHdrFilter.ipHdr.dataDstIPAddr); - COPY_NEG_SIGN(rule->p.udpliteHdrFilter.ipHdr.dataSrcIPTo, - rule->p.udpliteHdrFilter.ipHdr.dataSrcIPFrom); - COPY_NEG_SIGN(rule->p.udpliteHdrFilter.ipHdr.dataDstIPTo, - rule->p.udpliteHdrFilter.ipHdr.dataDstIPFrom); + ipHdr =3D &rule->p.udpliteHdrFilter.ipHdr; + COPY_NEG_SIGN(ipHdr->dataSrcIPMask, ipHdr->dataSrcIPAddr); + COPY_NEG_SIGN(ipHdr->dataDstIPMask, ipHdr->dataDstIPAddr); + COPY_NEG_SIGN(ipHdr->dataSrcIPTo, ipHdr->dataSrcIPFrom); + COPY_NEG_SIGN(ipHdr->dataDstIPTo, ipHdr->dataDstIPFrom); virNWFilterRuleDefFixupIPSet(&rule->p.udpliteHdrFilter.ipHdr); break; =20 case VIR_NWFILTER_RULE_PROTOCOL_ESP: case VIR_NWFILTER_RULE_PROTOCOL_ESPoIPV6: - COPY_NEG_SIGN(rule->p.espHdrFilter.ipHdr.dataSrcIPMask, - rule->p.espHdrFilter.ipHdr.dataSrcIPAddr); - COPY_NEG_SIGN(rule->p.espHdrFilter.ipHdr.dataDstIPMask, - rule->p.espHdrFilter.ipHdr.dataDstIPAddr); - COPY_NEG_SIGN(rule->p.espHdrFilter.ipHdr.dataSrcIPTo, - rule->p.espHdrFilter.ipHdr.dataSrcIPFrom); - COPY_NEG_SIGN(rule->p.espHdrFilter.ipHdr.dataDstIPTo, - rule->p.espHdrFilter.ipHdr.dataDstIPFrom); + ipHdr =3D &rule->p.espHdrFilter.ipHdr; + COPY_NEG_SIGN(ipHdr->dataSrcIPMask, ipHdr->dataSrcIPAddr); + COPY_NEG_SIGN(ipHdr->dataDstIPMask, ipHdr->dataDstIPAddr); + COPY_NEG_SIGN(ipHdr->dataSrcIPTo, ipHdr->dataSrcIPFrom); + COPY_NEG_SIGN(ipHdr->dataDstIPTo, ipHdr->dataDstIPFrom); virNWFilterRuleDefFixupIPSet(&rule->p.espHdrFilter.ipHdr); break; =20 case VIR_NWFILTER_RULE_PROTOCOL_AH: case VIR_NWFILTER_RULE_PROTOCOL_AHoIPV6: - COPY_NEG_SIGN(rule->p.ahHdrFilter.ipHdr.dataSrcIPMask, - rule->p.ahHdrFilter.ipHdr.dataSrcIPAddr); - COPY_NEG_SIGN(rule->p.ahHdrFilter.ipHdr.dataDstIPMask, - rule->p.ahHdrFilter.ipHdr.dataDstIPAddr); - COPY_NEG_SIGN(rule->p.ahHdrFilter.ipHdr.dataSrcIPTo, - rule->p.ahHdrFilter.ipHdr.dataSrcIPFrom); - COPY_NEG_SIGN(rule->p.ahHdrFilter.ipHdr.dataDstIPTo, - rule->p.ahHdrFilter.ipHdr.dataDstIPFrom); + ipHdr =3D &rule->p.ahHdrFilter.ipHdr; + COPY_NEG_SIGN(ipHdr->dataSrcIPMask, ipHdr->dataSrcIPAddr); + COPY_NEG_SIGN(ipHdr->dataDstIPMask, ipHdr->dataDstIPAddr); + COPY_NEG_SIGN(ipHdr->dataSrcIPTo, ipHdr->dataSrcIPFrom); + COPY_NEG_SIGN(ipHdr->dataDstIPTo, ipHdr->dataDstIPFrom); virNWFilterRuleDefFixupIPSet(&rule->p.ahHdrFilter.ipHdr); break; =20 case VIR_NWFILTER_RULE_PROTOCOL_SCTP: case VIR_NWFILTER_RULE_PROTOCOL_SCTPoIPV6: - COPY_NEG_SIGN(rule->p.sctpHdrFilter.ipHdr.dataSrcIPMask, - rule->p.sctpHdrFilter.ipHdr.dataSrcIPAddr); - COPY_NEG_SIGN(rule->p.sctpHdrFilter.ipHdr.dataDstIPMask, - rule->p.sctpHdrFilter.ipHdr.dataDstIPAddr); - COPY_NEG_SIGN(rule->p.sctpHdrFilter.ipHdr.dataSrcIPTo, - rule->p.sctpHdrFilter.ipHdr.dataSrcIPFrom); - COPY_NEG_SIGN(rule->p.sctpHdrFilter.ipHdr.dataDstIPTo, - rule->p.sctpHdrFilter.ipHdr.dataDstIPFrom); + ipHdr =3D &rule->p.sctpHdrFilter.ipHdr; + COPY_NEG_SIGN(ipHdr->dataSrcIPMask, ipHdr->dataSrcIPAddr); + COPY_NEG_SIGN(ipHdr->dataDstIPMask, ipHdr->dataDstIPAddr); + COPY_NEG_SIGN(ipHdr->dataSrcIPTo, ipHdr->dataSrcIPFrom); + COPY_NEG_SIGN(ipHdr->dataDstIPTo, ipHdr->dataDstIPFrom); COPY_NEG_SIGN(rule->p.sctpHdrFilter.portData.dataSrcPortEnd, rule->p.sctpHdrFilter.portData.dataSrcPortStart); COPY_NEG_SIGN(rule->p.sctpHdrFilter.portData.dataDstPortStart, @@ -2358,14 +2339,11 @@ virNWFilterRuleDefFixup(virNWFilterRuleDef *rule) =20 case VIR_NWFILTER_RULE_PROTOCOL_ICMP: case VIR_NWFILTER_RULE_PROTOCOL_ICMPV6: - COPY_NEG_SIGN(rule->p.icmpHdrFilter.ipHdr.dataSrcIPMask, - rule->p.icmpHdrFilter.ipHdr.dataSrcIPAddr); - COPY_NEG_SIGN(rule->p.icmpHdrFilter.ipHdr.dataDstIPMask, - rule->p.icmpHdrFilter.ipHdr.dataDstIPAddr); - COPY_NEG_SIGN(rule->p.icmpHdrFilter.ipHdr.dataSrcIPTo, - rule->p.icmpHdrFilter.ipHdr.dataSrcIPFrom); - COPY_NEG_SIGN(rule->p.icmpHdrFilter.ipHdr.dataDstIPTo, - rule->p.icmpHdrFilter.ipHdr.dataDstIPFrom); + ipHdr =3D &rule->p.icmpHdrFilter.ipHdr; + COPY_NEG_SIGN(ipHdr->dataSrcIPMask, ipHdr->dataSrcIPAddr); + COPY_NEG_SIGN(ipHdr->dataDstIPMask, ipHdr->dataDstIPAddr); + COPY_NEG_SIGN(ipHdr->dataSrcIPTo, ipHdr->dataSrcIPFrom); + COPY_NEG_SIGN(ipHdr->dataDstIPTo, ipHdr->dataDstIPFrom); COPY_NEG_SIGN(rule->p.icmpHdrFilter.dataICMPCode, rule->p.icmpHdrFilter.dataICMPType); virNWFilterRuleDefFixupIPSet(&rule->p.icmpHdrFilter.ipHdr); @@ -2373,25 +2351,19 @@ virNWFilterRuleDefFixup(virNWFilterRuleDef *rule) =20 case VIR_NWFILTER_RULE_PROTOCOL_ALL: case VIR_NWFILTER_RULE_PROTOCOL_ALLoIPV6: - COPY_NEG_SIGN(rule->p.allHdrFilter.ipHdr.dataSrcIPMask, - rule->p.allHdrFilter.ipHdr.dataSrcIPAddr); - COPY_NEG_SIGN(rule->p.allHdrFilter.ipHdr.dataDstIPMask, - rule->p.allHdrFilter.ipHdr.dataDstIPAddr); - COPY_NEG_SIGN(rule->p.allHdrFilter.ipHdr.dataSrcIPTo, - rule->p.allHdrFilter.ipHdr.dataSrcIPFrom); - COPY_NEG_SIGN(rule->p.allHdrFilter.ipHdr.dataDstIPTo, - rule->p.allHdrFilter.ipHdr.dataDstIPFrom); + ipHdr =3D &rule->p.allHdrFilter.ipHdr; + COPY_NEG_SIGN(ipHdr->dataSrcIPMask, ipHdr->dataSrcIPAddr); + COPY_NEG_SIGN(ipHdr->dataDstIPMask, ipHdr->dataDstIPAddr); + COPY_NEG_SIGN(ipHdr->dataSrcIPTo, ipHdr->dataSrcIPFrom); + COPY_NEG_SIGN(ipHdr->dataDstIPTo, ipHdr->dataDstIPFrom); break; =20 case VIR_NWFILTER_RULE_PROTOCOL_IGMP: - COPY_NEG_SIGN(rule->p.igmpHdrFilter.ipHdr.dataSrcIPMask, - rule->p.igmpHdrFilter.ipHdr.dataSrcIPAddr); - COPY_NEG_SIGN(rule->p.igmpHdrFilter.ipHdr.dataDstIPMask, - rule->p.igmpHdrFilter.ipHdr.dataDstIPAddr); - COPY_NEG_SIGN(rule->p.igmpHdrFilter.ipHdr.dataSrcIPTo, - rule->p.igmpHdrFilter.ipHdr.dataSrcIPFrom); - COPY_NEG_SIGN(rule->p.igmpHdrFilter.ipHdr.dataDstIPTo, - rule->p.igmpHdrFilter.ipHdr.dataDstIPFrom); + ipHdr =3D &rule->p.igmpHdrFilter.ipHdr; + COPY_NEG_SIGN(ipHdr->dataSrcIPMask, ipHdr->dataSrcIPAddr); + COPY_NEG_SIGN(ipHdr->dataDstIPMask, ipHdr->dataDstIPAddr); + COPY_NEG_SIGN(ipHdr->dataSrcIPTo, ipHdr->dataSrcIPFrom); + COPY_NEG_SIGN(ipHdr->dataDstIPTo, ipHdr->dataDstIPFrom); virNWFilterRuleDefFixupIPSet(&rule->p.igmpHdrFilter.ipHdr); break; =20 --=20 2.31.1 From nobody Sun May 12 21:46:59 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@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 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1631883519; cv=none; d=zohomail.com; s=zohoarc; b=AExaq4q96BgoLxo5BgI/G3jVSf5UocBkh1t5AuQ6cZ3kQvNWEjHB2H9GfhB7O40CcaLqWNw/O+oew80r8obRcZyZcBrP0IvliyVs0x3BKQ41vJfdOOInRK2O59JYMekhrljoOu6OnCYq1aHL09RuU6BqLHONDMfG/KjReQKmcSY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1631883519; h=Content-Type: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=NNf2RT947u4fV7fK+UAzQsr6Hv0MINkctDNsBEhR5Kg=; b=n7+2lVdO670Lf3I1pXjFUjXyjDfqk2gHczviDcC5QzoilF2t+QbX7jl2fYYqlSC3dA9GYTzjgTDaTRQB52OkX1EMEjMA6lTRFnqm7POWzb5RDThPK4vz/VENh0dQpUAguAaHZul/A1X564TCwSbK2TVK+wFKlTVptI0XB7BZI/Y= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1631883519956774.4287681238494; Fri, 17 Sep 2021 05:58:39 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-372-fgxxnlC0N3-4k5_-jx66bw-1; Fri, 17 Sep 2021 08:58:37 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 04C24362FB; Fri, 17 Sep 2021 12:58:32 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D010C1972E; Fri, 17 Sep 2021 12:58:31 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id A34D11805986; Fri, 17 Sep 2021 12:58:31 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 18HCwPBP010045 for ; Fri, 17 Sep 2021 08:58:25 -0400 Received: by smtp.corp.redhat.com (Postfix) id 66C2B60938; Fri, 17 Sep 2021 12:58:25 +0000 (UTC) Received: from work.speedport.ip (unknown [10.39.192.121]) by smtp.corp.redhat.com (Postfix) with ESMTP id B6EF460843; Fri, 17 Sep 2021 12:58:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1631883518; h=from:from:sender:sender: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:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=NNf2RT947u4fV7fK+UAzQsr6Hv0MINkctDNsBEhR5Kg=; b=PcQS0JIAUTzuMxrO0R+5jXydEqGpeXRXLDMuxlJm0d2BRMxz5bO0aPC5gNU7I2vFuKd4Mi Yeh4/B3UDSg1W0SFe9oVARWwtlhqJ1gx9Q47vVW5WAM+m2gcBYc/hI1t+NqT1bFDIdSRCl 6EfKO2uBvm+m+xdZTrxq2jRT5reTrwI= X-MC-Unique: fgxxnlC0N3-4k5_-jx66bw-1 From: Tim Wiederhake To: libvir-list@redhat.com Subject: [libvirt PATCH 3/3] virNWFilterRuleDefFixup: Factor out portData as variable Date: Fri, 17 Sep 2021 14:58:11 +0200 Message-Id: <20210917125811.25542-4-twiederh@redhat.com> In-Reply-To: <20210917125811.25542-1-twiederh@redhat.com> References: <20210917125811.25542-1-twiederh@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-loop: libvir-list@redhat.com Cc: Tim Wiederhake X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1631883521628100002 Content-Type: text/plain; charset="utf-8" This helps to bring down the frame size of virNWFilterRuleDefFixup, as it exceeds 8192 bytes when libvirt is build with sanitizers enabled, in debug mode, on clang. Signed-off-by: Tim Wiederhake --- src/conf/nwfilter_conf.c | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/src/conf/nwfilter_conf.c b/src/conf/nwfilter_conf.c index 2448e4b70b..ad1edc98dd 100644 --- a/src/conf/nwfilter_conf.c +++ b/src/conf/nwfilter_conf.c @@ -2191,6 +2191,7 @@ virNWFilterRuleDefFixup(virNWFilterRuleDef *rule) { ethHdrDataDef *ethHdr; ipHdrDataDef *ipHdr; + portDataDef *portData; =20 #define COPY_NEG_SIGN(A, B) \ (A).flags =3D ((A).flags & ~NWFILTER_ENTRY_ITEM_FLAG_IS_NEG) | \ @@ -2262,32 +2263,28 @@ virNWFilterRuleDefFixup(virNWFilterRuleDef *rule) case VIR_NWFILTER_RULE_PROTOCOL_TCP: case VIR_NWFILTER_RULE_PROTOCOL_TCPoIPV6: ipHdr =3D &rule->p.tcpHdrFilter.ipHdr; + portData =3D &rule->p.tcpHdrFilter.portData; COPY_NEG_SIGN(ipHdr->dataSrcIPMask, ipHdr->dataSrcIPAddr); COPY_NEG_SIGN(ipHdr->dataDstIPMask, ipHdr->dataDstIPAddr); COPY_NEG_SIGN(ipHdr->dataSrcIPTo, ipHdr->dataSrcIPFrom); COPY_NEG_SIGN(ipHdr->dataDstIPTo, ipHdr->dataDstIPFrom); - COPY_NEG_SIGN(rule->p.tcpHdrFilter.portData.dataSrcPortEnd, - rule->p.tcpHdrFilter.portData.dataSrcPortStart); - COPY_NEG_SIGN(rule->p.tcpHdrFilter.portData.dataDstPortStart, - rule->p.tcpHdrFilter.portData.dataSrcPortStart); - COPY_NEG_SIGN(rule->p.tcpHdrFilter.portData.dataDstPortEnd, - rule->p.tcpHdrFilter.portData.dataSrcPortStart); + COPY_NEG_SIGN(portData->dataSrcPortEnd, portData->dataSrcPortStart= ); + COPY_NEG_SIGN(portData->dataDstPortStart, portData->dataSrcPortSta= rt); + COPY_NEG_SIGN(portData->dataDstPortEnd, portData->dataSrcPortStart= ); virNWFilterRuleDefFixupIPSet(&rule->p.tcpHdrFilter.ipHdr); break; =20 case VIR_NWFILTER_RULE_PROTOCOL_UDP: case VIR_NWFILTER_RULE_PROTOCOL_UDPoIPV6: ipHdr =3D &rule->p.udpHdrFilter.ipHdr; + portData =3D &rule->p.udpHdrFilter.portData; COPY_NEG_SIGN(ipHdr->dataSrcIPMask, ipHdr->dataSrcIPAddr); COPY_NEG_SIGN(ipHdr->dataDstIPMask, ipHdr->dataDstIPAddr); COPY_NEG_SIGN(ipHdr->dataSrcIPTo, ipHdr->dataSrcIPFrom); COPY_NEG_SIGN(ipHdr->dataDstIPTo, ipHdr->dataDstIPFrom); - COPY_NEG_SIGN(rule->p.udpHdrFilter.portData.dataSrcPortEnd, - rule->p.udpHdrFilter.portData.dataSrcPortStart); - COPY_NEG_SIGN(rule->p.udpHdrFilter.portData.dataDstPortStart, - rule->p.udpHdrFilter.portData.dataSrcPortStart); - COPY_NEG_SIGN(rule->p.udpHdrFilter.portData.dataDstPortEnd, - rule->p.udpHdrFilter.portData.dataSrcPortStart); + COPY_NEG_SIGN(portData->dataSrcPortEnd, portData->dataSrcPortStart= ); + COPY_NEG_SIGN(portData->dataDstPortStart, portData->dataSrcPortSta= rt); + COPY_NEG_SIGN(portData->dataDstPortEnd, portData->dataSrcPortStart= ); virNWFilterRuleDefFixupIPSet(&rule->p.udpHdrFilter.ipHdr); break; =20 @@ -2324,16 +2321,14 @@ virNWFilterRuleDefFixup(virNWFilterRuleDef *rule) case VIR_NWFILTER_RULE_PROTOCOL_SCTP: case VIR_NWFILTER_RULE_PROTOCOL_SCTPoIPV6: ipHdr =3D &rule->p.sctpHdrFilter.ipHdr; + portData =3D &rule->p.sctpHdrFilter.portData; COPY_NEG_SIGN(ipHdr->dataSrcIPMask, ipHdr->dataSrcIPAddr); COPY_NEG_SIGN(ipHdr->dataDstIPMask, ipHdr->dataDstIPAddr); COPY_NEG_SIGN(ipHdr->dataSrcIPTo, ipHdr->dataSrcIPFrom); COPY_NEG_SIGN(ipHdr->dataDstIPTo, ipHdr->dataDstIPFrom); - COPY_NEG_SIGN(rule->p.sctpHdrFilter.portData.dataSrcPortEnd, - rule->p.sctpHdrFilter.portData.dataSrcPortStart); - COPY_NEG_SIGN(rule->p.sctpHdrFilter.portData.dataDstPortStart, - rule->p.sctpHdrFilter.portData.dataSrcPortStart); - COPY_NEG_SIGN(rule->p.sctpHdrFilter.portData.dataDstPortEnd, - rule->p.sctpHdrFilter.portData.dataSrcPortStart); + COPY_NEG_SIGN(portData->dataSrcPortEnd, portData->dataSrcPortStart= ); + COPY_NEG_SIGN(portData->dataDstPortStart, portData->dataSrcPortSta= rt); + COPY_NEG_SIGN(portData->dataDstPortEnd, portData->dataSrcPortStart= ); virNWFilterRuleDefFixupIPSet(&rule->p.sctpHdrFilter.ipHdr); break; =20 --=20 2.31.1