Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp54843imm; Thu, 31 May 2018 18:24:50 -0700 (PDT) X-Google-Smtp-Source: ADUXVKIBrP84unxt94x3NubkyjUe6k+5MZ2rFTjljad6fnJiNllryHfUaEjP4TOQfwc/RFOUXy3W X-Received: by 2002:a62:7682:: with SMTP id r124-v6mr8873410pfc.80.1527816289959; Thu, 31 May 2018 18:24:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527816289; cv=none; d=google.com; s=arc-20160816; b=UhbX8ckD8gKYp7NPkLfUd8+1FiuR+FEN/WUkBhbk6ZUQzXa+A+aC6rWHhrWdi2ow+k /tXx5qH3fs/E8nnY5vRkbO7BmyJO0Sl6zPcu+r3j2LGAN3OVVkJLbrI/hmkQz5th/1T4 X6mQy6bptBkX+wvQ5xVupe+zwuFN/Um84ekXJvDgxzXwNJvHbUc4Pe4vg//8IHtPc4rq SZx46aqm5KwZ0wePXxQhg7unuJR7VvnqCMtPdrgMFreEmgUH+YCnmJirzO60JvTpHTlT aQZB2lAZvUCGprcjZLWqyMKH0onVHxow4V5TJHmuHUx6dbQFlSxjBuY1TSBGEwROGJw1 IeTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-language :content-transfer-encoding:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature :arc-authentication-results; bh=cZduQDMaXrRQF11g4XC1yTxUfcjSwrgEwZ7Iqj6NhSs=; b=MYJ3jMy46exJP9Rcq3trx5ruPv0CN2Em4RUHiwSJSpcueFEjFOFINZmEFuHB/vmso/ eKeNwCuDxM411FFUiAOAsPuw4JN47nbZyY19lagg1A919ahafOEUdhTvKR/mKfib1EP8 7b3TEIRfisYJ2uT8Sp51PhMjn0eSgtWwJZQdOjhKfoc1J+jWctl/uUt7T6g2FJuNqfAQ BRnLMSglk0MiWYVevnmO350OCIz/GTIuLYJ08hFtzDC/U/l1GIz3TBkTass6BcTTfVTr UaV7+1k8tOKYnYh3CGoVPr4QrfxxJY2rJ0rcL5jxMndrX1yLZm+leeHND3U4HbYX4zcP khWQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=OQS0hB3f; 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 c21-v6si13294878pgw.50.2018.05.31.18.24.35; Thu, 31 May 2018 18:24:49 -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=OQS0hB3f; 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 S1751194AbeFABWY (ORCPT + 99 others); Thu, 31 May 2018 21:22:24 -0400 Received: from mail-pl0-f41.google.com ([209.85.160.41]:39203 "EHLO mail-pl0-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750718AbeFABWW (ORCPT ); Thu, 31 May 2018 21:22:22 -0400 Received: by mail-pl0-f41.google.com with SMTP id f1-v6so13852093plt.6 for ; Thu, 31 May 2018 18:22:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=cZduQDMaXrRQF11g4XC1yTxUfcjSwrgEwZ7Iqj6NhSs=; b=OQS0hB3fquzGGIUTrS5Pc8c9yQhmeQyUOZg7ETwL/fc/MoGJ+67996BtK2p24ox+K0 4J5DO4RIb4GDzqyvO/3ymEIOJBnKdqX54KZ8F09/S6AlSPoefUMDo1iKmZI3FTVbFT/k yvBuL1IEX12pL0O9cXVQSnabFclytNPXxkOP5bkSQIdJQyk2BxEAW13coF38ulmXRrSq ylaxeeiLJ4K5rpNBw/4qPuyCqnk2oSxuT+igN1jIqKDQI1aEeNe7exM5P8cfOux6oN8f 7jiCMQXxRx6Ym9cGPygABsjCDKZ8vemJDhdADKJ33BW5DnJXR44n7fGHe04vOXwKOOKn n9Sw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=cZduQDMaXrRQF11g4XC1yTxUfcjSwrgEwZ7Iqj6NhSs=; b=oiTFLn5cyZmKS0xyk1FGR4mHQLj/WffHv1JeLL3JEEEnEWlnCnaX/NMPo0PEiUXw2F UziZmWhIgiPA75zlUGfJVyTrE2F0UqGkjAxCT2OSfAIfnf5EFve6Y0b6UqVEzEFVT4+o XzH1WmMFhINXhO+luINszoUCp1+ijGOLNxTCOg7eJ0U3LXNGnjVHNMbtHtZC1aYnydbT Ym9QmcNUIs4GNmQ/+HL1KuomTDyA45U0reUZFFhH7qG3ms475rVvm4+PEQnvxefkzdnt 9qCnmadtaObnWdKUnHInrvIjFo9Spwsu9MguWTsRrS3Yz+KvEFHEmwo4OJN5kXhkASlj M7pw== X-Gm-Message-State: ALKqPwcFHR7f0q7N51aPf6loGPxECapvxQPvalzZTuzwFQ2pVZluiuzg Z8MSPWwEpvF90lmTFv2+r8OEV5NI X-Received: by 2002:a17:902:145:: with SMTP id 63-v6mr9164958plb.332.1527816142133; Thu, 31 May 2018 18:22:22 -0700 (PDT) Received: from ?IPv6:2402:f000:1:1501:200:5efe:166.111.70.46? ([2402:f000:1:1501:200:5efe:a66f:462e]) by smtp.gmail.com with ESMTPSA id z83-v6sm77742247pfd.103.2018.05.31.18.22.19 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 31 May 2018 18:22:21 -0700 (PDT) Subject: Re: Can kfree() sleep at runtime? To: Christopher Lameter , Matthew Wilcox Cc: penberg@kernel.org, rientjes@google.com, iamjoonsoo.kim@lge.com, akpm@linux-foundation.org, linux-mm@kvack.org, Linux Kernel Mailing List 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> From: Jia-Ju Bai Message-ID: <066df211-4d1e-787b-b89d-31b8827ea7a5@gmail.com> Date: Fri, 1 Jun 2018 09:22:00 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0 MIME-Version: 1.0 In-Reply-To: <01000163b69b6b62-6c5ac940-d6c1-419a-9dc9-697908020c53-000000@email.amazonses.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2018/5/31 22:30, Christopher Lameter wrote: > On Thu, 31 May 2018, Matthew Wilcox wrote: > >>> 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. > > Ok that is a very contorted situation but how would a static checker deal > with that? 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. Best wishes, Jia-Ju Bai