Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp5312542img; Wed, 27 Mar 2019 06:18:46 -0700 (PDT) X-Google-Smtp-Source: APXvYqxwBunnRITzPntALbzul7e3mW37do5+ALVX7Hn9GtO2EATIg24tuilFaf0UCuLxhuTNAmM0 X-Received: by 2002:a63:61d7:: with SMTP id v206mr33857808pgb.349.1553692726214; Wed, 27 Mar 2019 06:18:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553692726; cv=none; d=google.com; s=arc-20160816; b=CS2iJztkDNOhNgd2ImHe5V69jGEWKU+pS56VUIDuMFHjdU7DYO5dMmtYRa1uGj5f4q EuXwislXf0Ef2s/mJOh3Od9yDRcF4Z1qTZscKd00/bWmbIIroHSx+JwzmyEW8xJyFtJ5 4imNxo21FbwngyNfpqolwhiVVw2wYUaB6tnA807GoO3yJ9XOzkYkRasfsZRlbdU3aRaQ mMUVKJVCDGpfPxHhrS7jGk8fIeOeHjbY6ebTbwty7dDnAxKO8frBc1FJg0ZffH7R14Mc XnAfJPsYaRdHLaKDmRhhWhsNvpuXNs1frip3FsbJZw4spApqWLCjw19EcGjCYFiybXce e7LQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=KT07iBX+ePSBrgJUe53UkDljHeSdN4ZMov65J4PrubI=; b=O2yu5G8lIAGeZz2e+Q2gpMojBPt2h6xg0n9sbi2k85OF4oKkEkNtdGl9ymRtgI4Hwb X6I8EEneN42bvEJ0Zm3WOKf7qvSCl9mcuatTRFbfsmN72vvNPxFGTjSW1PgnbdWWLzX1 JG7552aKGYs5okvZrT/Ee1onnLeBQoQXAfhZ/KBfX6N+RyMUToaNOQM+zN06Xtv0UQFd GP+q5JRjo1EWtJjmBaXsKA7XX2MSok0cr9VzudK82/N6QYN/sXnj6EVTOMMuygNP/TCc CcnUPBXJmihizb966acKR5lQHl/0qgfMJN1fVvqjDfxxX/adRT0E+Y/WVCPF4X8puPKN vpYw== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t69si18640880pfa.7.2019.03.27.06.18.30; Wed, 27 Mar 2019 06:18:46 -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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729707AbfC0NRV (ORCPT + 99 others); Wed, 27 Mar 2019 09:17:21 -0400 Received: from mx2.suse.de ([195.135.220.15]:36346 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728101AbfC0NRV (ORCPT ); Wed, 27 Mar 2019 09:17:21 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id EF780AFE4; Wed, 27 Mar 2019 13:17:19 +0000 (UTC) Date: Wed, 27 Mar 2019 14:17:18 +0100 From: Michal Hocko To: Qian Cai Cc: akpm@linux-foundation.org, catalin.marinas@arm.com, cl@linux.com, willy@infradead.org, penberg@kernel.org, rientjes@google.com, iamjoonsoo.kim@lge.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v4] kmemleak: survive in a low-memory situation Message-ID: <20190327131718.GJ11927@dhcp22.suse.cz> References: <20190327005948.24263-1-cai@lca.pw> <20190327084432.GA11927@dhcp22.suse.cz> <651bd879-c8c0-b162-fee7-1e523904b14e@lca.pw> <20190327114458.GF11927@dhcp22.suse.cz> <68cff59d-2b0e-5a7b-bca9-36784522059b@lca.pw> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <68cff59d-2b0e-5a7b-bca9-36784522059b@lca.pw> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed 27-03-19 09:05:31, Qian Cai wrote: > On 3/27/19 7:44 AM, Michal Hocko wrote> What? Normal spin lock implementation > doesn't disable interrupts. So > > either I misunderstand what you are saying or you seem to be confused. > > the thing is that in_atomic relies on preempt_count to work properly and > > if you have CONFIG_PREEMPT_COUNT=n then you simply never know whether > > preemption is disabled so you do not know that a spin_lock is held. > > irqs_disabled on the other hand checks whether arch specific flag for > > IRQs handling is set (or cleared). So you would only catch irq safe spin > > locks with the above check. > > Exactly, because kmemleak_alloc() is only called in a few call sites, slab > allocation, neigh_hash_alloc(), alloc_page_ext(), sg_kmalloc(), > early_amd_iommu_init() and blk_mq_alloc_rqs(), my review does not yield any of > those holding irq unsafe spinlocks. I do not understand. What about a regular kmalloc(GFP_NOWAIT) callers with a simple spinlock held? -- Michal Hocko SUSE Labs