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 E72ADCF8843 for ; Fri, 4 Oct 2024 14:50:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3B3AA6B0386; Fri, 4 Oct 2024 10:50:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 347056B0385; Fri, 4 Oct 2024 10:50:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1B6F16B0386; Fri, 4 Oct 2024 10:50:28 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id EB1B36B0384 for ; Fri, 4 Oct 2024 10:50:27 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 89D604196C for ; Fri, 4 Oct 2024 14:50:27 +0000 (UTC) X-FDA: 82636205694.10.CB939B4 Received: from mail-pj1-f41.google.com (mail-pj1-f41.google.com [209.85.216.41]) by imf20.hostedemail.com (Postfix) with ESMTP id C434C1C0008 for ; Fri, 4 Oct 2024 14:50:25 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=X3iDP7W+; spf=pass (imf20.hostedemail.com: domain of aha310510@gmail.com designates 209.85.216.41 as permitted sender) smtp.mailfrom=aha310510@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=1728053385; 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=0iYyQjY9l/Hm6uV697ftkwU4KvJRwNy+C34ebXXW2p4=; b=19lj4Sx+0TkkX24KZVdzD4qmpe6Ru+VpJvi9Ae8WMCLRYipgi1M23TkbAPZAW+sG9uqbfJ 2I+2He9VYZ4KIQWFhiykYUN8QkgRRqStlS3deJzC1AZuUjywk02PLzi4YAzF4ziLFgdJm5 QvBUOknqJaJUkjacX/CgdkE95zBXcmE= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=X3iDP7W+; spf=pass (imf20.hostedemail.com: domain of aha310510@gmail.com designates 209.85.216.41 as permitted sender) smtp.mailfrom=aha310510@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1728053385; a=rsa-sha256; cv=none; b=6yZtY1JCA4LT2XhWkJQ49e+KBCtumGVIApTufC2ibLDTHPLm8YtQEeTK4w4Gt7ldmlPm0N l1sfg0ezrfZygNYO6WZq87zvjnkmcddiLpXobMpKNx5ECxGuR/zetVnr2GOzkD0XmxRRFF kVaCioDkSVMwRclNyeHryBlNjTfN/r4= Received: by mail-pj1-f41.google.com with SMTP id 98e67ed59e1d1-2e09f67bc39so1897710a91.1 for ; Fri, 04 Oct 2024 07:50:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1728053424; x=1728658224; darn=kvack.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=0iYyQjY9l/Hm6uV697ftkwU4KvJRwNy+C34ebXXW2p4=; b=X3iDP7W+F6zig1CzJ1YcpvAkRtUBZtIV8EYbD7Qf1MSsk3HrA5KSalveZUyRSmUCZ8 /hQ44rDyyuosq2SF/r+xb/FtrhfjOPfUiA2R7Ya7L/20BoSx4hB1L68Bsiyolqg7ST9P Txj0ptwRPFxJIt9xWBgDK6201Fk19XSfW1g12cDlbizQZZqK2SQKzyvoGUd3Ssnh2UAZ 7L5Rm0ejnLfVcL01LfaqLgt3eDCwaC1qiMWFdishKJBS4BJzA88HamMp5auQESjYT7Jb Kb0JMP7kTtAPm21vghPQGAENtHEA72dK+8vkFw5QiDZ0cudGdyJxAGex7JzWvdON03d5 Xeyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1728053424; x=1728658224; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=0iYyQjY9l/Hm6uV697ftkwU4KvJRwNy+C34ebXXW2p4=; b=mScpYzsMKWU1t5CGn0wZolpgqE+Pu+EmNXoXQd+ezcYm87LXOdUpxgQfxIEr/1NbSk psrWDoP4kOYAAEu+nKdArD7RrZDxZYtHR4VifmTEf6cm9T/tRloNXXRc4xMIJrYaADZ9 +A6PLTJgnrCpl5gEGiKaWgTERbgGl8bqGqlRpSqDKfcUh+QBARSvi33RB8WvGQEhWg9w TV9j+8A8il4qn0lIuyt0kU47Yh/jGkIVfCFCu00N9epKqq9WciEzvoMnsZQXAu3mDd7U ORRHC66IH0LDADyggOF6aQOAxwyumiVSNVhywH4/3FNvTXJvihp/OzVob0eNqLG3RneD +etQ== X-Forwarded-Encrypted: i=1; AJvYcCVY7HysoJM9YSg2BqyTct9pyUx75uQ+Q+k7W04tzvZqQmjqgZ04C8hrE4zkU6lPr2GCil2j5EEWBg==@kvack.org X-Gm-Message-State: AOJu0Yyoy+D1jgXXYcMuE+715jgq7xYRZcnyPqjcTco5+OCtbzzXS41g ahkhYEXUu49t+mpb5IPsqYtaf+IqttlONeWPdpVhUV0fc4hcVXXOcKvOcRyFjLVABYQRCoyYQwD 86YBF5QqxsYyfRqpYTrqK8rcDlBE= X-Google-Smtp-Source: AGHT+IF5IC1gwxI+aw756xi7KHV4VtxMtcLesqQhTDuECFzNrcNninDtelTrg/3KomYxxGW2E7G6xWl1j1ybLe0RxZY= X-Received: by 2002:a17:90a:7084:b0:2e0:74c9:ecea with SMTP id 98e67ed59e1d1-2e1e622759bmr4067501a91.10.1728053424350; Fri, 04 Oct 2024 07:50:24 -0700 (PDT) MIME-Version: 1.0 References: <20241004142504.4379-1-aha310510@gmail.com> In-Reply-To: From: Jeongjun Park Date: Fri, 4 Oct 2024 23:50:12 +0900 Message-ID: Subject: Re: [PATCH] mm: swap: prevent possible data-race in __try_to_reclaim_swap To: Matthew Wilcox Cc: akpm@linux-foundation.org, kasong@tencent.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, syzbot+fa43f1b63e3aa6f66329@syzkaller.appspotmail.com Content-Type: text/plain; charset="UTF-8" X-Rspam-User: X-Stat-Signature: 37skmh31ejhausoysheaxjstno4po7dp X-Rspamd-Queue-Id: C434C1C0008 X-Rspamd-Server: rspam11 X-HE-Tag: 1728053425-57462 X-HE-Meta: U2FsdGVkX18OP702ekZ2qPb0En3m2QLWvMBQ/lLYY6JCTMYysRcmnklkVEK+EBSGzOX1OuDGPO/UMo7/+oGVLNlc5BHckB/HBKhF1I8zN8bRVsOcoDNb7NoLzz/kdn4ll/EYCEbIABpvWz1V0Ix1KyEvz1LyORXLY3PvbQ6uh+N2Aq+LbIIzDbLzWtk2z4d9xy/GUf3XToodAgIbplhIf7Xyn3aNmTtXTcz9wpQRhC6Cw1pFECSkJ9NNdOoV2GFpXUMDDPYV2XfafY0waP8OCRrfVc2hL2LUtkX7jeLhddwIRDWln0EhDSfEGanNpQxHPLAksudj0GTGLdHq7qD8PvypQi56q6HSRyzzMTGdnhb1rkEcI5jBUdvxD/52fSu/pqqpmz2UEvZBo+Ti5vUU7Dqlc3adobEfMkx9vNa8ZLpfp0eeHqadI2kKxNTf0j0VgrSDMXFIpI0CxGrrrTEKEUcgyS1nYKBC8SVWmfIqaG/84knW0f9Skvaw/wCTizChPJZ5bhNZf3iQ3RWNZJGYgpC15eCBQXHLnlKKP6LnhHgfWVhUNAIxh1H8LN4g5xzZKXk/aOUatGE0ts2najBPo2wQ9tXtfKT5dDdIyhx1zG7Kw3yhU5IRf8EZBR+wtmNKsmdGEm5GLCKExHy5NxLeiHmIqO3gy2xo+MTSnKpy5+KcT6/DaGOJNbL2QkqqVJoB/6MNHziB12BJd1JoQ4cGFEGBiAchqnVoh/YZoDYamMAw0YPBxPzo+9i6THtTb3TFwnognl5CddX7il1qKriJCNLvtVDDP/zahdumdYKJion/rcditeMAj/uH0Bqc7jwjSfv5dUAUrXKFPqlWUKDvAdbyvroW9Z+9wuhSSy/GGhQ5A8Ox/CyXwnjs+oNDceuaN2mVazos2/xAPSygVYzIn9uO+iJTasY01hHTm4yyW+CxPuW1z4j43hL18imh3/IRz6Mm8by4QJBAquCXG8x /qy07x57 HGYtnM+RUWnBl2P0ZwCyo5AbeAz6sxLanx2EUS9PD/QlwBSHv4rQjYjFWm+jx6cn199UZa13Xrzl1RKsl9dVO2ALnqWPq3XEObSDNbcbrmg+OUmkpDFJb1vzHtv1lY/cPW1+WiI1Mw+iRmQHzrvBdA6TyXwX2s+TvbgshfYYLcKkJV1nQhDd7xfAdEpdFXfz+U2/A18m8wBNI0vs2sOdmkP3m/qDo2s1Q+1l0Fq5Djfj5cJbGhOH1zOcXmKZ8GQ/Zk3H4X3OO8xhNgZ2g1uy7Gd33rBfslNDfKjy1/3rHO5nRL10ixevA5ymna9eVWSD9Ds2GKx6X2C17I0As0SS89NbaXBlvPf0F3xsjGpSjtlAN1bVn8kZeJ8Wz4nzAjrtg1vI/55xtZZ/LZI/fJjSeYflUwhPIQYXgAPM1SjXCIBP3l5Z7tLTaI0lbgkpD8I8BXpcXqQUb42chbFnYfeqLGHv3NAqjAnpLela5pe/cuL6fFAU0Zp5QPuRMuKGKSXZAkOQDdWJh+zxrh4M= X-Bogosity: Ham, tests=bogofilter, spamicity=0.002131, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Matthew Wilcox wrote: > > On Fri, Oct 04, 2024 at 11:25:04PM +0900, Jeongjun Park wrote: > > A report [1] was uploaded from syzbot. > > > > In the previous commit 862590ac3708 ("mm: swap: allow cache reclaim to skip > > slot cache"), the __try_to_reclaim_swap() function reads offset and nr_pages > > from folio without folio_lock protection. > > Umm. You don't need folio_lock to read nr_pages. Holding a refcount > is sufficient to stabilise nr_pages. I cannot speak to folio->swap > though (and the KCSAN report does appear to be pointing to folio->swap). > That's right. It looks like KCSAN log occurs when reading folio->swap. In fact, since most of the code reads folio->swap under the protection of folio_lock, it is possible to modify only the part that reads folio->swap and the code that reads offset to operate under the protection of folio_lock. However, even if reading nr_pages does not require folio_lock, I don't think it is very desirable to modify only this code to not be protected by folio_lock. Regards, Jeongjun Park