Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp3721296rwb; Tue, 8 Nov 2022 07:42:34 -0800 (PST) X-Google-Smtp-Source: AA0mqf5WxDAv5RCETiKX94Wo43aNV+Hw5nYFYAvUQ03UypbGCu6euN1cw46zsIjrUBRxtQ32xDSJ X-Received: by 2002:a17:907:2d94:b0:7ae:8000:a8e2 with SMTP id gt20-20020a1709072d9400b007ae8000a8e2mr2774638ejc.192.1667922154063; Tue, 08 Nov 2022 07:42:34 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1667922154; cv=none; d=google.com; s=arc-20160816; b=a0n7xJaZp+3e/9DhPsxnovaZxSwfjNeZ7df3Jana/BgcizwNCtUK69yVbjkq2A7Idv 7cpP+P0ohpURV+AN2dF+1HCIGkV5B37wfI8zcWe59oCMwn3SwCRpcF228lbavIaa3wsN 3spFe97u9rwZRqQE2vkq2kLeb9xnTf6Wp/iQfgcvdgyp41iy5ijYilbz8hooD2goQ8If IhPVGSuVHj0/z2lk7bv7B9ProJLeqO0CkGdMgIWBFEgfKdBWStYuia1aCGmgOiRUUnkM 2iTcY1fvcsLSVx975n9nUM0COMYnfud/gheCzxo+r8UVGVF8s2qY5JilJG7lJ67Wi2AE /yWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-disposition:mime-version:message-id :subject:to:from:date:dkim-signature; bh=FOYJU5zpEa0aOAh9jY6C9qNZVRpsrv1tDlG8tmAvJIU=; b=qLO5JRAum496GlNPukVZTGCJjyYTHR5dUAzQIybAG8+sAjFpjLsa4m3ru+uSVAaMfT O0H7WdC0UWc1lJ0IO8pFkg/RBrH3mhjvoj9CEn2mRUGL4S96yhs4yTfLMwR3qQLktw+K 3V1ueU6F9nXkikidRkZpbOyXomPBOukiudoPqDxjzBQHhn0Tq03D19d2wMWoG9gsUT45 uVmv+pBzoXKIWb8RLGB0VlIFtCTUuM2V1Ncl1/lVg6mIBzUWEJGMhHpJ/JJLRL2mz+XF FQo/v7G9N44ixolR5LFFiPghv+6DcUHsQEVw0IYGlMJ2YCRrSe68tSK9dpMPFlB1NJrm jfeg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@mailo.com header.s=mailo header.b=ZuiOdBdj; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=mailo.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id sc6-20020a1709078a0600b0073dced7204bsi13442463ejc.767.2022.11.08.07.42.11; Tue, 08 Nov 2022 07:42:34 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=fail header.i=@mailo.com header.s=mailo header.b=ZuiOdBdj; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=mailo.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234267AbiKHPNb (ORCPT + 90 others); Tue, 8 Nov 2022 10:13:31 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38744 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234312AbiKHPNZ (ORCPT ); Tue, 8 Nov 2022 10:13:25 -0500 Received: from msg-4.mailo.com (msg-4.mailo.com [213.182.54.15]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EEB7A52887 for ; Tue, 8 Nov 2022 07:13:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=mailo.com; s=mailo; t=1667920385; bh=sejP4aBDdhMo3HG9Xhj2vvP0zlb9qbq1zHjDd4eRHUM=; h=X-EA-Auth:Date:From:To:Subject:Message-ID:MIME-Version: Content-Type; b=ZuiOdBdjtkEIP+oN7dr8IVxqYOpsonyeISX+DbXtTEo1QPmbjl5am5DM8za3qZ0YY hwaGCcfhBAUEM4DKUfgUUCHhTIDXJ6Iw9CUsAipf/cfzP5aMAKLYAaDEnmnAuYnxB4 4crHcJX4yRfHt2doHIiidtWeZ+qN/DXubq635474= Received: by b-6.in.mailobj.net [192.168.90.16] with ESMTP via ip-206.mailobj.net [213.182.55.206] Tue, 8 Nov 2022 16:13:05 +0100 (CET) X-EA-Auth: OlqpyWd3qQcgdjOz9yJAVFrkj87A1WXK9JgBsKUSYg+jqfeXlddkMDsowDf2k8clG2dGPZ5qCVS6zAKNw6gfGH2vXDnrj/ry Date: Tue, 8 Nov 2022 20:42:59 +0530 From: Deepak R Varma To: Greg Kroah-Hartman , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: staging/wlan-ng query: convert to flexible array member Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello, First, my apologies for the long email. I am requesting guidance on how to approach resolving the zero element flexible VLO struct implementation in this driver in file drivers/staging/waln-ng/hfa384x.f The struct hfa384x_pdrec contains nested structs with zero element arrays. These zero element structs are part of a union 'data' inside the struct container. This union 'data' is the last element of this container. Please see the code snip below: 1068 struct hfa384x_pdrec { 1 __le16 len; /* in words */ 2 __le16 code; 3 union pdr { 4 struct hfa384x_pdr_pcb_partnum pcb_partnum; 11 struct hfa384x_pdr_nicid nicid; 12 struct hfa384x_pdr_refdac_measurements refdac_measurements; 13 struct hfa384x_pdr_vgdac_measurements vgdac_measurements; 14 struct hfa384x_pdr_level_comp_measurements level_compc_measurements; 15 struct hfa384x_pdr_mac_address mac_address; 39 } data; 40 } __packed; The three structures in question are declared as follows in the same file: 962 struct hfa384x_pdr_refdac_measurements { 1 u16 value[0]; 2 } __packed; 3 4 struct hfa384x_pdr_vgdac_measurements { 5 u16 value[0]; 6 } __packed; 7 8 struct hfa384x_pdr_level_comp_measurements { 9 u16 value[0]; 10 } __packed; As per the C99 specifications, the flexible array struct should have at least one member other than the true flexible array member. So converting these from [0] to [] is not feasible in the current form. I did not find these struct variables being used for memory allocation in the code directly. My find may be short since the implementation appears to get very complex as I tried to get deeper. Can you please suggest how should I approach correcting the zero element flex array implementation here? Can these structs be removed if they are unused? Thank you. ./drv