From nobody Tue Feb 10 04:16:15 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=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1606819812; cv=none; d=zohomail.com; s=zohoarc; b=XAk9klbll4olgJlCZ0WAkYIz9KsMwCMNTZJ+G4HC92E1eFv4lgcj/+uznCYh8yarQwX1XyOXGlL9Z50SBjSfNIWUUbwFaP7LlhI97tF5TNL5AIHF8TE0rWr+4guiOpP4bRXSvOuVOdIAxlntOWPCx39OwuvBi4sak2jBWChe5eg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606819812; 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=uQMQmygVLLo56KizHbgMm/0357/uoLkrergt4oaKiKI=; b=QVw3WNCIKxOcRAEQa5FsdlEGHA1dCuMDtWlYAziff1pUKxlk4NasHEMOfIuBjuBAe/X38p9qdZhluWqEdsb2nQnFWCDV3Qh1T3vXErKaB1HwYor5nnuV4Hq6fbEPJLFB1kTuX2CSgg+4JnPSsPkiYrx5hfxSwGMRCuUHOElyC5E= 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) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 160681981259195.43375290204756; Tue, 1 Dec 2020 02:50:12 -0800 (PST) Received: from localhost ([::1]:35182 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kk3EZ-00054y-Cl for importer@patchew.org; Tue, 01 Dec 2020 05:50:11 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:41880) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kk305-0002LS-FL for qemu-devel@nongnu.org; Tue, 01 Dec 2020 05:35:18 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:28719) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kk301-0003os-40 for qemu-devel@nongnu.org; Tue, 01 Dec 2020 05:35:13 -0500 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-121-QrzqBSW4Ov63hf8cappePA-1; Tue, 01 Dec 2020 05:35:04 -0500 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 85351190A7B4; Tue, 1 Dec 2020 10:35:03 +0000 (UTC) Received: from virtlab701.virt.lab.eng.bos.redhat.com (virtlab701.virt.lab.eng.bos.redhat.com [10.19.152.228]) by smtp.corp.redhat.com (Postfix) with ESMTP id 3F54410023B1; Tue, 1 Dec 2020 10:35:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1606818908; 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=uQMQmygVLLo56KizHbgMm/0357/uoLkrergt4oaKiKI=; b=BcLiDwi8ioyJvgIiO7sjIkk4XwJW6uilNCHt4ozI3RTfiadu5Pa3mPlYeYwqMEL1dzJ+/k v/v5vtpMCv3/Cu7/Y0p1pE+N3wbETe+YcbjU0yo9Zf4dkR+S/UzRmG4QvMWkQezqsCM6kB UY8o5nnNPewLXIRue9FhJnMqM2AZzA8= X-MC-Unique: QrzqBSW4Ov63hf8cappePA-1 From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PATCH v2 02/32] kernel-doc: fix processing nested structs with attributes Date: Tue, 1 Dec 2020 05:34:32 -0500 Message-Id: <20201201103502.4024573-3-pbonzini@redhat.com> In-Reply-To: <20201201103502.4024573-1-pbonzini@redhat.com> References: <20201201103502.4024573-1-pbonzini@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=pbonzini@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=216.205.24.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -35 X-Spam_score: -3.6 X-Spam_bar: --- X-Spam_report: (-3.6 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1.496, 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_H3=0.001, RCVD_IN_MSPIKE_WL=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.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) From: Andr=C3=A9 Almeida The current regular expression for strip attributes of structs (and for nested ones as well) also removes all whitespaces that may surround the attribute. After that, the code will split structs and iterate for each symbol separated by comma at the end of struct definition (e.g. "} alias1, alias2;"). However, if the nested struct does not have any alias and has an attribute, it will result in a empty string at the closing bracket (e.g "};"). This will make the split return nothing and $newmember will keep uninitialized. Fix that, by ensuring that the attribute substitution will leave at least one whitespace. Signed-off-by: Andr=C3=A9 Almeida Signed-off-by: Jonathan Corbet Signed-off-by: Paolo Bonzini Message-Id: <20201117165312.118257-2-pbonzini@redhat.com> Signed-off-by: Paolo Bonzini --- scripts/kernel-doc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/kernel-doc b/scripts/kernel-doc index 4fbaaa05e3..d6bdb77ceb 100755 --- a/scripts/kernel-doc +++ b/scripts/kernel-doc @@ -1103,10 +1103,10 @@ sub dump_struct($$) { # strip comments: $members =3D~ s/\/\*.*?\*\///gos; # strip attributes - $members =3D~ s/\s*__attribute__\s*\(\([a-z0-9,_\*\s\(\)]*\)\)//gi; - $members =3D~ s/\s*__aligned\s*\([^;]*\)//gos; - $members =3D~ s/\s*__packed\s*//gos; - $members =3D~ s/\s*CRYPTO_MINALIGN_ATTR//gos; + $members =3D~ s/\s*__attribute__\s*\(\([a-z0-9,_\*\s\(\)]*\)\)/ /gi; + $members =3D~ s/\s*__aligned\s*\([^;]*\)/ /gos; + $members =3D~ s/\s*__packed\s*/ /gos; + $members =3D~ s/\s*CRYPTO_MINALIGN_ATTR/ /gos; # replace DECLARE_BITMAP $members =3D~ s/DECLARE_BITMAP\s*\(([^,)]+),\s*([^,)]+)\)/unsigned long $= 1\[BITS_TO_LONGS($2)\]/gos; # replace DECLARE_HASHTABLE --=20 2.26.2