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 X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D9FDDC28CF6 for ; Sat, 28 Jul 2018 17:24:52 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 7616620873 for ; Sat, 28 Jul 2018 17:24:52 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7616620873 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=lip6.fr Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729542AbeG1SwB (ORCPT ); Sat, 28 Jul 2018 14:52:01 -0400 Received: from mail2-relais-roc.national.inria.fr ([192.134.164.83]:51874 "EHLO mail2-relais-roc.national.inria.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729517AbeG1SwB (ORCPT ); Sat, 28 Jul 2018 14:52:01 -0400 X-IronPort-AV: E=Sophos;i="5.51,414,1526335200"; d="scan'208";a="340597717" Received: from abo-214-111-68.mrs.modulonet.fr (HELO [192.168.0.15]) ([85.68.111.214]) by mail2-relais-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Jul 2018 19:24:48 +0200 Date: Sat, 28 Jul 2018 19:24:48 +0200 (CEST) From: Julia Lawall X-X-Sender: jll@hadrien To: Joe Perches cc: David Laight , 'Andrew Morton' , Andy Whitcroft , LKML Subject: Re: [RFC PATCH] checkpatch: check for function calls with struct or union on stack In-Reply-To: <6439210644b66a1847e6fad9205fcc7056319de1.camel@perches.com> Message-ID: References: <1236369d28b2f1f5389ff652c4eb89e699e6481e.camel@perches.com> <20180726122533.104f6eea950853ef50ebc680@linux-foundation.org> <20180726122807.fad0566951e36d930edb6874@linux-foundation.org> <9d7441a14897426f8ed5befe8da0cad3@AcuMS.aculab.com> <0a6d2ecfacf3786228de664c8e01f6de10314c1b.camel@perches.com> <9f0377fa74bd4964912ba5a4fc76526d@AcuMS.aculab.com> <1a75fda0861a0b2bce208fbf9b53785bf0e76fa2.camel@perches.com> <6439210644b66a1847e6fad9205fcc7056319de1.camel@perches.com> User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, 28 Jul 2018, Joe Perches wrote: > On Sat, 2018-07-28 at 08:25 +0200, Julia Lawall wrote: > > On Fri, 27 Jul 2018, Joe Perches wrote: > [] > > > It might make sense for this sort of check to be > > > added to coccinelle or maybe as a compiler warning > > > when the struct is larger than some size. > > > > > > Original thread for Julia: > > > https://lore.kernel.org/patchwork/patch/967890/ > > > > Coccinelle doesn't directly know the size of the structure, but it can > > count the number of fields. Maybe a case with an update in the function > > body > > Perhaps this might be the most useful to check. > > > or at least 3 fields is worth reporting on? > > a struct with 3 chars or bools might be faster > by value, but maybe for structs with arrays or > other structs. > > For instance: > > lib/vsprintf.c uses struct printf_spec which > is 16 bytes and that fits nicely in a This message seems to be cut off. I got around 70 results, of which 23 are from vsprintf. Perhaps the simplest would be to print the structure declaration with the warning message, so the user could easily check the results. julia