From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D15BEC678D5 for ; Tue, 7 Mar 2023 22:22:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Subject:Cc:To: From:Date:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=bi8eVqASzXiM615Ty8FgztPqm3CNGfT4J+zFFLzdrtk=; b=nVNXeWNKVIZX6G 5g5KkCvPkoDDmmotpIlrUtQeRlC128T7oYCnUNbx9tL1Hzz0F31iM2ywtEHL6lUe/3Ic2ggC8QJhf bNitiJM1odqxVubiEIPRgNUVEEY0Dzya7tQrz0F+obwiYI0IpfqJORMSmQVFBKIFMA9IO84kDwBv4 7xh0MCKeCH5mqUV4vv7OUpXHKwSUvtPx0xHcqN/vaYxjBorqmNNdEHsX0yv5euuIUaa7r9zWa+OlY gtzjj6/vsN5BoUCk2Q9CKXxu3bejCZEmR/hX063fKo0wH0cN4cwIA5VzRfJ0+TUPgh8gE1Svfymfa YtjaYGuFEt63V9lafPwQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pZfhI-002e85-Mv; Tue, 07 Mar 2023 22:22:16 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pZfhF-002e6s-SU for ath11k@lists.infradead.org; Tue, 07 Mar 2023 22:22:15 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id BC41E61535; Tue, 7 Mar 2023 22:22:12 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id EBF9EC433EF; Tue, 7 Mar 2023 22:22:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1678227732; bh=hep12z65/htc8VobV1reqBOHqul0NinommIACH39giU=; h=Date:From:To:Cc:Subject:From; b=ldLwEkbOPvId1SGhV49JymfWZJ4wtC1cB1ISU8VtHRd6mgfBM4VJqByD8C6rSfEl+ oVMB5vsm8ffgDNJ8ydcbfH7o+aK9pRJ87QDnxtGspc3bcNUImPb403UxwDmtZ9gxI0 xWZ02PpOSKMaL1k5I71nBxuM6Fi6+loXhYHI/KSULt3RYJXHfJjHFqGToS6IVgyr3/ u+35JFk1nXXWx3QzmGK3dWZtldE9q5qfHMkzG7jHVGPYNEj762Pj/0A+cl50FISavT fQLC1i3yqJGcn2DQIbv2XpJ56P7irz1XT9i9pGTQA2xFOAIALi05rhVUGuxD7eENhY +8pUG/+qSzZUg== Date: Tue, 7 Mar 2023 16:22:39 -0600 From: "Gustavo A. R. Silva" To: Kalle Valo , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Cc: ath11k@lists.infradead.org, linux-wireless@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, "Gustavo A. R. Silva" , linux-hardening@vger.kernel.org Subject: [PATCH][next] wifi: ath11k: Replace fake flex-array with flexible-array member Message-ID: MIME-Version: 1.0 Content-Disposition: inline X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230307_142214_028842_5E64A62B X-CRM114-Status: GOOD ( 11.93 ) X-BeenThere: ath11k@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "ath11k" Errors-To: ath11k-bounces+ath11k=archiver.kernel.org@lists.infradead.org WmVyby1sZW5ndGggYXJyYXlzIGFzIGZha2UgZmxleGlibGUgYXJyYXlzIGFyZSBkZXByZWNhdGVk IGFuZCB3ZSBhcmUKbW92aW5nIHRvd2FyZHMgYWRvcHRpbmcgQzk5IGZsZXhpYmxlLWFycmF5IG1l bWJlcnMgaW5zdGVhZC4KCkFkZHJlc3MgMjUgb2YgdGhlIGZvbGxvd2luZyB3YXJuaW5ncyBmb3Vu ZCB3aXRoIEdDQy0xMyBhbmQKLWZzdHJpY3QtZmxleC1hcnJheXM9MyBlbmFibGVkOgpkcml2ZXJz L25ldC93aXJlbGVzcy9hdGgvYXRoMTFrL2RlYnVnZnNfaHR0X3N0YXRzLmM6MzA6NTE6IHdhcm5p bmc6IGFycmF5IHN1YnNjcmlwdCA8dW5rbm93bj4gaXMgb3V0c2lkZSBhcnJheSBib3VuZHMgb2Yg 4oCYY29uc3QgdTMyWzBd4oCZIHtha2Eg4oCYY29uc3QgdW5zaWduZWQgaW50W13igJl9IFstV2Fy cmF5LWJvdW5kcz1dCgpUaGlzIGhlbHBzIHdpdGggdGhlIG9uZ29pbmcgZWZmb3J0cyB0byB0aWdo dGVuIHRoZSBGT1JUSUZZX1NPVVJDRQpyb3V0aW5lcyBvbiBtZW1jcHkoKSBhbmQgaGVscCB1cyBt YWtlIHByb2dyZXNzIHRvd2FyZHMgZ2xvYmFsbHkKZW5hYmxpbmcgLWZzdHJpY3QtZmxleC1hcnJh eXM9MyBbMV0uCgpMaW5rOiBodHRwczovL2dpdGh1Yi5jb20vS1NQUC9saW51eC9pc3N1ZXMvMjEK TGluazogaHR0cHM6Ly9naXRodWIuY29tL0tTUFAvbGludXgvaXNzdWVzLzI2NgpMaW5rOiBodHRw czovL2djYy5nbnUub3JnL3BpcGVybWFpbC9nY2MtcGF0Y2hlcy8yMDIyLU9jdG9iZXIvNjAyOTAy Lmh0bWwgWzFdClNpZ25lZC1vZmYtYnk6IEd1c3Rhdm8gQS4gUi4gU2lsdmEgPGd1c3Rhdm9hcnNA a2VybmVsLm9yZz4KLS0tCiAuLi4vd2lyZWxlc3MvYXRoL2F0aDExay9kZWJ1Z2ZzX2h0dF9zdGF0 cy5oICAgfCA1MCArKysrKysrKystLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjUgaW5zZXJ0 aW9ucygrKSwgMjUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxl c3MvYXRoL2F0aDExay9kZWJ1Z2ZzX2h0dF9zdGF0cy5oIGIvZHJpdmVycy9uZXQvd2lyZWxlc3Mv YXRoL2F0aDExay9kZWJ1Z2ZzX2h0dF9zdGF0cy5oCmluZGV4IDJiOTdjYmJkMjhjYi4uZGI1YzE3 NmUyZTViIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9hdGgvYXRoMTFrL2RlYnVn ZnNfaHR0X3N0YXRzLmgKKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvYXRoL2F0aDExay9kZWJ1 Z2ZzX2h0dF9zdGF0cy5oCkBAIC0xNDMsNyArMTQzLDcgQEAgZW51bSBodHRfdHhfcGRldl91bmRl cnJ1bl9lbnVtIHsKIC8qIEJ5dGVzIHN0b3JlZCBpbiBsaXR0bGUgZW5kaWFuIG9yZGVyICovCiAv KiBMZW5ndGggc2hvdWxkIGJlIG11bHRpcGxlIG9mIERXT1JEICovCiBzdHJ1Y3QgaHR0X3N0YXRz X3N0cmluZ190bHYgewotCXUzMiBkYXRhWzBdOyAvKiBDYW4gYmUgdmFyaWFibGUgbGVuZ3RoICov CisJREVDTEFSRV9GTEVYX0FSUkFZKHUzMiwgZGF0YSk7IC8qIENhbiBiZSB2YXJpYWJsZSBsZW5n dGggKi8KIH0gX19wYWNrZWQ7CiAKICNkZWZpbmUgSFRUX1NUQVRTX01BQ19JRAlHRU5NQVNLKDcs IDApCkBAIC0yMDUsMjcgKzIwNSwyNyBAQCBzdHJ1Y3QgaHR0X3R4X3BkZXZfc3RhdHNfY21uX3Rs diB7CiAKIC8qIE5PVEU6IFZhcmlhYmxlIGxlbmd0aCBUTFYsIHVzZSBsZW5ndGggc3BlYyB0byBp bmZlciBhcnJheSBzaXplICovCiBzdHJ1Y3QgaHR0X3R4X3BkZXZfc3RhdHNfdXJybl90bHZfdiB7 Ci0JdTMyIHVycm5fc3RhdHNbMF07IC8qIEhUVF9UWF9QREVWX01BWF9VUlJOX1NUQVRTICovCisJ REVDTEFSRV9GTEVYX0FSUkFZKHUzMiwgdXJybl9zdGF0cyk7IC8qIEhUVF9UWF9QREVWX01BWF9V UlJOX1NUQVRTICovCiB9OwogCiAvKiBOT1RFOiBWYXJpYWJsZSBsZW5ndGggVExWLCB1c2UgbGVu Z3RoIHNwZWMgdG8gaW5mZXIgYXJyYXkgc2l6ZSAqLwogc3RydWN0IGh0dF90eF9wZGV2X3N0YXRz X2ZsdXNoX3Rsdl92IHsKLQl1MzIgZmx1c2hfZXJyc1swXTsgLyogSFRUX1RYX1BERVZfTUFYX0ZM VVNIX1JFQVNPTl9TVEFUUyAqLworCURFQ0xBUkVfRkxFWF9BUlJBWSh1MzIsIGZsdXNoX2VycnMp OyAvKiBIVFRfVFhfUERFVl9NQVhfRkxVU0hfUkVBU09OX1NUQVRTICovCiB9OwogCiAvKiBOT1RF OiBWYXJpYWJsZSBsZW5ndGggVExWLCB1c2UgbGVuZ3RoIHNwZWMgdG8gaW5mZXIgYXJyYXkgc2l6 ZSAqLwogc3RydWN0IGh0dF90eF9wZGV2X3N0YXRzX3NpZnNfdGx2X3YgewotCXUzMiBzaWZzX3N0 YXR1c1swXTsgLyogSFRUX1RYX1BERVZfTUFYX1NJRlNfQlVSU1RfU1RBVFMgKi8KKwlERUNMQVJF X0ZMRVhfQVJSQVkodTMyLCBzaWZzX3N0YXR1cyk7IC8qIEhUVF9UWF9QREVWX01BWF9TSUZTX0JV UlNUX1NUQVRTICovCiB9OwogCiAvKiBOT1RFOiBWYXJpYWJsZSBsZW5ndGggVExWLCB1c2UgbGVu Z3RoIHNwZWMgdG8gaW5mZXIgYXJyYXkgc2l6ZSAqLwogc3RydWN0IGh0dF90eF9wZGV2X3N0YXRz X3BoeV9lcnJfdGx2X3YgewotCXUzMiAgcGh5X2VycnNbMF07IC8qIEhUVF9UWF9QREVWX01BWF9Q SFlfRVJSX1NUQVRTICovCisJREVDTEFSRV9GTEVYX0FSUkFZKHUzMiwgcGh5X2VycnMpOyAvKiBI VFRfVFhfUERFVl9NQVhfUEhZX0VSUl9TVEFUUyAqLwogfTsKIAogLyogTk9URTogVmFyaWFibGUg bGVuZ3RoIFRMViwgdXNlIGxlbmd0aCBzcGVjIHRvIGluZmVyIGFycmF5IHNpemUgKi8KIHN0cnVj dCBodHRfdHhfcGRldl9zdGF0c19zaWZzX2hpc3RfdGx2X3YgewotCXUzMiBzaWZzX2hpc3Rfc3Rh dHVzWzBdOyAvKiBIVFRfVFhfUERFVl9TSUZTX0JVUlNUX0hJU1RfU1RBVFMgKi8KKwlERUNMQVJF X0ZMRVhfQVJSQVkodTMyLCBzaWZzX2hpc3Rfc3RhdHVzKTsgLyogSFRUX1RYX1BERVZfU0lGU19C VVJTVF9ISVNUX1NUQVRTICovCiB9OwogCiBzdHJ1Y3QgaHR0X3R4X3BkZXZfc3RhdHNfdHhfcHBk dV9zdGF0c190bHZfdiB7CkBAIC01OTEsMTkgKzU5MSwxOSBAQCBzdHJ1Y3QgaHR0X3R4X2h3cV9k aWZzX2xhdGVuY3lfc3RhdHNfdGx2X3YgewogLyogTk9URTogVmFyaWFibGUgbGVuZ3RoIFRMViwg dXNlIGxlbmd0aCBzcGVjIHRvIGluZmVyIGFycmF5IHNpemUgKi8KIHN0cnVjdCBodHRfdHhfaHdx X2NtZF9yZXN1bHRfc3RhdHNfdGx2X3YgewogCS8qIEhpc3RvZ3JhbSBvZiBzY2hlZCBjbWQgcmVz dWx0ICovCi0JdTMyIGNtZF9yZXN1bHRbMF07IC8qIEhUVF9UWF9IV1FfTUFYX0NNRF9SRVNVTFRf U1RBVFMgKi8KKwlERUNMQVJFX0ZMRVhfQVJSQVkodTMyLCBjbWRfcmVzdWx0KTsgLyogSFRUX1RY X0hXUV9NQVhfQ01EX1JFU1VMVF9TVEFUUyAqLwogfTsKIAogLyogTk9URTogVmFyaWFibGUgbGVu Z3RoIFRMViwgdXNlIGxlbmd0aCBzcGVjIHRvIGluZmVyIGFycmF5IHNpemUgKi8KIHN0cnVjdCBo dHRfdHhfaHdxX2NtZF9zdGFsbF9zdGF0c190bHZfdiB7CiAJLyogSGlzdG9ncmFtIG9mIHZhcmlv dXMgcGF1c2UgY29uaXRpb25zICovCi0JdTMyIGNtZF9zdGFsbF9zdGF0dXNbMF07IC8qIEhUVF9U WF9IV1FfTUFYX0NNRF9TVEFMTF9TVEFUUyAqLworCURFQ0xBUkVfRkxFWF9BUlJBWSh1MzIsIGNt ZF9zdGFsbF9zdGF0dXMpOyAvKiBIVFRfVFhfSFdRX01BWF9DTURfU1RBTExfU1RBVFMgKi8KIH07 CiAKIC8qIE5PVEU6IFZhcmlhYmxlIGxlbmd0aCBUTFYsIHVzZSBsZW5ndGggc3BlYyB0byBpbmZl ciBhcnJheSBzaXplICovCiBzdHJ1Y3QgaHR0X3R4X2h3cV9mZXNfcmVzdWx0X3N0YXRzX3Rsdl92 IHsKIAkvKiBIaXN0b2dyYW0gb2YgbnVtYmVyIG9mIHVzZXIgZmVzIHJlc3VsdCAqLwotCXUzMiBm ZXNfcmVzdWx0WzBdOyAvKiBIVFRfVFhfSFdRX01BWF9GRVNfUkVTVUxUX1NUQVRTICovCisJREVD TEFSRV9GTEVYX0FSUkFZKHUzMiwgZmVzX3Jlc3VsdCk7IC8qIEhUVF9UWF9IV1FfTUFYX0ZFU19S RVNVTFRfU1RBVFMgKi8KIH07CiAKIC8qIE5PVEU6IFZhcmlhYmxlIGxlbmd0aCBUTFYsIHVzZSBs ZW5ndGggc3BlYyB0byBpbmZlciBhcnJheSBzaXplCkBAIC02MzYsNyArNjM2LDcgQEAgc3RydWN0 IGh0dF90eF9od3FfdHJpZWRfbXBkdV9jbnRfaGlzdF90bHZfdiB7CiAgKi8KIHN0cnVjdCBodHRf dHhfaHdxX3R4b3BfdXNlZF9jbnRfaGlzdF90bHZfdiB7CiAJLyogSGlzdG9ncmFtIG9mIHR4b3Ag dXNlZCBjbnQgKi8KLQl1MzIgdHhvcF91c2VkX2NudF9oaXN0WzBdOyAvKiBIVFRfVFhfSFdRX1RY T1BfVVNFRF9DTlRfSElTVCAqLworCURFQ0xBUkVfRkxFWF9BUlJBWSh1MzIsIHR4b3BfdXNlZF9j bnRfaGlzdCk7IC8qIEhUVF9UWF9IV1FfVFhPUF9VU0VEX0NOVF9ISVNUICovCiB9OwogCiAvKiA9 PSBUWCBTRUxGR0VOIFNUQVRTID09ICovCkBAIC04MDQsMTcgKzgwNCwxNyBAQCBzdHJ1Y3QgaHR0 X3R4X3BkZXZfbXBkdV9zdGF0c190bHYgewogLyogPT0gVFggU0NIRUQgU1RBVFMgPT0gKi8KIC8q IE5PVEU6IFZhcmlhYmxlIGxlbmd0aCBUTFYsIHVzZSBsZW5ndGggc3BlYyB0byBpbmZlciBhcnJh eSBzaXplICovCiBzdHJ1Y3QgaHR0X3NjaGVkX3R4cV9jbWRfcG9zdGVkX3Rsdl92IHsKLQl1MzIg c2NoZWRfY21kX3Bvc3RlZFswXTsgLyogSFRUX1RYX1BERVZfU0NIRURfVFhfTU9ERV9NQVggKi8K KwlERUNMQVJFX0ZMRVhfQVJSQVkodTMyLCBzY2hlZF9jbWRfcG9zdGVkKTsgLyogSFRUX1RYX1BE RVZfU0NIRURfVFhfTU9ERV9NQVggKi8KIH07CiAKIC8qIE5PVEU6IFZhcmlhYmxlIGxlbmd0aCBU TFYsIHVzZSBsZW5ndGggc3BlYyB0byBpbmZlciBhcnJheSBzaXplICovCiBzdHJ1Y3QgaHR0X3Nj aGVkX3R4cV9jbWRfcmVhcGVkX3Rsdl92IHsKLQl1MzIgc2NoZWRfY21kX3JlYXBlZFswXTsgLyog SFRUX1RYX1BERVZfU0NIRURfVFhfTU9ERV9NQVggKi8KKwlERUNMQVJFX0ZMRVhfQVJSQVkodTMy LCBzY2hlZF9jbWRfcmVhcGVkKTsgLyogSFRUX1RYX1BERVZfU0NIRURfVFhfTU9ERV9NQVggKi8K IH07CiAKIC8qIE5PVEU6IFZhcmlhYmxlIGxlbmd0aCBUTFYsIHVzZSBsZW5ndGggc3BlYyB0byBp bmZlciBhcnJheSBzaXplICovCiBzdHJ1Y3QgaHR0X3NjaGVkX3R4cV9zY2hlZF9vcmRlcl9zdV90 bHZfdiB7Ci0JdTMyIHNjaGVkX29yZGVyX3N1WzBdOyAvKiBIVFRfVFhfUERFVl9OVU1fU0NIRURf T1JERVJfTE9HICovCisJREVDTEFSRV9GTEVYX0FSUkFZKHUzMiwgc2NoZWRfb3JkZXJfc3UpOyAv KiBIVFRfVFhfUERFVl9OVU1fU0NIRURfT1JERVJfTE9HICovCiB9OwogCiBlbnVtIGh0dF9zY2hl ZF90eHFfc2NoZWRfaW5lbGlnaWJpbGl0eV90bHZfZW51bSB7CkBAIC04NDIsNyArODQyLDcgQEAg ZW51bSBodHRfc2NoZWRfdHhxX3NjaGVkX2luZWxpZ2liaWxpdHlfdGx2X2VudW0gewogLyogTk9U RTogVmFyaWFibGUgbGVuZ3RoIFRMViwgdXNlIGxlbmd0aCBzcGVjIHRvIGluZmVyIGFycmF5IHNp emUgKi8KIHN0cnVjdCBodHRfc2NoZWRfdHhxX3NjaGVkX2luZWxpZ2liaWxpdHlfdGx2X3Ygewog CS8qIGluZGV4ZWQgYnkgaHR0X3NjaGVkX3R4cV9zY2hlZF9pbmVsaWdpYmlsaXR5X3Rsdl9lbnVt ICovCi0JdTMyIHNjaGVkX2luZWxpZ2liaWxpdHlbMF07CisJREVDTEFSRV9GTEVYX0FSUkFZKHUz Miwgc2NoZWRfaW5lbGlnaWJpbGl0eSk7CiB9OwogCiAjZGVmaW5lCUhUVF9UWF9QREVWX1NUQVRT X1NDSEVEX1BFUl9UWFFfTUFDX0lECUdFTk1BU0soNywgMCkKQEAgLTg4OCwxNyArODg4LDE3IEBA IHN0cnVjdCBodHRfc3RhdHNfdHhfc2NoZWRfY21uX3RsdiB7CiAKIC8qIE5PVEU6IFZhcmlhYmxl IGxlbmd0aCBUTFYsIHVzZSBsZW5ndGggc3BlYyB0byBpbmZlciBhcnJheSBzaXplICovCiBzdHJ1 Y3QgaHR0X3R4X3RxbV9nZW5fbXBkdV9zdGF0c190bHZfdiB7Ci0JdTMyIGdlbl9tcGR1X2VuZF9y ZWFzb25bMF07IC8qIEhUVF9UWF9UUU1fTUFYX0dFTl9NUERVX0VORF9SRUFTT04gKi8KKwlERUNM QVJFX0ZMRVhfQVJSQVkodTMyLCBnZW5fbXBkdV9lbmRfcmVhc29uKTsgLyogSFRUX1RYX1RRTV9N QVhfR0VOX01QRFVfRU5EX1JFQVNPTiAqLwogfTsKIAogLyogTk9URTogVmFyaWFibGUgbGVuZ3Ro IFRMViwgdXNlIGxlbmd0aCBzcGVjIHRvIGluZmVyIGFycmF5IHNpemUgKi8KIHN0cnVjdCBodHRf dHhfdHFtX2xpc3RfbXBkdV9zdGF0c190bHZfdiB7Ci0JdTMyIGxpc3RfbXBkdV9lbmRfcmVhc29u WzBdOyAvKiBIVFRfVFhfVFFNX01BWF9MSVNUX01QRFVfRU5EX1JFQVNPTiAqLworCURFQ0xBUkVf RkxFWF9BUlJBWSh1MzIsIGxpc3RfbXBkdV9lbmRfcmVhc29uKTsgLyogSFRUX1RYX1RRTV9NQVhf TElTVF9NUERVX0VORF9SRUFTT04gKi8KIH07CiAKIC8qIE5PVEU6IFZhcmlhYmxlIGxlbmd0aCBU TFYsIHVzZSBsZW5ndGggc3BlYyB0byBpbmZlciBhcnJheSBzaXplICovCiBzdHJ1Y3QgaHR0X3R4 X3RxbV9saXN0X21wZHVfY250X3Rsdl92IHsKLQl1MzIgbGlzdF9tcGR1X2NudF9oaXN0WzBdOwor CURFQ0xBUkVfRkxFWF9BUlJBWSh1MzIsIGxpc3RfbXBkdV9jbnRfaGlzdCk7CiAJCQkvKiBIVFRf VFhfVFFNX01BWF9MSVNUX01QRFVfQ05UX0hJU1RPR1JBTV9CSU5TICovCiB9OwogCkBAIC0xMDk4 LDcgKzEwOTgsNyBAQCBzdHJ1Y3QgaHR0X3R4X2RlX2NvbXBsX3N0YXRzX3RsdiB7CiAgKiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBFTlRSSUVTX1BFUl9CSU5fQ09VTlQpCiAgKi8KIHN0 cnVjdCBodHRfdHhfZGVfZncyd2JtX3JpbmdfZnVsbF9oaXN0X3RsdiB7Ci0JdTMyIGZ3MndibV9y aW5nX2Z1bGxfaGlzdFswXTsKKwlERUNMQVJFX0ZMRVhfQVJSQVkodTMyLCBmdzJ3Ym1fcmluZ19m dWxsX2hpc3QpOwogfTsKIAogc3RydWN0IGh0dF90eF9kZV9jbW5fc3RhdHNfdGx2IHsKQEAgLTEx NTEsNyArMTE1MSw3IEBAIHN0cnVjdCBodHRfcmluZ19pZl9jbW5fdGx2IHsKIC8qIE5PVEU6IFZh cmlhYmxlIGxlbmd0aCBUTFYsIHVzZSBsZW5ndGggc3BlYyB0byBpbmZlciBhcnJheSBzaXplICov CiBzdHJ1Y3QgaHR0X3NmbV9jbGllbnRfdXNlcl90bHZfdiB7CiAJLyogTnVtYmVyIG9mIERXT1JE UyB1c2VkIHBlciB1c2VyIGFuZCBwZXIgY2xpZW50ICovCi0JdTMyIGR3b3Jkc191c2VkX2J5X3Vz ZXJfblswXTsKKwlERUNMQVJFX0ZMRVhfQVJSQVkodTMyLCBkd29yZHNfdXNlZF9ieV91c2VyX24p OwogfTsKIAogc3RydWN0IGh0dF9zZm1fY2xpZW50X3RsdiB7CkBAIC0xNDM2LDEyICsxNDM2LDEy IEBAIHN0cnVjdCBodHRfcnhfc29jX2Z3X3N0YXRzX3RsdiB7CiAKIC8qIE5PVEU6IFZhcmlhYmxl IGxlbmd0aCBUTFYsIHVzZSBsZW5ndGggc3BlYyB0byBpbmZlciBhcnJheSBzaXplICovCiBzdHJ1 Y3QgaHR0X3J4X3NvY19md19yZWZpbGxfcmluZ19lbXB0eV90bHZfdiB7Ci0JdTMyIHJlZmlsbF9y aW5nX2VtcHR5X2NudFswXTsgLyogSFRUX1JYX1NUQVRTX1JFRklMTF9NQVhfUklORyAqLworCURF Q0xBUkVfRkxFWF9BUlJBWSh1MzIsIHJlZmlsbF9yaW5nX2VtcHR5X2NudCk7IC8qIEhUVF9SWF9T VEFUU19SRUZJTExfTUFYX1JJTkcgKi8KIH07CiAKIC8qIE5PVEU6IFZhcmlhYmxlIGxlbmd0aCBU TFYsIHVzZSBsZW5ndGggc3BlYyB0byBpbmZlciBhcnJheSBzaXplICovCiBzdHJ1Y3QgaHR0X3J4 X3NvY19md19yZWZpbGxfcmluZ19udW1fcmVmaWxsX3Rsdl92IHsKLQl1MzIgcmVmaWxsX3Jpbmdf bnVtX3JlZmlsbFswXTsgLyogSFRUX1JYX1NUQVRTX1JFRklMTF9NQVhfUklORyAqLworCURFQ0xB UkVfRkxFWF9BUlJBWSh1MzIsIHJlZmlsbF9yaW5nX251bV9yZWZpbGwpOyAvKiBIVFRfUlhfU1RB VFNfUkVGSUxMX01BWF9SSU5HICovCiB9OwogCiAvKiBSWERNQSBlcnJvciBjb2RlIGZyb20gV0JN IHJlbGVhc2VkIHBhY2tldHMgKi8KQEAgLTE0NzMsNyArMTQ3Myw3IEBAIGVudW0gaHR0X3J4X3J4 ZG1hX2Vycm9yX2NvZGVfZW51bSB7CiAKIC8qIE5PVEU6IFZhcmlhYmxlIGxlbmd0aCBUTFYsIHVz ZSBsZW5ndGggc3BlYyB0byBpbmZlciBhcnJheSBzaXplICovCiBzdHJ1Y3QgaHR0X3J4X3NvY19m d19yZWZpbGxfcmluZ19udW1fcnhkbWFfZXJyX3Rsdl92IHsKLQl1MzIgcnhkbWFfZXJyWzBdOyAv KiBIVFRfUlhfUlhETUFfTUFYX0VSUl9DT0RFICovCisJREVDTEFSRV9GTEVYX0FSUkFZKHUzMiwg cnhkbWFfZXJyKTsgLyogSFRUX1JYX1JYRE1BX01BWF9FUlJfQ09ERSAqLwogfTsKIAogLyogUkVP IGVycm9yIGNvZGUgZnJvbSBXQk0gcmVsZWFzZWQgcGFja2V0cyAqLwpAQCAtMTUwNSw3ICsxNTA1 LDcgQEAgZW51bSBodHRfcnhfcmVvX2Vycm9yX2NvZGVfZW51bSB7CiAKIC8qIE5PVEU6IFZhcmlh YmxlIGxlbmd0aCBUTFYsIHVzZSBsZW5ndGggc3BlYyB0byBpbmZlciBhcnJheSBzaXplICovCiBz dHJ1Y3QgaHR0X3J4X3NvY19md19yZWZpbGxfcmluZ19udW1fcmVvX2Vycl90bHZfdiB7Ci0JdTMy IHJlb19lcnJbMF07IC8qIEhUVF9SWF9SRU9fTUFYX0VSUl9DT0RFICovCisJREVDTEFSRV9GTEVY X0FSUkFZKHUzMiwgcmVvX2Vycik7IC8qIEhUVF9SWF9SRU9fTUFYX0VSUl9DT0RFICovCiB9Owog CiAvKiA9PSBSWCBQREVWIFNUQVRTID09ICovCkBAIC0xNjIyLDEzICsxNjIyLDEzIEBAIHN0cnVj dCBodHRfcnhfcGRldl9md19zdGF0c19waHlfZXJyX3RsdiB7CiAvKiBOT1RFOiBWYXJpYWJsZSBs ZW5ndGggVExWLCB1c2UgbGVuZ3RoIHNwZWMgdG8gaW5mZXIgYXJyYXkgc2l6ZSAqLwogc3RydWN0 IGh0dF9yeF9wZGV2X2Z3X3JpbmdfbXBkdV9lcnJfdGx2X3YgewogCS8qIE51bSBlcnJvciBNUERV IGZvciBlYWNoIFJ4RE1BIGVycm9yIHR5cGUgICovCi0JdTMyIGZ3X3JpbmdfbXBkdV9lcnJbMF07 IC8qIEhUVF9SWF9TVEFUU19SWERNQV9NQVhfRVJSICovCisJREVDTEFSRV9GTEVYX0FSUkFZKHUz MiwgZndfcmluZ19tcGR1X2Vycik7IC8qIEhUVF9SWF9TVEFUU19SWERNQV9NQVhfRVJSICovCiB9 OwogCiAvKiBOT1RFOiBWYXJpYWJsZSBsZW5ndGggVExWLCB1c2UgbGVuZ3RoIHNwZWMgdG8gaW5m ZXIgYXJyYXkgc2l6ZSAqLwogc3RydWN0IGh0dF9yeF9wZGV2X2Z3X21wZHVfZHJvcF90bHZfdiB7 CiAJLyogTnVtIE1QRFUgZHJvcHBlZCAgKi8KLQl1MzIgZndfbXBkdV9kcm9wWzBdOyAvKiBIVFRf UlhfU1RBVFNfRldfRFJPUF9SRUFTT05fTUFYICovCisJREVDTEFSRV9GTEVYX0FSUkFZKHUzMiwg ZndfbXBkdV9kcm9wKTsgLyogSFRUX1JYX1NUQVRTX0ZXX0RST1BfUkVBU09OX01BWCAqLwogfTsK IAogI2RlZmluZSBIVFRfUERFVl9DQ0FfU1RBVFNfVFhfRlJBTUVfSU5GT19QUkVTRU5UICAgICAg ICAgICAgICAgKDB4MSkKLS0gCjIuMzQuMQoKCi0tIAphdGgxMWsgbWFpbGluZyBsaXN0CmF0aDEx a0BsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4v bGlzdGluZm8vYXRoMTFrCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1D04AC678D5 for ; Tue, 7 Mar 2023 22:22:22 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230369AbjCGWWV (ORCPT ); Tue, 7 Mar 2023 17:22:21 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47760 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230347AbjCGWWT (ORCPT ); Tue, 7 Mar 2023 17:22:19 -0500 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 12FECF96D; Tue, 7 Mar 2023 14:22:15 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 8B11EB81A40; Tue, 7 Mar 2023 22:22:13 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id EBF9EC433EF; Tue, 7 Mar 2023 22:22:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1678227732; bh=hep12z65/htc8VobV1reqBOHqul0NinommIACH39giU=; h=Date:From:To:Cc:Subject:From; b=ldLwEkbOPvId1SGhV49JymfWZJ4wtC1cB1ISU8VtHRd6mgfBM4VJqByD8C6rSfEl+ oVMB5vsm8ffgDNJ8ydcbfH7o+aK9pRJ87QDnxtGspc3bcNUImPb403UxwDmtZ9gxI0 xWZ02PpOSKMaL1k5I71nBxuM6Fi6+loXhYHI/KSULt3RYJXHfJjHFqGToS6IVgyr3/ u+35JFk1nXXWx3QzmGK3dWZtldE9q5qfHMkzG7jHVGPYNEj762Pj/0A+cl50FISavT fQLC1i3yqJGcn2DQIbv2XpJ56P7irz1XT9i9pGTQA2xFOAIALi05rhVUGuxD7eENhY +8pUG/+qSzZUg== Date: Tue, 7 Mar 2023 16:22:39 -0600 From: "Gustavo A. R. Silva" To: Kalle Valo , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Cc: ath11k@lists.infradead.org, linux-wireless@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, "Gustavo A. R. Silva" , linux-hardening@vger.kernel.org Subject: [PATCH][next] wifi: ath11k: Replace fake flex-array with flexible-array member Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-hardening@vger.kernel.org Zero-length arrays as fake flexible arrays are deprecated and we are moving towards adopting C99 flexible-array members instead. Address 25 of the following warnings found with GCC-13 and -fstrict-flex-arrays=3 enabled: drivers/net/wireless/ath/ath11k/debugfs_htt_stats.c:30:51: warning: array subscript is outside array bounds of ‘const u32[0]’ {aka ‘const unsigned int[]’} [-Warray-bounds=] This helps with the ongoing efforts to tighten the FORTIFY_SOURCE routines on memcpy() and help us make progress towards globally enabling -fstrict-flex-arrays=3 [1]. Link: https://github.com/KSPP/linux/issues/21 Link: https://github.com/KSPP/linux/issues/266 Link: https://gcc.gnu.org/pipermail/gcc-patches/2022-October/602902.html [1] Signed-off-by: Gustavo A. R. Silva --- .../wireless/ath/ath11k/debugfs_htt_stats.h | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/drivers/net/wireless/ath/ath11k/debugfs_htt_stats.h b/drivers/net/wireless/ath/ath11k/debugfs_htt_stats.h index 2b97cbbd28cb..db5c176e2e5b 100644 --- a/drivers/net/wireless/ath/ath11k/debugfs_htt_stats.h +++ b/drivers/net/wireless/ath/ath11k/debugfs_htt_stats.h @@ -143,7 +143,7 @@ enum htt_tx_pdev_underrun_enum { /* Bytes stored in little endian order */ /* Length should be multiple of DWORD */ struct htt_stats_string_tlv { - u32 data[0]; /* Can be variable length */ + DECLARE_FLEX_ARRAY(u32, data); /* Can be variable length */ } __packed; #define HTT_STATS_MAC_ID GENMASK(7, 0) @@ -205,27 +205,27 @@ struct htt_tx_pdev_stats_cmn_tlv { /* NOTE: Variable length TLV, use length spec to infer array size */ struct htt_tx_pdev_stats_urrn_tlv_v { - u32 urrn_stats[0]; /* HTT_TX_PDEV_MAX_URRN_STATS */ + DECLARE_FLEX_ARRAY(u32, urrn_stats); /* HTT_TX_PDEV_MAX_URRN_STATS */ }; /* NOTE: Variable length TLV, use length spec to infer array size */ struct htt_tx_pdev_stats_flush_tlv_v { - u32 flush_errs[0]; /* HTT_TX_PDEV_MAX_FLUSH_REASON_STATS */ + DECLARE_FLEX_ARRAY(u32, flush_errs); /* HTT_TX_PDEV_MAX_FLUSH_REASON_STATS */ }; /* NOTE: Variable length TLV, use length spec to infer array size */ struct htt_tx_pdev_stats_sifs_tlv_v { - u32 sifs_status[0]; /* HTT_TX_PDEV_MAX_SIFS_BURST_STATS */ + DECLARE_FLEX_ARRAY(u32, sifs_status); /* HTT_TX_PDEV_MAX_SIFS_BURST_STATS */ }; /* NOTE: Variable length TLV, use length spec to infer array size */ struct htt_tx_pdev_stats_phy_err_tlv_v { - u32 phy_errs[0]; /* HTT_TX_PDEV_MAX_PHY_ERR_STATS */ + DECLARE_FLEX_ARRAY(u32, phy_errs); /* HTT_TX_PDEV_MAX_PHY_ERR_STATS */ }; /* NOTE: Variable length TLV, use length spec to infer array size */ struct htt_tx_pdev_stats_sifs_hist_tlv_v { - u32 sifs_hist_status[0]; /* HTT_TX_PDEV_SIFS_BURST_HIST_STATS */ + DECLARE_FLEX_ARRAY(u32, sifs_hist_status); /* HTT_TX_PDEV_SIFS_BURST_HIST_STATS */ }; struct htt_tx_pdev_stats_tx_ppdu_stats_tlv_v { @@ -591,19 +591,19 @@ struct htt_tx_hwq_difs_latency_stats_tlv_v { /* NOTE: Variable length TLV, use length spec to infer array size */ struct htt_tx_hwq_cmd_result_stats_tlv_v { /* Histogram of sched cmd result */ - u32 cmd_result[0]; /* HTT_TX_HWQ_MAX_CMD_RESULT_STATS */ + DECLARE_FLEX_ARRAY(u32, cmd_result); /* HTT_TX_HWQ_MAX_CMD_RESULT_STATS */ }; /* NOTE: Variable length TLV, use length spec to infer array size */ struct htt_tx_hwq_cmd_stall_stats_tlv_v { /* Histogram of various pause conitions */ - u32 cmd_stall_status[0]; /* HTT_TX_HWQ_MAX_CMD_STALL_STATS */ + DECLARE_FLEX_ARRAY(u32, cmd_stall_status); /* HTT_TX_HWQ_MAX_CMD_STALL_STATS */ }; /* NOTE: Variable length TLV, use length spec to infer array size */ struct htt_tx_hwq_fes_result_stats_tlv_v { /* Histogram of number of user fes result */ - u32 fes_result[0]; /* HTT_TX_HWQ_MAX_FES_RESULT_STATS */ + DECLARE_FLEX_ARRAY(u32, fes_result); /* HTT_TX_HWQ_MAX_FES_RESULT_STATS */ }; /* NOTE: Variable length TLV, use length spec to infer array size @@ -636,7 +636,7 @@ struct htt_tx_hwq_tried_mpdu_cnt_hist_tlv_v { */ struct htt_tx_hwq_txop_used_cnt_hist_tlv_v { /* Histogram of txop used cnt */ - u32 txop_used_cnt_hist[0]; /* HTT_TX_HWQ_TXOP_USED_CNT_HIST */ + DECLARE_FLEX_ARRAY(u32, txop_used_cnt_hist); /* HTT_TX_HWQ_TXOP_USED_CNT_HIST */ }; /* == TX SELFGEN STATS == */ @@ -804,17 +804,17 @@ struct htt_tx_pdev_mpdu_stats_tlv { /* == TX SCHED STATS == */ /* NOTE: Variable length TLV, use length spec to infer array size */ struct htt_sched_txq_cmd_posted_tlv_v { - u32 sched_cmd_posted[0]; /* HTT_TX_PDEV_SCHED_TX_MODE_MAX */ + DECLARE_FLEX_ARRAY(u32, sched_cmd_posted); /* HTT_TX_PDEV_SCHED_TX_MODE_MAX */ }; /* NOTE: Variable length TLV, use length spec to infer array size */ struct htt_sched_txq_cmd_reaped_tlv_v { - u32 sched_cmd_reaped[0]; /* HTT_TX_PDEV_SCHED_TX_MODE_MAX */ + DECLARE_FLEX_ARRAY(u32, sched_cmd_reaped); /* HTT_TX_PDEV_SCHED_TX_MODE_MAX */ }; /* NOTE: Variable length TLV, use length spec to infer array size */ struct htt_sched_txq_sched_order_su_tlv_v { - u32 sched_order_su[0]; /* HTT_TX_PDEV_NUM_SCHED_ORDER_LOG */ + DECLARE_FLEX_ARRAY(u32, sched_order_su); /* HTT_TX_PDEV_NUM_SCHED_ORDER_LOG */ }; enum htt_sched_txq_sched_ineligibility_tlv_enum { @@ -842,7 +842,7 @@ enum htt_sched_txq_sched_ineligibility_tlv_enum { /* NOTE: Variable length TLV, use length spec to infer array size */ struct htt_sched_txq_sched_ineligibility_tlv_v { /* indexed by htt_sched_txq_sched_ineligibility_tlv_enum */ - u32 sched_ineligibility[0]; + DECLARE_FLEX_ARRAY(u32, sched_ineligibility); }; #define HTT_TX_PDEV_STATS_SCHED_PER_TXQ_MAC_ID GENMASK(7, 0) @@ -888,17 +888,17 @@ struct htt_stats_tx_sched_cmn_tlv { /* NOTE: Variable length TLV, use length spec to infer array size */ struct htt_tx_tqm_gen_mpdu_stats_tlv_v { - u32 gen_mpdu_end_reason[0]; /* HTT_TX_TQM_MAX_GEN_MPDU_END_REASON */ + DECLARE_FLEX_ARRAY(u32, gen_mpdu_end_reason); /* HTT_TX_TQM_MAX_GEN_MPDU_END_REASON */ }; /* NOTE: Variable length TLV, use length spec to infer array size */ struct htt_tx_tqm_list_mpdu_stats_tlv_v { - u32 list_mpdu_end_reason[0]; /* HTT_TX_TQM_MAX_LIST_MPDU_END_REASON */ + DECLARE_FLEX_ARRAY(u32, list_mpdu_end_reason); /* HTT_TX_TQM_MAX_LIST_MPDU_END_REASON */ }; /* NOTE: Variable length TLV, use length spec to infer array size */ struct htt_tx_tqm_list_mpdu_cnt_tlv_v { - u32 list_mpdu_cnt_hist[0]; + DECLARE_FLEX_ARRAY(u32, list_mpdu_cnt_hist); /* HTT_TX_TQM_MAX_LIST_MPDU_CNT_HISTOGRAM_BINS */ }; @@ -1098,7 +1098,7 @@ struct htt_tx_de_compl_stats_tlv { * ENTRIES_PER_BIN_COUNT) */ struct htt_tx_de_fw2wbm_ring_full_hist_tlv { - u32 fw2wbm_ring_full_hist[0]; + DECLARE_FLEX_ARRAY(u32, fw2wbm_ring_full_hist); }; struct htt_tx_de_cmn_stats_tlv { @@ -1151,7 +1151,7 @@ struct htt_ring_if_cmn_tlv { /* NOTE: Variable length TLV, use length spec to infer array size */ struct htt_sfm_client_user_tlv_v { /* Number of DWORDS used per user and per client */ - u32 dwords_used_by_user_n[0]; + DECLARE_FLEX_ARRAY(u32, dwords_used_by_user_n); }; struct htt_sfm_client_tlv { @@ -1436,12 +1436,12 @@ struct htt_rx_soc_fw_stats_tlv { /* NOTE: Variable length TLV, use length spec to infer array size */ struct htt_rx_soc_fw_refill_ring_empty_tlv_v { - u32 refill_ring_empty_cnt[0]; /* HTT_RX_STATS_REFILL_MAX_RING */ + DECLARE_FLEX_ARRAY(u32, refill_ring_empty_cnt); /* HTT_RX_STATS_REFILL_MAX_RING */ }; /* NOTE: Variable length TLV, use length spec to infer array size */ struct htt_rx_soc_fw_refill_ring_num_refill_tlv_v { - u32 refill_ring_num_refill[0]; /* HTT_RX_STATS_REFILL_MAX_RING */ + DECLARE_FLEX_ARRAY(u32, refill_ring_num_refill); /* HTT_RX_STATS_REFILL_MAX_RING */ }; /* RXDMA error code from WBM released packets */ @@ -1473,7 +1473,7 @@ enum htt_rx_rxdma_error_code_enum { /* NOTE: Variable length TLV, use length spec to infer array size */ struct htt_rx_soc_fw_refill_ring_num_rxdma_err_tlv_v { - u32 rxdma_err[0]; /* HTT_RX_RXDMA_MAX_ERR_CODE */ + DECLARE_FLEX_ARRAY(u32, rxdma_err); /* HTT_RX_RXDMA_MAX_ERR_CODE */ }; /* REO error code from WBM released packets */ @@ -1505,7 +1505,7 @@ enum htt_rx_reo_error_code_enum { /* NOTE: Variable length TLV, use length spec to infer array size */ struct htt_rx_soc_fw_refill_ring_num_reo_err_tlv_v { - u32 reo_err[0]; /* HTT_RX_REO_MAX_ERR_CODE */ + DECLARE_FLEX_ARRAY(u32, reo_err); /* HTT_RX_REO_MAX_ERR_CODE */ }; /* == RX PDEV STATS == */ @@ -1622,13 +1622,13 @@ struct htt_rx_pdev_fw_stats_phy_err_tlv { /* NOTE: Variable length TLV, use length spec to infer array size */ struct htt_rx_pdev_fw_ring_mpdu_err_tlv_v { /* Num error MPDU for each RxDMA error type */ - u32 fw_ring_mpdu_err[0]; /* HTT_RX_STATS_RXDMA_MAX_ERR */ + DECLARE_FLEX_ARRAY(u32, fw_ring_mpdu_err); /* HTT_RX_STATS_RXDMA_MAX_ERR */ }; /* NOTE: Variable length TLV, use length spec to infer array size */ struct htt_rx_pdev_fw_mpdu_drop_tlv_v { /* Num MPDU dropped */ - u32 fw_mpdu_drop[0]; /* HTT_RX_STATS_FW_DROP_REASON_MAX */ + DECLARE_FLEX_ARRAY(u32, fw_mpdu_drop); /* HTT_RX_STATS_FW_DROP_REASON_MAX */ }; #define HTT_PDEV_CCA_STATS_TX_FRAME_INFO_PRESENT (0x1) -- 2.34.1