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 52701C5AD49 for ; Mon, 26 May 2025 15:49:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B77046B007B; Mon, 26 May 2025 11:49:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B28106B0083; Mon, 26 May 2025 11:49:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A3D016B0085; Mon, 26 May 2025 11:49:44 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 7FA6C6B007B for ; Mon, 26 May 2025 11:49:44 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 06FFB1A021A for ; Mon, 26 May 2025 15:49:44 +0000 (UTC) X-FDA: 83485494288.05.956971F Received: from mail-ua1-f51.google.com (mail-ua1-f51.google.com [209.85.222.51]) by imf12.hostedemail.com (Postfix) with ESMTP id 535A74000A for ; Mon, 26 May 2025 15:49:42 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=JD14RK9j; spf=pass (imf12.hostedemail.com: domain of wangxianying546@gmail.com designates 209.85.222.51 as permitted sender) smtp.mailfrom=wangxianying546@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1748274582; 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=VwZ4kx+tXYYa5loZ3PK7z3hK3x/IufSOURYacjqHQdg=; b=X/YhU3jiQ9n2oqOi2MhOICVFbsnUKh06aVe7vsGrOGFNymuce6t2tZDqMym60S9McuupK2 dtR+WCXBTGjObH4tuR0gxp6PwPYJkERlaxfbKnbENEZ5Mq6eDPYSgiBEaxjh28vxyJayto vxtDjQR0u/u8mU+ELQUQudqjmm6I404= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=JD14RK9j; spf=pass (imf12.hostedemail.com: domain of wangxianying546@gmail.com designates 209.85.222.51 as permitted sender) smtp.mailfrom=wangxianying546@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1748274582; a=rsa-sha256; cv=none; b=0T4+kmkiSmrUwIsuuCnObNDPidnSWxOLsRiGwkNCGw2CycgEWRsAgvwfsNNoWn6S5tXAhQ /DignnF79Xvt6Uq8fHj79CO+rGUhyFTDHTQ21+rGNqdgRbEUPZFtpD4cEg1Bv9amP9ujot bhR8ARQXvy64lbCPPDJiTW7mZ/jPFEk= Received: by mail-ua1-f51.google.com with SMTP id a1e0cc1a2514c-87de47585acso1693250241.3 for ; Mon, 26 May 2025 08:49:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1748274581; x=1748879381; darn=kvack.org; h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=VwZ4kx+tXYYa5loZ3PK7z3hK3x/IufSOURYacjqHQdg=; b=JD14RK9j8WxYS2hxiXv+ATN1u9xfP+KSg5MBA+tHEMRese1U+dht5Z+b2lgXMCglh7 NGkqDbWEm7oah7UTOrhm5hWdBq+zU5a/36qZNuSwC8Zr0ewsINnP7W9ZFe6msXFMKhpi NmfCEpRcL9bpaD9f4Zm+OWv7kz3/BI+noYrOyJuV8qa2d3Xsw73ajp1gEUVnZzykISQo AHSJx0EKK0DPJyW9A8TDJu7NEyNNvwu0VuXmiRxGWqyKh2jsZfy+ssbsELL8I+0ptSj5 KU48vQUUjmYqcXt8VHRQGVOiqCnU2SY4lRq2FPa61031ltawGT9xaNz4cYwmtqrD2+ce agcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748274581; x=1748879381; h=cc:to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=VwZ4kx+tXYYa5loZ3PK7z3hK3x/IufSOURYacjqHQdg=; b=JuU2S/VMIfuLK9Y5xWiruK4zIhlfozTosilvmuQPiJ3W2FNUnjTH8S6YmyQnUuzXZG /8NSOjHQI1OYU4QDd5RMIfXvSlhfTsEDxIo0JMqn4Y5PU/Ia+qRJQLjW1RkzcnG9g6kS Ik/5bOJb2lnHakQ8AaefNOdZjxjJQoMMIoFT9BCwdzNnjT/+/6WdbTYT7ZAcvadBMSqm uVb7KnF8pU6oLZUHeP8jF3OhG2hnNHKQz4m3zE/lcckO2BC6CvgGyxnA9PEiBSDo+y3Q esr+e4bc2dkNor5LjxpXFe9AGzRCfxWzKX3j6t9xC5lf6xP5Rlm/n3Mz/TDnIGCIVjzP TS4w== X-Gm-Message-State: AOJu0YxzdYM3CcXp8L6FL5fqfG2ZEvyBJw28BHAT8VTaGZziQYY6b8Td S7eKW0+o3x4RPFhzBc3S8Lv1gP6Ck07BssLL6eosnDdRMhFqrSgBObjTvQoqrMLxOn+hLqx3Anv vtzlM8vNgi6hMlHY8K5qj2jRnZzLR4Xo= X-Gm-Gg: ASbGncvgOH9eTEuT3m4fS8fQahUt2SWFDUt9TvpOB2FnkjbOyd7gpg0J62Ma2AZ+Rap JvKUXg352dy+DPEh8necvxuGdtPiqO/rdDL0ETkQV3k7flylP5EYnADmblena4utLppfd9Lsnsk 23XHSX22ntQBzJnj3zclDnhCCEVEbphjps2Q== X-Google-Smtp-Source: AGHT+IHxHI/WgYYSbd+L+4dIuaYdnza/2CAUBC3/gbbiQ6akT1ylcuRrP0ipSR8hMLf/hn9wzVHFuky8Uzro+oMqR0w= X-Received: by 2002:a05:6102:2907:b0:4c1:94df:9aea with SMTP id ada2fe7eead31-4e4240c112emr6567236137.15.1748274581237; Mon, 26 May 2025 08:49:41 -0700 (PDT) MIME-Version: 1.0 From: Xianying Wang Date: Mon, 26 May 2025 23:49:30 +0800 X-Gm-Features: AX0GCFuH5q3K6rpEbnZIexqc0vbJnC9LpuAM7WMpr7TMYF6YvKC7kVCM8cgUaMY Message-ID: Subject: [BUG] BUG: scheduling while atomic in throttle_direct_reclaim To: akpm@linux-foundation.org Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 535A74000A X-Stat-Signature: 8ux1akhsk3x71prdp1dxyxsanfdbeupi X-Rspam-User: X-HE-Tag: 1748274582-705290 X-HE-Meta: U2FsdGVkX1/QQgF21tNXPOrVvcCIv10ZfYXUZoZOi3VTv283Cd74aZBtdI1aZW/vnEqzSr61/TJuBWoQcxVLnb4/LITpwp9Y8AsolZ6Fue1yKov+BgQ2zcbbkek8al9qNq8UXi9NaIvhVcURSH0qXqFjpcTy16lIqEqmdzjpMsWlTWoNUCih5M61Pu5u0kC+9nzmn1zpFZf3pHDBtEXcn0pHFinGRn7b5ch2Ylx3v9QXYueSScBWtsqZTE2FG0Ed11KvvPF8HzK9Q+BkbcOajXXb1+T1GidAJ4GHmdzY6vkwGDAYBkRYhww9Yf6bEpZDyiLYxI5r+HtyvX4DvBOCyKI9HrPGjAIASJR3GJaIgaaeIZe0zABwpQMZGSNPio9TgGxg+HqR9IZ1ATD+tFVuV2BNEexyXFmh8rjBNlYpGZK9o9ecJVhw7eswCOTheezVH4Jg9IGysGkcDXqWIWDnL80yOx9LalRwHq63Zn+Ytgg5bo+caeWdqyJPDeWJANeVHLa6dQyqdgbx6hvapM0m0/H9kUtAE6BbOhrehMvGDT5r8HMiYqoAtUumvOWs8OgBbNbyfLE/Mv9wHNhMI6actYARBn1P85lb03YL79C8DjHRlBSx+EbBum3IKBtiH+XVgZdudXmrwqvq2bz4FJjTfevkQ5GoJ7N7/9zgr1/SHHg58tyUTCJZtUFyShWSHKPBP0lPQ0OaIrSYZVaaReFQdW9gLDw9tHwDAnXjG74wcI0Cr39tSbOMSZd5iiO5XpIMRDma5QazSt5Q+GEx9hnPoQwIjq/kQ/mv6+1HOmVEN4lBVn9g72PxGNk7KU4dYzGML/XYvLiF6lvT8LBzPuUdrPOePlwb/2N5TdxDUV0LU/En0PBHC8S/vaMZTU3M/CQtqQlBPj0l7/XEsG/2inTLdr2T/JyelW2q7nYAFG5M/2qT8a2vx4RNRZuk9yesdYlS6b8898kk+0PJPb+BBXF jg2eftQw rNd0YIURZn6VSXcXdFgFK2Em3UuqtG+I8kCYN1aQiyRVh1c6Bf6Q/oDCWEViBTQatJkGOfR0t8EE9p82yREg/mZE9pis+Z0CNLwgVpBlQwoydNztQ86r4JAfTHhhp36YEm+I2KaWPWWZGX8u5S28Gv6eo7on6agVoTJwO/474jZT7jS5weCXMrZj3CfCQDiWsQncY0lSAd/hWh8nOfFRMcqphZSlxJKLUW5Y7jyo6bI1E0h1taMtkip9+0jkO9DvTCaAcmdkW2KDeoHyKaOTamhgbSf2ybqpz9B1SBS19t1fEqnPMG3CD26qic17nx0WraeeSXoJrBr7kwU6k/EinpPwV3ObwUxG4zRFzIrzd/vEHBFgfeJn/2vxJlg== 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, I discovered a kernel crash described as "BUG: scheduling while atomic in throttle_direct_reclaim." This issue occurs in the memory reclaim path, specifically in the throttle_direct_reclaim function (mm/vmscan.c), where the kernel attempts to perform a potentially blocking operation (schedule_timeout) while still in an atomic or non-preemptible context, leading to an invalid scheduling state and triggering __schedule_bug(). The crash trace shows that this condition can occur when the kernel mounts a specially crafted ISO9660 image via syz_mount_image$iso9660. During image parsing, the VFS initiates page readahead through read_pages, which issues block I/O backed by a loop device. This leads to a SCSI read path where scsi_alloc_sgtables (drivers/scsi/scsi_lib.c) attempts to allocate memory for a scatterlist using mempool_alloc. If memory pressure is present, mempool_alloc triggers try_to_free_pages, and subsequently throttle_direct_reclaim. At this point, the kernel is likely in an atomic context due to earlier direct reclaim or preemption disabling within the block layer or SCSI stack. As a result, schedule_timeout is not allowed and triggers a BUG. I recommend reviewing the reclaim context propagation in: scsi_alloc_sgtables and sg_alloc_table_chained mempool_alloc in SCSI I/O paths throttle_direct_reclaim to ensure blocking calls are not made from atomic contexts This can be reproduced on: HEAD commit: commit e8f897f4afef0031fe618a8e94127a0934896aba report: https://pastebin.com/raw/bxuLHCgu console output : https://pastebin.com/raw/mCZ4Ap8Q kernel config : https://pastebin.com/raw/aJ9rUnhG C reproducer : https://pastebin.com/raw/1dku01DG Best regards, Xianying