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 5CC9EC35FE4 for ; Sun, 15 Sep 2024 12:09:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DD53D6B007B; Sun, 15 Sep 2024 08:09:43 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D84836B0082; Sun, 15 Sep 2024 08:09:43 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C742C6B0083; Sun, 15 Sep 2024 08:09:43 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id AF61F6B007B for ; Sun, 15 Sep 2024 08:09:43 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 24EE8C168D for ; Sun, 15 Sep 2024 12:09:43 +0000 (UTC) X-FDA: 82566853446.21.D13FC73 Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) by imf11.hostedemail.com (Postfix) with ESMTP id 4951740007 for ; Sun, 15 Sep 2024 12:09:41 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=N8wy+Uwn; spf=pass (imf11.hostedemail.com: domain of dan.carpenter@linaro.org designates 209.85.128.41 as permitted sender) smtp.mailfrom=dan.carpenter@linaro.org; dmarc=pass (policy=none) header.from=linaro.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1726402126; a=rsa-sha256; cv=none; b=UfmChmv/BiDdhwhkpejAN69WyDVf555wDqL3ATNWMIwxh/wdmfYhTZrK9PfcQvDJoeBt9h eAxWPcxG4E9iNecLolAH3bBobZEZBiADBNOGgbsHBSycB50r1QhVehW5jea2xVqpAbfUdJ HQGtF6kVj0vHQMGss6DJYBKsokLFNMI= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=N8wy+Uwn; spf=pass (imf11.hostedemail.com: domain of dan.carpenter@linaro.org designates 209.85.128.41 as permitted sender) smtp.mailfrom=dan.carpenter@linaro.org; dmarc=pass (policy=none) header.from=linaro.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1726402126; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=KXwpk6EI0k48HoKbwC2AWFKDHLduf7d1PD5patmyY4c=; b=hno0KIdPXjYFfK+jdcP6sMjcTGbIVYiV+eAsC2FPikXGD09OTOpN3booJiwIbPqV3s1PsY s+WjFxCKTWTSwntXEG3KQQAr78HHxAwufoDN4wSv8Edh48efc/vB9Ut2WQvUyofrrQiUPp NvAu7vI0Tl6PGJlGkmLdFC/nbYvXRIE= Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-42e5e1e6d37so4473435e9.3 for ; Sun, 15 Sep 2024 05:09:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1726402180; x=1727006980; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=KXwpk6EI0k48HoKbwC2AWFKDHLduf7d1PD5patmyY4c=; b=N8wy+UwnU1pA+dvMJ80pDZci7xerAR7a3kbXQ/vI1iwahIQWbG3HEaGEa7CbnDrZJ9 fACS/QBhiJ2HRW24iEINCPXw9skxAkUFUcDyh0NauHwYkZ9hrynbdg2lmMjwZpB7fVI9 CssJuaH5qXjTNhxbfM/+OleYCa6C9MgDhxRudTWZY73ciF5gGyzbQUtOfep5rseo1cIg ales7Bn/ZdZuEgG+FbIowqHPyi2yUSLWoTnD/p7usoNrEIp1kvylnRU8hDOsxzJ5BUoq f3zNd53K0ALI5yLIzO8eOeHGs8r0G8o1NZu8qTeX1L7BaNxme05YBCjwPFlNlAcX3taX h0yQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1726402180; x=1727006980; h=in-reply-to: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=KXwpk6EI0k48HoKbwC2AWFKDHLduf7d1PD5patmyY4c=; b=SXWuQvOJ8dbKSHwr5/OcsvwUhUtNDtmjbfmAP9bWW+cVYA5VmWLwYtVC596165P3hA kMmtKBcmL/rG8HliVq+gR0E1VwMpEg/5E8zFc6QRbp4iegUqWSGF8X1ZKjYwyWqbURw+ nGLoXFuqJub2WK3hg+bFLOrP7mjr88M2Y/OkHVghOKrM3C+sYeaFYrZu/ro/b7pQQClb kzaMwScqv8EP368W7DaxXy40EZIwmPKIiMUbQfE0NMEC7BB3J0iyi0rt3Tr/iTsbg9qA U0NBUlaZ6lbhBAB3YCBUubIj8NRagKzgVPahW75g7rTo192bVL6c33Duk0Iyn7bhNAJF tGCg== X-Forwarded-Encrypted: i=1; AJvYcCWA8xA2CDm5AdKSjzyIfxiiAo77oyOxcXS9pZGbao8wEivbwT0FwaeBZUytUjjGJZHoLLTMXvklig==@kvack.org X-Gm-Message-State: AOJu0YxuwMPIjfVE4MAc9kl93tHCffYtvkw9GHe5mOAAsEMuU2+rwEaQ a/pvSeGJt2k1pUSVxZncFUCBy+d4PImQ+4LSWQOPn60pJJetHtivVRMiLQ5pbBkyMJXOCFOQh3l H X-Google-Smtp-Source: AGHT+IFdp7827MfikEUbzgLSBHCyvGhdVAN3gt9GTkxjasg4yqZcHFYaMk2dLtftNJeWmw3pFpHPBQ== X-Received: by 2002:a05:600c:3ba7:b0:426:6455:f124 with SMTP id 5b1f17b1804b1-42da01ff763mr40720705e9.0.1726402179620; Sun, 15 Sep 2024 05:09:39 -0700 (PDT) Received: from localhost ([196.207.164.177]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-378e72e4abfsm4559014f8f.16.2024.09.15.05.09.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 15 Sep 2024 05:09:39 -0700 (PDT) Date: Sun, 15 Sep 2024 15:09:35 +0300 From: Dan Carpenter To: Lorenzo Stoakes Cc: Linus Torvalds , linux-mm@kvack.org Subject: Re: [bug report] mm: avoid leaving partial pfn mappings around in error case Message-ID: <5a2f4219-e863-413a-96b9-ad2002f5b35d@stanley.mountain> References: <8e3ffaf2-358f-479c-8de6-46e1b0bb0c5f@stanley.mountain> <68590155-fd3c-4ce4-9a1f-d314efada198@lucifer.local> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <68590155-fd3c-4ce4-9a1f-d314efada198@lucifer.local> X-Stat-Signature: cpkhdkctyb6x789fzumxo1pmgmktfney X-Rspamd-Queue-Id: 4951740007 X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1726402181-601138 X-HE-Meta: U2FsdGVkX1+SZ8OlnVe2WKHYRdHqANCev7fxE7oOWDKFhr2KnxDYVcGpwuHsAlE2Qiu+KmY+9woZ68KQXoe4VVBnw08Yun+0AabFEthdfjxUqKCBwrwGdaKIz7z3ZuydCKcZ5cBRf+1y5cZolYw2rUsNn2AL/dfKqaUWbOGtXUOdQsoBc+OzlMWKUQYfincniWBB9CrR3z1YoJUbk+YRVrHfXJGThdO6hrW+lgLEAdHXYhqukQ9dLJKtHuNxNHMD76k8jo71cJhXPNHD8BkVqRiolzPQkM+dDReQFubRVMz/HTcp38daN2aXURNaXmbCsErTm9W9fCKwcbdTiDH6WCf+GElaPisRQTg6+S76oqlgP+Z2/6tddEDIsrCZwJkbvOjgMBnnuU3BOmRDeGC4j0ZX83TULf6wqSTUPJU+sjGG17vGrl0FsOXgMc1KIx7ySGJaJ2brL5hLgfshZ8Vnrdmvwho/+REaKv6uLkw2XXN7m6mwY8jnDfRcDZvAGOStYnujN3AHCIZGHCAa7BAqeRPzPS9bVHZD2t1AgoP4OUORYezRXd6E2m2WLeHlMwhsX7d0X7OGGtjDBm4RHXGBnjP3UVTvsbBfFS1jyTj70cqij/10IJwcVPiuabMQaehVuA5xaSyBo6A5d1Wc8aWOmdgNrT3rQh5eBTk/9oqjsY+pT4FDvpesOFBStLBYc56A8rcIuV/Hj7cW/3LUvXkCYLexMTM5aDpeNohV2ldr+MT8/odNaKrhlcVrZKE/G5OmxK/R8sQxB17AcWap8Dsfg80ogRUJVK9DAV5tSpTlwJV/d41jDzlKgqut8c0BDboyDOqGO9b5B0TbvfcvVns8EQZMZCRslpkUGKAiMYukoZXgNWErCX6FMtgIIUJJ6anCecxUHgpVgyd8Jktlz6449NHmItBnyIBgW0y7dNNLSMsX4Ac9T2CFBlo/3tw71nA/5PAUznG86W2rrhaZ4OD 1WgfWNmI fxvWH7zRc0v79eN/XO4gOHgXn8pUacG0lgI+SRG5GYPvyEG8r4TT1rpK6QX6INpJayQK2hBHHc5ILIALGDe3o5mYFHB+5FfieE1RAO5LtBTzvDfJOOx1utVI6WK45JR97aKyZFtka2chzKDgboDo64RuoI7WIDSeVsN3+Pswa73LkkGVjZzJFcu1JxazoVIJ6DdGQaddvVHwBfPf1LLbxp7DkyRzB5I0KxxDPxvgj5g3aZFugzZH3a+JyZwu2j3bBABV5TBlFXRejCOk= 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: List-Subscribe: List-Unsubscribe: On Sun, Sep 15, 2024 at 01:01:43PM +0100, Lorenzo Stoakes wrote: > On Sun, Sep 15, 2024 at 01:08:27PM GMT, Dan Carpenter wrote: > > Hi Linus, > > > > Commit 79a61cc3fc04 ("mm: avoid leaving partial pfn mappings around in > > error case") from Sep 11, 2024 (linux-next), leads to the following > > Smatch static checker warning: > > > > mm/memory.c:2709 remap_pfn_range_notrack() > > warn: sleeping in atomic context > > > > mm/memory.c > > 2696 int remap_pfn_range_notrack(struct vm_area_struct *vma, unsigned long addr, > > 2697 unsigned long pfn, unsigned long size, pgprot_t prot) > > 2698 { > > 2699 int error = remap_pfn_range_internal(vma, addr, pfn, size, prot); > > 2700 > > 2701 if (!error) > > 2702 return 0; > > 2703 > > 2704 /* > > 2705 * A partial pfn range mapping is dangerous: it does not > > 2706 * maintain page reference counts, and callers may free > > 2707 * pages due to the error. So zap it early. > > 2708 */ > > --> 2709 zap_page_range_single(vma, addr, size, NULL); > > > > The lru_add_drain() function at the start of zap_page_range_single() takes a > > mutext. > > Hm does it? I see a local lock, and some folio batch locking which are > local locks too? Ah... No it doesn't. It's the mmu_notifier_invalidate_range_start() which is a might_sleep() function. Sorry for the confusion. regards, dan carpenter