Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp62564imm; Thu, 31 May 2018 18:36:16 -0700 (PDT) X-Google-Smtp-Source: ADUXVKLohTdTVC8OFigsr3UvkB1APWZUioeMyWVIFR1gFhnV5onHudVmCybtRjRlNUzLMekO7OxD X-Received: by 2002:a17:902:284b:: with SMTP id e69-v6mr8903533plb.240.1527816976417; Thu, 31 May 2018 18:36:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527816976; cv=none; d=google.com; s=arc-20160816; b=fP3Efgf2oNeF8ZGCzcrzJsX9GKxD2S7wCXwFL13A7YhIVJIQrQ09WWV0UC8NzPWNE4 PDL98FXPrXwwOJhZzqF9zq/5W9FeNUX8NuZyjiw0KnU8nL681B+IBkK0LUYp985szCiH H3rPDvuJwWhyM3yzsqpIKJ4drzpTeQljDDbo5db6Qd6ECz+AjlUONSk8SYR348H18OK4 X0dOfNNnMeiqrm3hf0HAkPPg+WQi4ruawCQI1ZFDPPz+tOiHBH+ZuqHZgHunasJyfk/T Sl+QPNs7cUHCKu9ajyDSUgWn+c9VTe8/IlZkrYx5/zH9BgLldRdfU7ZF2vn5h+9ClJr6 P8/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:to:cc:in-reply-to:date:subject :mime-version:message-id:from:dkim-signature :arc-authentication-results; bh=4ER+pnisQ8+Cl8toIURAYnQVp6OX8ugq0OTFsGh/5zg=; b=B4u0jkoyPOdwgSyy4HQYCp/HYLu3HUb3LN052vbgNUcMbSBrNv7BPetyCkr4uculg6 a/hDrWY3abIXNEPgYyXYujvTLH2TRZV2jR7nyZRPB+me06TWJhlNocQSalgNkJ3WUPku 6aAoof0CcfZsG6yiKXjTsmEtd6EFvr7YBZ2nkFYOVZyMfGULLlHsxvl26/faX+h9woV0 J/Zk3KcnvN/FZFQBAuPCziqqiGizLZ4kjABPBe+1tbFWKBGh3keDkCBbIyN4nJgHeUtq Xz6XMmoebFiUV7tM5DiatB+68PMkJn4qmOF6Bs/AkdRSuCGF52ecA1dEYRO1dXBQRnMU QwVQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Zjn/sQEg; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q14-v6si2380732pli.419.2018.05.31.18.35.51; Thu, 31 May 2018 18:36:16 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Zjn/sQEg; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750796AbeFABfA (ORCPT + 99 others); Thu, 31 May 2018 21:35:00 -0400 Received: from mail-pf0-f194.google.com ([209.85.192.194]:37818 "EHLO mail-pf0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750715AbeFABe5 (ORCPT ); Thu, 31 May 2018 21:34:57 -0400 Received: by mail-pf0-f194.google.com with SMTP id e9-v6so11664094pfi.4 for ; Thu, 31 May 2018 18:34:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=4ER+pnisQ8+Cl8toIURAYnQVp6OX8ugq0OTFsGh/5zg=; b=Zjn/sQEgrasFXQ1K2j9XgBeBLW8pSrB01S6/5jexO57hmnpnq1mrgM3fc9fByks62r qCQpMxlVtuKxx4sjDcEeTsJR7cseZBflffmQ0kbuCkwXV7Ds2nl/r5MZTSspu10JDiYM hOOulvTkqsrexoe1IRxukwcT8k1ogfrwftM+G4HP6oksOYOpYvdfEZaHmVr+dZwl030c A8OgdgLyqJJTfQo/Xmqlm0a5KD8WFYauU2MID6hcmLMHjjQDHIxxcUnkOW02C/wvpK9R Cr66SryChfrQWkDK0hIlk5g3LIYDtRMDk09DlKQvVcBegsLSH5PKGdTHyqakU8YRF9a8 pDYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=4ER+pnisQ8+Cl8toIURAYnQVp6OX8ugq0OTFsGh/5zg=; b=LCstJHlNQ3KbNjLB49B459rzTdPu3fmcOsEl/0Tr6ubjaPskTkv0WfxYhrhUC9X462 LvszmNR9l0MhVGQxDd60JSa7jOVY9gwg1Zl4iW6OYZu7P6Umr7kTxIQiNrVYw6JU8/Wg +qtDXBu7yLZV1FuMPw1Q2fngejSyp0PhF3RbKQCFyue3pneb+yJjzkgY0ufk0rzNeqBh 5vH55s80InJWuuryUVkSnK1s7csIHl0kUvd/Y7XxvaiR5cyj2nMl7S7RyI6mYlNwjCV1 FEcZmgOw5LwryLiOEEcwV3a2b7N657sTNuBuJHdNB+oEbYn66vACouZDONr+GAZdMyKO bWVw== X-Gm-Message-State: ALKqPwdg56ryvDAAYsEk87ZIz1JlgtOJBVMuTxw8lBcfgxxam2XbcdBL JFGqAJcYER+VbFdBtKCP82k= X-Received: by 2002:a62:1c43:: with SMTP id c64-v6mr8830827pfc.176.1527816896528; Thu, 31 May 2018 18:34:56 -0700 (PDT) Received: from [10.21.46.5] (50-204-119-4-static.hfc.comcastbusiness.net. [50.204.119.4]) by smtp.gmail.com with ESMTPSA id t67-v6sm8980725pfg.51.2018.05.31.18.34.51 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 31 May 2018 18:34:55 -0700 (PDT) From: Nadav Amit Message-Id: <0875D539-4B35-402D-9CCA-09BBA8DDB46E@gmail.com> Content-Type: multipart/signed; boundary="Apple-Mail=_C21D2376-2116-4F8B-B8B9-7E52AF020EE9"; protocol="application/pgp-signature"; micalg=pgp-sha512 Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Subject: Re: Can kfree() sleep at runtime? Date: Thu, 31 May 2018 18:34:45 -0700 In-Reply-To: <066df211-4d1e-787b-b89d-31b8827ea7a5@gmail.com> Cc: Christopher Lameter , Matthew Wilcox , penberg@kernel.org, rientjes@google.com, iamjoonsoo.kim@lge.com, Andrew Morton , linux-mm@kvack.org, Linux Kernel Mailing List To: Jia-Ju Bai References: <30ecafd7-ed61-907b-f924-77fc37dcc753@gmail.com> <20180531140808.GA30221@bombadil.infradead.org> <01000163b68a8026-56fb6a35-040b-4af9-8b73-eb3b4a41c595-000000@email.amazonses.com> <20180531141452.GC30221@bombadil.infradead.org> <01000163b69b6b62-6c5ac940-d6c1-419a-9dc9-697908020c53-000000@email.amazonses.com> <066df211-4d1e-787b-b89d-31b8827ea7a5@gmail.com> X-Mailer: Apple Mail (2.3273) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --Apple-Mail=_C21D2376-2116-4F8B-B8B9-7E52AF020EE9 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii Jia-Ju Bai wrote: >=20 >=20 > On 2018/5/31 22:30, Christopher Lameter wrote: >> On Thu, 31 May 2018, Matthew Wilcox wrote: >>=20 >>>> Freeing a page in the page allocator also was traditionally not = sleeping. >>>> That has changed? >>> No. "Your bug" being "The bug in your static analysis tool". It = probably >>> isn't following the data flow correctly (or deeply enough). >> Well ok this is not going to trigger for kfree(), this is x86 = specific and >> requires CONFIG_DEBUG_PAGEALLOC and a free of a page in a huge page. >>=20 >> Ok that is a very contorted situation but how would a static checker = deal >> with that? >=20 > I admit that my tool does not follow the data flow well, and I need to = improve it. > In this case of kfree(), I want know how the data flow leads to my = mistake. Note that is only enabled in debug mode: static inline void kernel_map_pages(struct page *page, int numpages, int enable) { if (!debug_pagealloc_enabled()) return; __kernel_map_pages(page, numpages, enable); } --Apple-Mail=_C21D2376-2116-4F8B-B8B9-7E52AF020EE9 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEE0YCJM4pMIpzxUdmOK4dOkxJsY0AFAlsQorUACgkQK4dOkxJs Y0As5g//UwJi2Da+1MTTDXrF0fseQgsSj19NMCrxxJHd3aduKLJNx+vZkz3LkltE jZg4PAe0STe4hvJF/hfOg1CZPWbLh5zHrcmOc8At0QJKgWp9LPKeYSKmonEew6Z1 GUngUmkejqca6e1DE2XS/ugCRtKrcbahyFbjR0//Q4co/+KokXgaINa0UT1BlEiF lK3wt7ID7it+Y0Yn5W/d5oFAEy9wfxXEZFYqKrDDY2qraKVUleHNhK9SrRcJYwKO EgL4Dv2NHPzBTwWYuPzSe/a7CtNj7+rMx5wqLyWcNJ5dXaJ6Rq8MA+8CqxV0gahR dQvErle7rOfp2z1lfgwVlSfEgrA/aKI9odEDuIdzcYqJF5u7T4syIHkPGzApDqPb JTVUHDrndQGiHY1TuQU1BzaysqGVOec0DQxjfP4iyH5a9PYbQlVEdx5Hyf8mqrn5 1pnJuN1G/6EJ4OJiB3SJOAow6HAWuBJuHLRpVb+SQzEb2pPmSs7AvIG6ynEVNSFA V528vklsGR7/XTHJYJEDToxiok0PjQ9tEzIA77FwPLeGgjtO/09m2nwtQ3qQ1e43 tcIDoOo4YaRH0W+y3ALv25L5LRx8azlKaGKPnseMltiN8iyTWiieOoO4zUdV2ema amGI7ZIRyeIRumGyEP6ONvJSp75yw1v7SM8LSdE2/QeezujP1VQ= =ACvM -----END PGP SIGNATURE----- --Apple-Mail=_C21D2376-2116-4F8B-B8B9-7E52AF020EE9--