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 128A0C5320E for ; Mon, 19 Aug 2024 10:18:04 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 866CA6B0082; Mon, 19 Aug 2024 06:18:04 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 815806B0083; Mon, 19 Aug 2024 06:18:04 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 704376B0085; Mon, 19 Aug 2024 06:18:04 -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 527A06B0082 for ; Mon, 19 Aug 2024 06:18:04 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 0B4F0A115E for ; Mon, 19 Aug 2024 10:18:04 +0000 (UTC) X-FDA: 82468594488.16.6EBB262 Received: from mail-ed1-f48.google.com (mail-ed1-f48.google.com [209.85.208.48]) by imf02.hostedemail.com (Postfix) with ESMTP id DF2A280024 for ; Mon, 19 Aug 2024 10:18:01 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=PEVluxfE; spf=pass (imf02.hostedemail.com: domain of mhocko@suse.com designates 209.85.208.48 as permitted sender) smtp.mailfrom=mhocko@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1724062621; 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=mCkt14OXmujv3CAVA2IuYr6eddmi2BtZwN2CCnzS0Kg=; b=aHvAXpKUO/e0/DS+ThPUkcSwJRIqq7g5okK54EL0ygwiAPn/h8wVrpzZgUpvE69X4R8Nel i5i+sRyUeI0OVGzyafreiJ1umWgmCSIdDb5HeTv5SUxgc/XLAma/cYQ4PxdA7Bw23/wiso Rb6L8y1ZmOmK1+UwAMjBOyXxdtFx68Y= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=PEVluxfE; spf=pass (imf02.hostedemail.com: domain of mhocko@suse.com designates 209.85.208.48 as permitted sender) smtp.mailfrom=mhocko@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1724062621; a=rsa-sha256; cv=none; b=rXcEyZGsy5zKWEKUUbezkXUYYODv6OMVfYZgJSTT30K4jrA/3+0y2p0eH8CGNfKQnB9iB0 MnDuW1GKd8MoQ7k3laOvp8n+wlshnifr+W6+Ud7XZiVIX6gZdRkDhdc2hsovu2qq9VQXdG y8Y9kc7fi06E6vECf6POYu2k7eo3yOU= Received: by mail-ed1-f48.google.com with SMTP id 4fb4d7f45d1cf-5a108354819so5304075a12.0 for ; Mon, 19 Aug 2024 03:18:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1724062680; x=1724667480; darn=kvack.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=mCkt14OXmujv3CAVA2IuYr6eddmi2BtZwN2CCnzS0Kg=; b=PEVluxfEvf7Yl/emEEyULBxM34O7Y2xTHYcILPp9n5+kHjU7YSc9MaftnUu0Jclp77 bErtiFTEHEDfAMJDfv7rpTsgRQFJ8OdneEzhrheSpw1KpxigjADPLMoLUXsWnS8kmdDb VFDDrJjIUf/Ih/0kM0EL+8rvUDaUFSWDa4iaz2Z9dCs5xELZYzvm8H32U7cUlbK+gqqm aO1XSJUUjgUT6BvPcJ2xOkvXK6HZDayJ0XIUgLlnMKaw4tedshNE4h+l7GCpwYp9Jmqf CYAFd4hu4Ahk5d9JzteJiZ1fSPNYtKJOZcXdRQfTh10bhkW5FziXaoT80zKz6bS6fUhR sETA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724062680; x=1724667480; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=mCkt14OXmujv3CAVA2IuYr6eddmi2BtZwN2CCnzS0Kg=; b=K3xN9h+iOpUdbAqChUoJYAhOXxD/kbMGUzXgN2JSiXAnDr1TUhnDhAPtwOc3h4EwoZ aIqHfuxe2CiLmMjyn5bsCx2rg265Yqx+D6G6y9Bgxef9gzWTscAhkkQWWFITFutjZe0X vLs7GpFsLYVtXeLLbyuFLR1Mza7DQ1WVpLVGD+woVyBHp61u8KP4eYyTe1P2GwmUtloI ywE7xsRkNNGXApy/GpTP26zVCYYDqJTWfwKOQ8b5yGenVLa59PYxsbFiDLpW27lISGdV zzQVqOESEN94lJca5d632X0e/6f1H00kBlIIskhs/Jmit0flsfW+W/2T+R9okkACeyFn En8A== X-Forwarded-Encrypted: i=1; AJvYcCXU2tSFRG26hYHvmnN6Bh5OHBuJiuB6CCu4Wxv9SfU+O3XjsrDiROzU2qquCsNKlT4y9kvc/mmLDfdz6zkXa+dYmZk= X-Gm-Message-State: AOJu0Yy5PdH7yegeMPa+ALF6d26962MQFa3Emr/aTt+BQsVN5nD6pgkH wtXnHcMELJBRJFbi6FiVQqybnD36ybsfz0aCmlhF5iQYcZx7bQw5UzgIHLNFQmc= X-Google-Smtp-Source: AGHT+IH7mKVhOvldd+YWFB8xfHwfzyUOR4ddfb8gx/ak3NJGinmjEyEZneQg2pStbUD7tAAmzrehjw== X-Received: by 2002:a17:906:c116:b0:a72:8a62:65e7 with SMTP id a640c23a62f3a-a8392a38f5dmr607460866b.57.1724062680134; Mon, 19 Aug 2024 03:18:00 -0700 (PDT) Received: from localhost (109-81-83-72.rct.o2.cz. [109.81.83.72]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a838396d4b2sm612732766b.220.2024.08.19.03.17.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 19 Aug 2024 03:17:59 -0700 (PDT) Date: Mon, 19 Aug 2024 12:17:58 +0200 From: Michal Hocko To: Yafang Shao Cc: Barry Song <21cnbao@gmail.com>, akpm@linux-foundation.org, linux-mm@kvack.org, 42.hyeyoo@gmail.com, cl@linux.com, hailong.liu@oppo.com, hch@infradead.org, iamjoonsoo.kim@lge.com, penberg@kernel.org, rientjes@google.com, roman.gushchin@linux.dev, torvalds@linux-foundation.org, urezki@gmail.com, v-songbaohua@oppo.com, vbabka@suse.cz, virtualization@lists.linux.dev, Lorenzo Stoakes , Kees Cook , Eugenio =?iso-8859-1?Q?P=E9rez?= , Jason Wang , Maxime Coquelin , "Michael S. Tsirkin" , Xuan Zhuo Subject: Re: [PATCH v3 4/4] mm: prohibit NULL deference exposed for unsupported non-blockable __GFP_NOFAIL Message-ID: References: <20240817062449.21164-1-21cnbao@gmail.com> <20240817062449.21164-5-21cnbao@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Stat-Signature: 11hpb6kk5frzsu59twm9m4shpmfm93wx X-Rspam-User: X-Rspamd-Queue-Id: DF2A280024 X-Rspamd-Server: rspam02 X-HE-Tag: 1724062681-142711 X-HE-Meta: U2FsdGVkX19wZAQWHuXAqoGaL+XsdMwzSEJRaepVFtVRPW79fr+ZlB/7VYE7YEm3wGHp8A4ILfMHGzDXt7NUWmWYCcp+muyadpIw47Q+U/VCUmsefQYq468oUkwQuyiAvDYaqwQfpfuUNRQqT9kCajCeCMCUgAi6YQPoKpLkbd7ddt3Pv1+UAQ5p6xhBw5susEjLhdvwV8hbClDmtf+8vmGsdP7qO1LN1s/C3psELMQX8CgHeh7H3Y5C+H+UgbRd4iquWQj/nJEuQdp5NpGA3uR/ZTbcQoyUs2ImVuGCiGPPLNl767ugpKVi0IOWu24ynPpqb0FDkEUoMe7lxAaIqa5PLEhmslhbLhHY79JJkneXIbCOUNnjjQMrh2+r1Ue4qQ2ttbzbgBSO56vy4GzimLJTid101nVIckRJKpx61hQM5xRseEe1tiJpRt/2/v4bMoZBJF58gVGM54h/DLMm4DoeRFQ4Wf1QXkg62zw0fUh99pDofDhEBaMySG8AEvJT/8BQVhC7lDC/XLEy74vPTe4jPzH/xrOruSTJX40ImLt0KNXUdsNiF6Nr85c3CLfL+E43cIJk0LUy0KHuLXeSPwhZ3KgmUt3w7LPLLABSj2GsXX5r08Amy9gGBRT/yEG7zJl/BCELTw1VW4o9wmGOPEBfbr3MIHuSx+JpNHqgMz+3Qxo2Ec7sYf0/M4xK7965sd4sa0MuuQBLLnnibjXLYppurrfK4cyZgHNF7aAUCKeCobf/0tON8df5K327GsbfyrZKs5XHt0vmQLBa+FB/0Hj76XfwGkWb8EOGv0k1W12Yj+Viq8QcJ+5BSkz1Br4sGoM7GKUmBmS9Uj7wVIHtd/Lzmcbm+KcXFAywH3UKIYQJOKMpEuSAEEzYQbz40LETR9y03LFqXDppW/tPQsf0Mp1j+O/QVk2WKEgrVSisGfCVPrz4CaKqgo3qjhCwxnzSHFV5/5irAFX1mSHqgEK jar2HIYz 4vzR2n1d1AGQ3Y/OqJIPBNfh78wqfZVB5erjJPRjPLUywR4CeY+5lxF7q8BorpI8rz5hz5cG9aixYAMB9liPWHzOGjpc/UxqW8OUXsJk/TKIiv0pXt8HkrgArkgeK9flmlLheQ030r9j9wpXm+7QvWGmVKBkUcuD/SXuUqKlKoE8pu705DTS8eEF8uEXDBfNziUlgK1EOW6HvmSZJahS3bVYt4LncKNcxtceC7xfHINXsggTGsVT+2mockpD+TXhpPYQynWIGpW0/t5lDa0XY1X2Jf589MpLgM9kYTFXG3tJfqKJTm8u3rThYpf510Nl4KWNxwytsIULy7WsGgAJJa6vxqlMmOzLASHVkVozviWDvSJoGfbZJWiDuiANo9tbX2kjGqOvFT2rSErRShBCCQpkIoN2B5wnyMfWgoe30WyIixIFCnzPwVh+TQvAKOrTPEiyMsvcnXVXZeUFpCGRkXwquweuQVHr8XurIPJRDeTw1EITI7yREUxFoNZBYJdklmwuqbrZ5H/P2lGIFaHivJ/eupETlHg/6VR5myrQqWbQA0FBKEhZ8J1uwA5tWUHcZpbW3 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000062, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Mon 19-08-24 17:25:18, Yafang Shao wrote: > On Mon, Aug 19, 2024 at 3:50 PM Michal Hocko wrote: > > > > On Sun 18-08-24 10:55:09, Yafang Shao wrote: > > > On Sat, Aug 17, 2024 at 2:25 PM Barry Song <21cnbao@gmail.com> wrote: > > > > > > > > From: Barry Song > > > > > > > > When users allocate memory with the __GFP_NOFAIL flag, they might > > > > incorrectly use it alongside GFP_ATOMIC, GFP_NOWAIT, etc. This kind of > > > > non-blockable __GFP_NOFAIL is not supported and is pointless. If we > > > > attempt and still fail to allocate memory for these users, we have two > > > > choices: > > > > > > > > 1. We could busy-loop and hope that some other direct reclamation or > > > > kswapd rescues the current process. However, this is unreliable > > > > and could ultimately lead to hard or soft lockups, > > > > > > That can occur even if we set both __GFP_NOFAIL and > > > __GFP_DIRECT_RECLAIM, right? > > > > No, it cannot! With __GFP_DIRECT_RECLAIM the allocator might take a long > > time to satisfy the allocation but it will reclaim to get the memory, it > > will sleep if necessary and it will will trigger OOM killer if there is > > no other option. __GFP_DIRECT_RECLAIM is a completely different story > > than without it which means _no_sleeping_ is allowed and therefore only > > a busy loop waiting for the allocation to proceed is allowed. > > That could be a livelock. > >From the user's perspective, there's no noticeable difference between > a livelock, soft lockup, or hard lockup. Ohh, it very much is different if somebody in a sleepable context is taking too long to complete and making a CPU completely unusable for anything else. Please consider that asking for never failing allocation is a major requirement. > > > So, I don't believe the issue is related > > > to setting __GFP_DIRECT_RECLAIM; rather, it stems from the flawed > > > design of __GFP_NOFAIL itself. > > > > Care to elaborate? > > I've read the documentation explaining why the busy loop is embedded > within the page allocation process instead of letting users implement > it based on their needs. However, the complexity and numerous issues > suggest that this design might be fundamentally flawed. I really fail what you mean. -- Michal Hocko SUSE Labs