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 A12A2C77B78 for ; Wed, 26 Apr 2023 18:22:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 11A916B00FA; Wed, 26 Apr 2023 14:22:56 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 07C616B0119; Wed, 26 Apr 2023 14:22:56 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E37F06B011A; Wed, 26 Apr 2023 14:22:55 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id CD9E96B00FA for ; Wed, 26 Apr 2023 14:22:55 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id A4D02A0293 for ; Wed, 26 Apr 2023 18:22:55 +0000 (UTC) X-FDA: 80724363510.24.C754F27 Received: from mail-pj1-f46.google.com (mail-pj1-f46.google.com [209.85.216.46]) by imf19.hostedemail.com (Postfix) with ESMTP id E28DB1A001F for ; Wed, 26 Apr 2023 18:22:53 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=0cuenyEO; spf=pass (imf19.hostedemail.com: domain of ndesaulniers@google.com designates 209.85.216.46 as permitted sender) smtp.mailfrom=ndesaulniers@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1682533373; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=w9FxLmLHlRkoCNQhHTbkQ+E9KgQDXrVxF5ObRxT+GjA=; b=XgIML9UgCTW6xnxJeKbtwJE/KTa0D6/osK7cta3lt/mFDwV0Au0owCbFwM22AfoIs+uVwj /mDdhI5DG9WNI0IK+fwKFjr9GTyiJQWdjkQuk5LVC1aO3aK3xN1yGJMPQ61qjNqvuaEMU+ 0BDvZaNRLkzb++/cVwDXTPTCMBH4cuI= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=0cuenyEO; spf=pass (imf19.hostedemail.com: domain of ndesaulniers@google.com designates 209.85.216.46 as permitted sender) smtp.mailfrom=ndesaulniers@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1682533373; a=rsa-sha256; cv=none; b=QVHH1vI22gEWihidikJ+qpNMfqHJk02Jo8vAA/Wtn+u/LeQOzPJIhOpR1JCGRE3S3CSjzn SS+tT0EIKM5wkLkTL3Jpt7U7dYwbAdMEPbf6Q1Fh1UDOVGZIpEYJ9JBml1hL/Ls6z2zUQt S9yyJsgWwlUqwWf57Ro5GBFegNgoH8M= Received: by mail-pj1-f46.google.com with SMTP id 98e67ed59e1d1-2472a3bfd23so5166236a91.3 for ; Wed, 26 Apr 2023 11:22:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1682533373; x=1685125373; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=w9FxLmLHlRkoCNQhHTbkQ+E9KgQDXrVxF5ObRxT+GjA=; b=0cuenyEOY+RxD11vLq+OuM5ygj2A0QsYdEzL0nszm6O8oPserU7qoGjHKznhAdYDo7 A+SfOI7KOjZGK7iOjkFRZypBOZkUOtoavZc4MjisWmFj0Zb8kVdAPJHaMOZ7QLYRGWs/ u0slXqc/9Q/QXaH0B0SeooQ6j3SMI7pYNt8owWl8vO2WU4uxua3KN5EOdKAF0YeIz0OS syb1Cw4o18rVqdrPXUeI5u0V9i27pdsspf/z74vp7/E9TdHg5STxcuSeOQMH+kC0Wtmw imIC69F0wFQODMIYrmktc5yLe/ZQAwsRHPAC+3fPu4vnhpefJdVi/QpVr/ZBdzczDwpp pnfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682533373; x=1685125373; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=w9FxLmLHlRkoCNQhHTbkQ+E9KgQDXrVxF5ObRxT+GjA=; b=aMeqWQsFTBAEue593pIJ1fDj2Uo81XYu4fdZ/eSYAJQcL7rr7IfR8cRRcx58YL9Xbz VRS6TFf4rVljKO5VkelxypwP23Btag/VSnw7bBEArhVAYgRug5octaJbpEw/+FRFrI94 k2WEEgsLifvP5SBhIRhGlrpL8ZGo4MuxOmr4CKVPkHi8MUVhuzZ4zlAa5tRGUtZg6CGN xNDhl3T1GFrX8k/aBtL5LuQzj8CE/giaxQsnh4tZoJNq1BwMDNZ+hjGWX0ToG5UfXTxv atGn67/itflTsNX2R6umYTbTcfv/f0zJJnmylijcjf2XKZFajXYyjbjfaxEXazmMm+jR oXow== X-Gm-Message-State: AAQBX9fr9SHp7Nv4c86alyiKPMGmuVuQogIMFlTeah2VmEx5Ze+RWukP aqVEgHT5sZx7Hyl7vHplLgRMXiABWBrf7D59DSLuQg== X-Google-Smtp-Source: AKy350YvKZyPFjklYrN45irnyd7dsdQe4L6I+xc0halUSTL62o6SdnJnoTDV0M4kqH0WtN4z0G9BxhqwGHcGjACQHTg= X-Received: by 2002:a17:90a:9708:b0:22c:59c3:8694 with SMTP id x8-20020a17090a970800b0022c59c38694mr21920176pjo.44.1682533372604; Wed, 26 Apr 2023 11:22:52 -0700 (PDT) MIME-Version: 1.0 References: <20230425041838.GA150312@mit.edu> In-Reply-To: From: Nick Desaulniers Date: Wed, 26 Apr 2023 11:22:41 -0700 Message-ID: Subject: Re: [GIT PULL] ext4 changes for the 6.4 merge window To: Linus Torvalds Cc: "Theodore Ts'o" , Nathan Chancellor , linux-ext4@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: E28DB1A001F X-Stat-Signature: agtspqzwrdbx3eesf66ueinyse9t3a66 X-HE-Tag: 1682533373-818001 X-HE-Meta: U2FsdGVkX19khauUg6LOktqqFTqoF2zxZuh4vW5lhl0ccdpG/vKPPUKyKV+O2AEY64Lr0rZkrae8HKtpjk8nvnQY732jOitIqAoMOJYCHzEJmk9vhd2VDAyOm27c9CcGs7+DMhCkmC43NsrqClEWtFsQnCm3b/OlaTr9ea7D4/l/KWt2ZJ6+6wAtFCyq85mKC4VLwaimCK/jr5LoAGJPD9f5x1Xgxf6sKB5dJ9PvrdqtFLiMHXBMgZ7wgCwuPrvMkMRMb/bMe/KeIu3S1gXNhQFecU3tkvDjIApyARIpKnQH+nvuea9B+Dd6DqXnhuyLfVxzDSLDga3y5QdL4h7Sr6V+ZC7t6HQGX9u/KOTBISapetOfsv07IBWt8bbnq+jfI3ArlRCjeVwjVAaaMdTQ7qfp8WCswqHsTg9J6Ix84GbIDFlffSP2ET6N7kz+Qmf9e4IQ0g0vTRVj7DBExo2RB/frSGxIfxy4Bby+AATHEKYtEVgbQmhqSsFy4ueb+79xE7jb4kfc2F3B+8AVBzkEBpJ2lCrFGqHqlVXyDiwRHO6l9IJF0tkmzAVgqQJ2a5rwa7WPCu7wNvRGvstFMKkEV9ZfL16wZWvzUqurb5XE13qLMVM+5eqdtJ9BvQ391+EtjGpb90C3HwxJY4w2sz+NDhw6HIejlEm+sP4LozR4ReRpkUw6aTuTaIVwMgiqDk4kYBl4T67yZFPNU98D5GEyGn9T9UO8dk1xncyC6EoVTBVRbcmGHTzKvkGPHIvlJLIqS0RO9Fl0Iw6+hoyyEjSseA96O8XEtBXObzJXhE95HUeessLAAv8Gx+R5ceV2/bLQJu7GFC2fXQhqJMm/OGl5GlPmLtA/tJfZ6TKgmcWBa1hct9/LTp1Hjl/jkxXg3Rys12ODfie91aj/DFPQMi0O4TXPX7hOeg0/knO8+cWcWeIoc7lF+wlHi3jeD04BT7P1rdHZ//1xJg4HEYXHD3E KbpM+QMQ 1rDPPEJJNG+SBk60eM0MbDmCLeggjEygN/bezgyXBKV6dRE/H+WUvFNY8IvUpGxksH5pWAFVnzgF976B3uHahUP0b68Zzxz9q6IhFiD35Dm5M3qMXLa3M5Zb2afPPcJ7QX5l9D+UlXHAkNhYebRVEjrdrg2vQDiMpn1nZwQ5/+Sl8xzLa2ElOdcIeQarLnTRkDfTMMvBFNKtbVLWBq31ivRl2QEJME9TgQVq/sBJV+tTdZZVeaif9Gn/QVUeQan15wgc4OO9GzSAY6ad5XkeMqdO6jAIzGoKhsd1lp83DlncUrTv1EkNkUIUhL+mE2Rx7CDGVfH9eufNzMV8TE8Ti/xH1Am/l3nMpQ0QmHUP+dfi7xBw= 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 Wed, Apr 26, 2023 at 11:11=E2=80=AFAM Linus Torvalds wrote: > > On Wed, Apr 26, 2023 at 10:34=E2=80=AFAM Nick Desaulniers > wrote: > > > > That's what clang's _Nonnull attribute does (with -Wnullability-extensi= on). > > No, that's a warning about using it, not a warning about testing for > NULL when it's there. > > I actually tested _Nonnull. It seems to work for arguments. But it > does not work for return values. Ah, it does do something in the callee, not the caller: https://godbolt.org/z/9dsPKGMWq But I see your point; it would be nice to flag that the comparison against NULL seems suspicious. > > Of course, maybe there's some other magic needed, but it does seem to > be sadly not working for us. > > > But it's not toolchain portable, at the moment. Would require changes > > to clang to use the GNU C __attribute__ syntax, too (which I'm not > > against adding support for). > > No need for using the __attribute__ syntax at all, that would _not_ be > a show-stopper. Ack. > > While it's true that it's the common syntax, and we sometimes use it > explicitly because of that, it's by no means the only syntax, and we > actually tend to try to have more legible wrappers around it. > > So, for example, we prefer using '__weak' instead of writing > '__attribute__((__weak__))'. > > And no, it very much doesn't have to use __attibute__ at all. We > already have things like > > #define __diag(s) _Pragma(__diag_str(GCC diagnostic s)) > > so we already use other syntaxes. > > End result: if it actually worked, I'd happily do something like > > #define __return_nonnull _Nonnull > > in , with then then just h= aving > > #define __return_nonnull > > along with a big comment about how __attribute__((nonnull)) is > horrible garbage that should never every be used. > > Linus --=20 Thanks, ~Nick Desaulniers