Received: by 2002:a05:7412:6592:b0:d7:7d3a:4fe2 with SMTP id m18csp2552798rdg; Mon, 14 Aug 2023 06:20:26 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFPhftj/KQWakoZgZkbRFVGWKX7brTHA8vuqZ5O86LknfyZMYRJZR63nJ4AlONT+gQ5XF3X X-Received: by 2002:a17:906:519d:b0:99b:5a73:4d09 with SMTP id y29-20020a170906519d00b0099b5a734d09mr6703654ejk.43.1692019226311; Mon, 14 Aug 2023 06:20:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1692019226; cv=none; d=google.com; s=arc-20160816; b=ifdqqnuK5tZgUjCPNVlWDOWLKZms7GvYPV4fa0T1g/53ciB8HvrK3PigzS30U7PFXX nGdHPWOqwrvZ4j2msyAgKyOMSAx+GS4UtBtLnIEiLfTtDF+tKNw3Bt5yzfymvcTm/Yp/ y4TiwaXJowConuwmNslqr31c9h8Kp3R1sLUpcB6if6Rg17oKI04rOJ51SH8r+PFcgD0l Ts0vntIEK5/zEmWuMjuh5Rvkcgrv9UiZuvXZPl3Kzu6RasrNHhSmE4BC/xLerbf+1nJh Dc6Q2ta+ckyEKH5UcOuK5y40nFruJD5vtyGOhBuepUj3pP1k/poTsBNdytukHt4QepmD qGNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:organization:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature; bh=IgoWbcYv3e9pNd73Tm8tqzTktanf0BlXxMJN7YrrOqg=; fh=fxqyV8DKHMg0hFY9v1JPoUnggwZiT75qjfCzCG9wfac=; b=U8NlKNcGDSZ1IWTUYNHdoWCVHWx2kr5bhhRBkFPmQIr8MHGnGblC223AB2qDT+LZH/ 9yvAVzNHhBka/mGN1e1/FC8BCjUr/oyBpqYUHpQwOB+TTO4Xm7gl3EOa97rL4a4JSoEI hopuDQ0kwgi3L5t05eSHb+k258lUloR7+YpgOxsz5dUHDqSFmEqGO04QtBRmKrzl55iX TWgAu9IriJ8J51Ef9E9bMyWpGQsSGmntsP7D7aQXVnzHXHqEYC7RXyqijoeSyW1kBBjn 3rWX3+362IB4+n7bykG28gTp9tOIGiAISBFQo0NJH0MhteOEDKapTdJ7UM5l3u2pZdK1 K2Vw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="QpVU1tY/"; 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=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id n20-20020a1709065e1400b0099cd06f391bsi7799913eju.985.2023.08.14.06.20.01; Mon, 14 Aug 2023 06:20:26 -0700 (PDT) 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=pass header.i=@intel.com header.s=Intel header.b="QpVU1tY/"; 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=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233632AbjHNLQ6 (ORCPT + 99 others); Mon, 14 Aug 2023 07:16:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49816 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233575AbjHNLQd (ORCPT ); Mon, 14 Aug 2023 07:16:33 -0400 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.65]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CF0BFE58 for ; Mon, 14 Aug 2023 04:16:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1692011792; x=1723547792; h=date:from:to:cc:subject:message-id:references: mime-version:in-reply-to; bh=KxFiqcFpllOBBtd1j20+T+HjiwbOVSrGhU2e86jRQK8=; b=QpVU1tY/4K7I5UAsNKtJQ4/s3Co2VCsF9/Q6c2BJZZ3GYg2ROizqi6OL WX5gxls90UB78sQujdtuOuhb+Mmlm3hqwhWqqx1J9ZZuNtmheHohQi3kC yQjhqXeEwgR6Kg1OgPJRmgY5eaEqUV4myWNUYiA4i8hXo1AuQvnmLv7ek 6pjkhSGfxVWilWb424qxSYwLZnJS+xO8OBLurHDhxkL1m5ugWvYlH+xj9 q9v3hlyqFG+zD13FmKsOpUzkgmp7klCpXwQQ6+PtDFLSXiFcP7H3jgMmj pqWENmdjoG8Qs3AxPxf8Mh1TN6sHhlCBPO9XTJ5IL7DpQ+0vHnJiDeO7D w==; X-IronPort-AV: E=McAfee;i="6600,9927,10801"; a="375721912" X-IronPort-AV: E=Sophos;i="6.01,172,1684825200"; d="scan'208";a="375721912" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Aug 2023 04:16:17 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10801"; a="733416210" X-IronPort-AV: E=Sophos;i="6.01,172,1684825200"; d="scan'208";a="733416210" Received: from smile.fi.intel.com ([10.237.72.54]) by orsmga002.jf.intel.com with ESMTP; 14 Aug 2023 04:16:14 -0700 Received: from andy by smile.fi.intel.com with local (Exim 4.96) (envelope-from ) id 1qVVYS-0021iT-2B; Mon, 14 Aug 2023 14:16:12 +0300 Date: Mon, 14 Aug 2023 14:16:12 +0300 From: Andy Shevchenko To: Steven Rostedt Cc: Rasmus Villemoes , Petr Mladek , Marco Elver , linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com, linux-mm@kvack.org, Sergey Senozhatsky , Alexander Potapenko , Dmitry Vyukov , Andrew Morton Subject: Re: [PATCH v2 2/3] lib/vsprintf: Split out sprintf() and friends Message-ID: References: <67ddbcec-b96f-582c-a38c-259234c3f301@rasmusvillemoes.dk> <37faa9c7-94a3-3ea1-f116-6ff5cdf021cd@rasmusvillemoes.dk> <20230811152817.010e1da3@gandalf.local.home> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230811152817.010e1da3@gandalf.local.home> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_NONE 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 On Fri, Aug 11, 2023 at 03:28:17PM -0400, Steven Rostedt wrote: > On Thu, 10 Aug 2023 16:17:57 +0200 > Rasmus Villemoes wrote: > > > > Btw, it's easy to enforce IIUC, i.e. by dropping > > > > > > #ifndef _FOO_H > > > #define _FOO_H > > > #endif > > > > > > mantra from the headers. > > > > No, you can't do that, because some headers legitimately include other > > headers, often for type definitions. Say some struct definition where > > one of the members is another struct (struct list_head being an obvious > > example). Or a static inline function. > > > > We _also_ don't want to force everybody who includes a.h to ensure that > > they first include b.h because something in a.h needs stuff from b.h. > > > > So include guards must be used. They are a so well-known idiom that gcc > > even has special code for handling them: If everything in a foo.h file > > except comments is inside an ifndef/define/endif, gcc remembers that > > that foo.h file has such an include guard, so when gcc then encounters > > some #include directive that would again resolve to that same foo.h, and > > the include guard hasn't been #undef'ed, it doesn't even do the syscalls > > to open/read/close the file again. > > I hope Andy was just joking with that recommendation. Too radical to be true to implement. But it's always good to have a rationale (thanks Rasmus) behind existing approach. -- With Best Regards, Andy Shevchenko