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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id E1F08EB64DD for ; Mon, 14 Aug 2023 11:16:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2C4768E0002; Mon, 14 Aug 2023 07:16:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 24C198E0001; Mon, 14 Aug 2023 07:16:38 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0C7798E0002; Mon, 14 Aug 2023 07:16:38 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id EC88A8E0001 for ; Mon, 14 Aug 2023 07:16:37 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id BAE5B14054B for ; Mon, 14 Aug 2023 11:16:37 +0000 (UTC) X-FDA: 81122457234.15.6CA8BFB Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.65]) by imf27.hostedemail.com (Postfix) with ESMTP id 2729140013 for ; Mon, 14 Aug 2023 11:16:33 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=WwNZRP5s; dmarc=pass (policy=none) header.from=intel.com; spf=none (imf27.hostedemail.com: domain of andriy.shevchenko@linux.intel.com has no SPF policy when checking 134.134.136.65) smtp.mailfrom=andriy.shevchenko@linux.intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1692011795; h=from:from:sender: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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=IgoWbcYv3e9pNd73Tm8tqzTktanf0BlXxMJN7YrrOqg=; b=gVAg+gu2DaEM/fYHHCDskeTlEIQcKFFhxUxtwcC5FlnpW05Im+PrAj9Og9Z73yYH3AFpdn 5EMCGXUxv1aCqfF7DomtuMyR0ekpOI1H/cgXiNXqvs0+i/eZOifz442wbN7xZfcGA46fay YBQJRiqYA7jDwCPJ6rkExNPpzVRj60g= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=WwNZRP5s; dmarc=pass (policy=none) header.from=intel.com; spf=none (imf27.hostedemail.com: domain of andriy.shevchenko@linux.intel.com has no SPF policy when checking 134.134.136.65) smtp.mailfrom=andriy.shevchenko@linux.intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1692011795; a=rsa-sha256; cv=none; b=0fas4mIlT3qUM5eXXiB4qZCd5KypBjoJwvcx6FHhfF35pzBhBS2fo4oJ16u0k2VIr86F/1 XLDVeONwi45sNqaSes2KWZ1axxE6vTMSsFeSDnPuyzp9/DvjniH6L9QLma3B4hhU2zUrS4 i8o5t1LINcwUboTFea0fbtfv5x9Xkpw= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1692011794; x=1723547794; h=date:from:to:cc:subject:message-id:references: mime-version:in-reply-to; bh=KxFiqcFpllOBBtd1j20+T+HjiwbOVSrGhU2e86jRQK8=; b=WwNZRP5slUJUtuBZdMJsjqCP9P0aRgxFjkGYCEpf6QMQh0ZZTxtUWSwm dSFn9icYQzvHFBE9JuGkBDS9OOS5ajU96Y3DqmNJG35pHwf3f6YRYLLC6 cQe94ETRqBUOf3BJi7Ct2O93lD0v3tGm+iKIQrZFmAXgWz0buX7pN9jxl QRltticB6dvtyjUSBufIKF5McalqXtzis9S1h0s0VuNTL2innqXbaslV9 tadAJzBhNNj/vmnEz0vj/TYDU9F0ggSO2BSQCBFWSRU6Uco7YZIIQnTLL oBaBfAK8grvax9wLgQ+lNLKD+ARo3J5tDXEF882WNCUZpr/JJKKeeu0lS w==; X-IronPort-AV: E=McAfee;i="6600,9927,10801"; a="375721913" X-IronPort-AV: E=Sophos;i="6.01,172,1684825200"; d="scan'208";a="375721913" 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-Rspamd-Queue-Id: 2729140013 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: wmdmz5stcqrkxjygefao4zx4cme7ubca X-HE-Tag: 1692011793-335466 X-HE-Meta: U2FsdGVkX1+K7/TCvqsy7OsR6UXgiUpzSjns7cqC6b606RmR4QuX845U2qMMecpKjLUhCQ9pMl/IrMijArRdoKUl0/nBk5mQPkWTsdBY/5Wqji2gj8ixzzUti4RfJeyYcJDRa1CGQDXOLRVzYjzSAX+p0i2WkFSxyUEocLTXrO93Q/u1BUep/FknpRQQFYABjkLGtWPfxjx2cLBcgsivuQJuMzPApkVO3AJzZL5HmrpknHykAYW3bjE11twPsAkZXIs96zt3CemxDd1j56Xy/F8PgOn9ywHbGmL7YSqebxPstCHAhpUSsEFyue8uQVr6umGhxDJ1yebsZBrDGhHK9ZVJnKkbalbeJGeM5bJDABMxVfO8lQoG2p4IqBj6n7oHNJUZrle2+Nc/QcacEFq3zpMjbykObk7sMb3vkfvj39i60z7TxrX8GEP04amyK/5kyDbeiT2KSHUKKUqFv9gsvdI+jbmgWGK2ybJq68EYEpYTPK9e3eTAJLittIr0FuWod5dj3yDsouhmO9iXKq4hWzDjY1/FiDp7MsuQnbgoW2KEhhSXUT4kDcNGsSxu2hnx2EzZx/3WE23+ruH3fP8haC+xk+mMfXZPs2BkbpVi/W1Et9cynXEFGSMj2swBcOEWlFVMfbqunjcoVyUfTn/6CPy+W/3p/ang4ydLSa3iI7G59AWh4J+NWKvBd3X2AbO2h9SlRy+IvAWe8eLueWrF7KUPxGtaFuZurGMCsaTg40HFVtqRP1PXpcVQqZ3MtTWpl1VJO80wrxoUUfNlvgziFVo6R72qZKEq7Z3bPQt4VcdrtFj/w4ckREy1KCQBVKN2SItiE+n9LaP9WwR2GOOnDF0i00ZX3milWl9SNqTZJv2OsTBiu5UWEj0L1lte29GqmkYSs/uHlgoAAQbJ1hPPr8aHcQfr2ddRnPInC1QGUkQhREYPVUrCIEijYZfqAptpwMjcEFTG9JQSf22vanj chrYsB8t 6to1GsPomvpQ5vvH75XNSVuCcVoWS+C1POeJ3fpLkfafBYcmyBiY0+X9cpUpkM8lQtZA4d/Q4/IL5C+lx2DXal2k9hFnZSF60V39gJAeDucuy+S4YqgCmoksJ7D+XiM6m5V6jgPohmm08OHan6rFS9hIhPUXATLMsXKc1E3VZmbm9bsI= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: 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