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 0FF39C35FE4 for ; Sun, 15 Sep 2024 10:08:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 20D216B007B; Sun, 15 Sep 2024 06:08:37 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1BDA36B0082; Sun, 15 Sep 2024 06:08:37 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0ACB26B0083; Sun, 15 Sep 2024 06:08:37 -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 DE8326B007B for ; Sun, 15 Sep 2024 06:08:36 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 62373413B7 for ; Sun, 15 Sep 2024 10:08:36 +0000 (UTC) X-FDA: 82566548232.01.27186A1 Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) by imf23.hostedemail.com (Postfix) with ESMTP id 9FB1E14000E for ; Sun, 15 Sep 2024 10:08:34 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=H1wa6zhR; dmarc=pass (policy=none) header.from=linaro.org; spf=pass (imf23.hostedemail.com: domain of dan.carpenter@linaro.org designates 209.85.221.41 as permitted sender) smtp.mailfrom=dan.carpenter@linaro.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1726394884; a=rsa-sha256; cv=none; b=orekJxmbGVnSd6KOu+4FpROuEBGFhsLf13ioWvg3elmk1vi12DP2ai5/+7Dqir/VV3HwlU c5SEMg53YNcFel34CczoHANZ9S+EDS84CX/VEuzjuV32FtzwFrjfsG9l2x2cLVWY9XJfgk ekScDsetE+VUamfIZ6lMTKds9eBN2jY= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=H1wa6zhR; dmarc=pass (policy=none) header.from=linaro.org; spf=pass (imf23.hostedemail.com: domain of dan.carpenter@linaro.org designates 209.85.221.41 as permitted sender) smtp.mailfrom=dan.carpenter@linaro.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1726394884; 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: references:dkim-signature; bh=8DZ5cTN4sFenMYj1BKCKpEFmx0MMgEVrJ/Q6SQR++AU=; b=lD4tTF81D9T8BHiup8IuSurJ4aGD4xkuHBZeSHRyzDYqvS/YP6tIld9SV7TCtSGhJyIVPN etgrs0Azq0YLUjB3oPRuK/q3YMz8nwa8Wb9ux3+PAUQUwOF2o0tfyiNlBqWBwTtSCUE/6d y3nfxywnqeS6UABGK8/fAZVgzHCaqxY= Received: by mail-wr1-f41.google.com with SMTP id ffacd0b85a97d-3787f30d892so1590250f8f.0 for ; Sun, 15 Sep 2024 03:08:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1726394913; x=1726999713; darn=kvack.org; h=content-disposition:mime-version:message-id:subject:cc:to:from:date :from:to:cc:subject:date:message-id:reply-to; bh=8DZ5cTN4sFenMYj1BKCKpEFmx0MMgEVrJ/Q6SQR++AU=; b=H1wa6zhRGyskbjOD9mAjMVsJOhaMMM1Pi8GbsaXKa00GNhcVHWtT7P8tnEvXdRUstJ GODM4RJnQPdoSdbpYK6f2bdkDXN99/hyHy1qKcmmxE5PO3PvFnWucs/TRDPwq0XjeNIM VUgZAZsdiwQUcdg+zQuPQ2dySyq4VflrCgBbbY0whT6Xg+Ax4krQx3x6NaevnVIgLbIN 9NY2FaplhmfKclISXhtnF0ZZkKi9VPLlPYkVi0mZHD5Cs0jU0hlWthyXGmkygjnKZnzl KJsCxPFtDK0Kgo2zILA0UhWwL3tNlMdoCNZ5bkQprFHj4w+HhKfj3E0XQcWrqWQJ9Wtr gOkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1726394913; x=1726999713; h=content-disposition:mime-version:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=8DZ5cTN4sFenMYj1BKCKpEFmx0MMgEVrJ/Q6SQR++AU=; b=fbWDY6ipb9iAVv9klradMFaukIyHYa4WO/VlDCGHiYoSkINL6pgs9H0i2xWvqRGqka HjWpWOVuqBP7G1Fb2gBcvYqHims7Cu9nO/hP5wnB8XI89sjp4jREIFw4l3wJvMSj1k4y TBqjETMXnr27GyoouGwhZduYKUpB5RpXr6Qwwyf9hhPjsOM095kn5WC4yeAk0/uuanVU qVhD/FhgJb71asivJ5hrXk9LT62M/ZPtwLRnREPUWjn/rbk4K12iNwmlL4cqvZzdUxyt IQv6eD3CtL40L0FxTD5E5jXvkfT5SlqByIH14kpKf+nnYvx2SX2Y8JjLEn8/jlrrn3xV fk+A== X-Gm-Message-State: AOJu0YziMAj3o6UE74dPh9OZcdSW04uH2sb/mmrZev8aF7Y/aCi4KQ6r syJKBFfhMj20n0ugJhyetFUC7h1fUYY7f7fC8arnXqkhnR+P4TeGRnXZcXqNCqM= X-Google-Smtp-Source: AGHT+IHHZhTg1nEWLkAVuF4rVSkt/PKrr9/dx1PpOi7hbb0MN7enNSmD1zRETUENKjzF0L+T67JPNw== X-Received: by 2002:a05:6000:1445:b0:374:b9d7:5120 with SMTP id ffacd0b85a97d-378d61e2adcmr6368908f8f.23.1726394912529; Sun, 15 Sep 2024 03:08:32 -0700 (PDT) Received: from localhost ([196.207.164.177]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-378e78044dfsm4271838f8f.94.2024.09.15.03.08.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 15 Sep 2024 03:08:31 -0700 (PDT) Date: Sun, 15 Sep 2024 13:08:27 +0300 From: Dan Carpenter To: Linus Torvalds Cc: linux-mm@kvack.org Subject: [bug report] mm: avoid leaving partial pfn mappings around in error case Message-ID: <8e3ffaf2-358f-479c-8de6-46e1b0bb0c5f@stanley.mountain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Rspam-User: X-Rspamd-Queue-Id: 9FB1E14000E X-Rspamd-Server: rspam01 X-Stat-Signature: u3g7byaqh48finc6nui7jd9mxudt4cj6 X-HE-Tag: 1726394914-355536 X-HE-Meta: U2FsdGVkX19K+afEhgqZo4MtXF5WZ9LCV3TjNqBNTCE8d09FjXMHQZ+WxhTQZnhgdvjcxd1aoWYkmJ7pbOuL0P5Xu/CaZxq6X1AdD60XiOG/DxpxiEb1Jut4JcHzBdwlkkFKLnkuiYD/HEDc7t3+L02Ig6MFHxJpfgJbJ7rmEJHrqul3mj92B5cYjRL2/wBG4zLh16+lnDJEZ6YcZV0eOrfcjVAdrTKL2DSo0LpGnD05/X0XSoYvR4vRyeUGwNltGj9q8mXtvwFLmxDRgt53mm1KJ4FvYSPr1k+Lp0rty0BXC+5qBtKFuKqCIXLmz+fALyTPectFnxyFAFPlE/RB7rcd7J1FUimgQQEhp45WQFADjkAvqxIZUL2g9els+TJHoakRB4vjK8v8t8dsb01PlR0TdEk2A1GoQxn+/nZw3sIJDHdZs5lgLauURRrcF+NEuGNk8n646yizOMBSd0F+DsQGQ6y1A9enSr5G8lnG4B219JUM3l4e+/Ujo7oTdswcSzpqioif5Sd+lLr1+hrenQJLe5ipt16FVl/MQVOFtWer5BzYyaMBqlMP62OpJlfv/eBRAhUbLbfivvbOL9xzvRjG6oQnFwn1YQUBXnS2vI/oWhR2Ij6zVzHqw97GZx0eu9jPSAkuYC0VAll5uDqhIqttR0NUqwFxC/kAFSkAvu5o4VqK0Lkpt6NyKErEcZrnKJdMh0WURNoIwmc6gR5lJAMhqt6RxLnIy547tygZkONzIx3j7I2qtcPGgPbzu2+jz6YcVG+8a5E8IJYsTPhBz46cGmNrltztABMXNpE7mJq0t7GrsePGHl3lL1YXJgQG36mPf7kZWzVxZjCqL8xuLUwHID0WG3e7b+wdx+LmB5awlW/VquEhtVzXkusGr+MpeHUdKpQr+XQMvCRtyne97rlAj9TlFewLnBnO9qQe1DNyI+gohuJyEp2U72Avn6b2W67/RlZ9hMcO/Wpkg/W qz7SKgJ4 VHp4vC730UGH67/6nKuOT9YZ0gi4efzLUsI53LX1lXrfCEfalH0OOBVMcgL4dD0MWoycJy/j/1nKLxf5nap+qyXvYs2Y7lnuLLmKViyEWLb5yYm/LTE2ubfUR9zyiLuejYriSR5cWzrLRZuOwECtqUh0x5dWjjBObtSlbqgEUbRs1S7b13Ds9UbkMso5/4qgxb7t/AB5LcpoigGSag1rYtOq8B4SV4aAyUSX5BdpUKMEjzzoaz64AQWu3sr/Ye09Mp98lSiVnF2RzJC8= 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: 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. 2710 return error; 2711 } It's the preempt_disable() in gru_fault() which is the issue. The call tree is: gru_fault() <- disables preempt -> remap_pfn_range() -> remap_pfn_range_notrack() regards, dan carpenter