Received: by 10.192.165.156 with SMTP id m28csp1111231imm; Fri, 13 Apr 2018 13:30:23 -0700 (PDT) X-Google-Smtp-Source: AIpwx48WvfhKyYn5uczZrNXmplA+bha62I8+HtuceveyL7EmlzDrr9eINMf0Ky0twxfXQoUFfLgP X-Received: by 10.99.149.86 with SMTP id t22mr5174174pgn.144.1523651423048; Fri, 13 Apr 2018 13:30:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1523651422; cv=none; d=google.com; s=arc-20160816; b=sUPPSbcM6nuITbVSQmx4w5RrBzL92/G0eXkAEpTkgUZUJCTzAuaUkKq6av8QsIbuEN 4oBYTKfzAbzXAeJD9ZmcU6lsOycMMZ7iOTl05ZtLOvL+68s92h6k99lgp36MsE5w6bWQ HJU4kpn6CQ8yoiptoMWRPttCuYgu5cbJrcpmCMvX2SIQmM03QJgdjdCe2wiYn8UbtWgQ j4/zOynwoywjahC7jfcfSnyiw4YWhsMM/jt3VLqUtyNl0jd7sMQlmEVHcgRIV54RXp42 eqEUol+ZNuX+LCaRpR9m55s3QEj8gpKJ8P0rEL5kAaav7Q+1smwPdOo/7lcjfhVHwHBR CnOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=0DRCDx0zZanXOvBtVbjT7Mti5EKRCc9gZvO7rZq89NA=; b=oCPIEMBDR7vPFNDZ0SOH6cPLKndnJGeSIeXjcWLAAQwDKHLVB95yKj3ob3YD3oFCt7 pkcAxdB9LuR9gw/u0Meo9rjBj221tc+FbIw+RUYh5n5ZiILzjOG8XESNfNe8n0xTrFHE 1SfGAZN8GJFRSEb8SnHgCwyAbBD41u4AjRy85joyaq+QqBUh6v6CWj87Ygqk29MwuHO4 Dtc1JHMwA6QdTAKIwKc7HzShJfbee1+Dyqb90xfaOFv4pcW99wBKhfvU6kY9qGMslnC0 FdUaBgB6sw55r9cyEyUEsUTOlfvJVpn7UjEvjd23lKkLejR7z9AtTyskyBQoB2i0i5Zo Nxpg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=rE394VDB; 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=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id x16-v6si6157423pln.303.2018.04.13.13.30.08; Fri, 13 Apr 2018 13:30:22 -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; dkim=pass header.i=@google.com header.s=20161025 header.b=rE394VDB; 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=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751141AbeDMU24 (ORCPT + 99 others); Fri, 13 Apr 2018 16:28:56 -0400 Received: from mail-pf0-f195.google.com ([209.85.192.195]:33915 "EHLO mail-pf0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750839AbeDMU2y (ORCPT ); Fri, 13 Apr 2018 16:28:54 -0400 Received: by mail-pf0-f195.google.com with SMTP id q9so6785916pff.1 for ; Fri, 13 Apr 2018 13:28:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=0DRCDx0zZanXOvBtVbjT7Mti5EKRCc9gZvO7rZq89NA=; b=rE394VDBXk+hiU1BfT0LdDOMY/L0c3EvwBhFm9pimiXL9Q84U12Qt7Q0rz9o/R7WFs uld8+LlLU2Ftqrjxk0ERlzh8wOyqmwor6ilZmtnTh+qAsYeU9GlWhn+OAfSlUy/KCWsM qVtak8r2KLV0eKPEcQizeLW46htoOJ9gkiwDkWZlenmh5vx/1wlbmBpobdBrY8J36ZLJ YoIRGCMu0M3Bpy3TRxQIlCHq58c2qLz/tF1Bh6yY5uDQaM/dkTrJ/CeHCpIVnBuc7cZi kKNNTQo+QigcQzGW01M8uL2/ZDUZx/vN8ajLCKQ3ITOpe8zYVyFaGsWC6gumZy3M+HUE e/tA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=0DRCDx0zZanXOvBtVbjT7Mti5EKRCc9gZvO7rZq89NA=; b=j/Q3S7HRwcxdvZVbHE/3k2w8DwjlC1FcqvSYQkTaPLNUpg27ulTbRurSo6EMi/P1DM A0bKcIMa5Bt/84gelw9fSD/C9YZq201ife3EkUzcTfIgVCZmUyEPcnobKfVA8fEGwjua 0MtZgGZwNM0w5AxIBL7r48Rygcm99pGoyr76vzs+s21gWu7GluWA5XKo72aKB04s/oOY RkfH6GjYSo4QVyuwqaPfal158lCQIlEdoN39/pIGull9ZSV2yWDf+gn+1pwVwE3/bjrV EA09jz5+epV2J16UrMlpgloCT/fLQwtLDgaOoUX6ocHSALVN6LMANalX8X1Gh1/EEGcK Lrjg== X-Gm-Message-State: ALQs6tDpDIjBosjWVpfuPPsm1NDsrAA2amABtvA2i5Nw3cLd077053hR ReyXvGiBj3oYwJajCuKcJXmlgg== X-Received: by 10.99.126.69 with SMTP id o5mr5112079pgn.18.1523651333630; Fri, 13 Apr 2018 13:28:53 -0700 (PDT) Received: from khazhy.svl.corp.google.com ([2620:15c:2cd:203:478f:57ef:e0f2:999d]) by smtp.gmail.com with ESMTPSA id r20sm16383043pff.165.2018.04.13.13.28.52 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 13 Apr 2018 13:28:52 -0700 (PDT) From: Khazhismel Kumykov To: nborisov@suse.com, akpm@linux-foundation.org Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Khazhismel Kumykov , David Rientjes , Alexander Viro , Goldwyn Rodrigues , Jeff Mahoney , Davidlohr Bueso , Linus Torvalds Subject: [PATCH] fs/dcache.c: re-add cond_resched() in shrink_dcache_parent() Date: Fri, 13 Apr 2018 13:28:23 -0700 Message-Id: <20180413202823.204377-1-khazhy@google.com> X-Mailer: git-send-email 2.17.0.484.g0c8726318c-goog In-Reply-To: <20180413181350.88831-1-khazhy@google.com> References: <20180413181350.88831-1-khazhy@google.com> Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="f403045dbf568b74990569c0b84a" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --f403045dbf568b74990569c0b84a shrink_dcache_parent may spin waiting for a parallel shrink_dentry_list. In this case we may have 0 dentries to dispose, so we will never schedule out while waiting for the parallel shrink_dentry_list to complete. Tested that this fixes syzbot reports of stalls in shrink_dcache_parent() Fixes: 32785c0539b7 ("fs/dcache.c: add cond_resched() in shrink_dentry_list()") Reported-by: syzbot+ae80b790eb412884ca77@syzkaller.appspotmail.com Cc: Nikolay Borisov Cc: Andrew Morton Cc: David Rientjes Cc: Alexander Viro Cc: Goldwyn Rodrigues Cc: Jeff Mahoney Cc: Davidlohr Bueso Cc: Linus Torvalds Signed-off-by: Khazhismel Kumykov --- fs/dcache.c | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/dcache.c b/fs/dcache.c index 591b34500e41..3507badeb60a 100644 --- a/fs/dcache.c +++ b/fs/dcache.c @@ -1489,6 +1489,7 @@ void shrink_dcache_parent(struct dentry *parent) break; shrink_dentry_list(&data.dispose); + cond_resched(); } } EXPORT_SYMBOL(shrink_dcache_parent); -- 2.17.0.484.g0c8726318c-goog --f403045dbf568b74990569c0b84a Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIIS5wYJKoZIhvcNAQcCoIIS2DCCEtQCAQExDzANBglghkgBZQMEAgEFADALBgkqhkiG9w0BBwGg ghBNMIIEXDCCA0SgAwIBAgIOSBtqDm4P/739RPqw/wcwDQYJKoZIhvcNAQELBQAwZDELMAkGA1UE BhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExOjA4BgNVBAMTMUdsb2JhbFNpZ24gUGVy c29uYWxTaWduIFBhcnRuZXJzIENBIC0gU0hBMjU2IC0gRzIwHhcNMTYwNjE1MDAwMDAwWhcNMjEw NjE1MDAwMDAwWjBMMQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTEiMCAG A1UEAxMZR2xvYmFsU2lnbiBIViBTL01JTUUgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC AQoCggEBALR23lKtjlZW/17kthzYcMHHKFgywfc4vLIjfq42NmMWbXkNUabIgS8KX4PnIFsTlD6F GO2fqnsTygvYPFBSMX4OCFtJXoikP2CQlEvO7WooyE94tqmqD+w0YtyP2IB5j4KvOIeNv1Gbnnes BIUWLFxs1ERvYDhmk+OrvW7Vd8ZfpRJj71Rb+QQsUpkyTySaqALXnyztTDp1L5d1bABJN/bJbEU3 Hf5FLrANmognIu+Npty6GrA6p3yKELzTsilOFmYNWg7L838NS2JbFOndl+ce89gM36CW7vyhszi6 6LqqzJL8MsmkP53GGhf11YMP9EkmawYouMDP/PwQYhIiUO0CAwEAAaOCASIwggEeMA4GA1UdDwEB /wQEAwIBBjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwEgYDVR0TAQH/BAgwBgEB/wIB ADAdBgNVHQ4EFgQUyzgSsMeZwHiSjLMhleb0JmLA4D8wHwYDVR0jBBgwFoAUJiSSix/TRK+xsBtt r+500ox4AAMwSwYDVR0fBEQwQjBAoD6gPIY6aHR0cDovL2NybC5nbG9iYWxzaWduLmNvbS9ncy9n c3BlcnNvbmFsc2lnbnB0bnJzc2hhMmcyLmNybDBMBgNVHSAERTBDMEEGCSsGAQQBoDIBKDA0MDIG CCsGAQUFBwIBFiZodHRwczovL3d3dy5nbG9iYWxzaWduLmNvbS9yZXBvc2l0b3J5LzANBgkqhkiG 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 BQUHMAKGNGh0dHA6Ly9zZWN1cmUuZ2xvYmFsc2lnbi5jb20vY2FjZXJ0L2dzaHZzbWltZWNhMS5j cnQwHQYDVR0OBBYEFDNntFDpJlP5hZfZPq3fmoQ/ClRPMB8GA1UdIwQYMBaAFMs4ErDHmcB4koyz IZXm9CZiwOA/MEwGA1UdIARFMEMwQQYJKwYBBAGgMgEoMDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8v d3d3Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRvcnkvMDsGA1UdHwQ0MDIwMKAuoCyGKmh0dHA6Ly9j cmwuZ2xvYmFsc2lnbi5jb20vZ3NodnNtaW1lY2ExLmNybDAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l BBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMEMA0GCSqGSIb3DQEBCwUAA4IBAQCcYsdtDsMPCsiWtxWK v0I9QkCnTCRmIAxfU099lmAl6HJIb6EZAYXhG51MDl9iaGIuH+GO5oxO7mt6QXjZkJJRP2vReyw5 vi5ViuNmepeIV0P683cromlJaDnnrTIV8cqxomNphwiRQiX+abmRlZ2+Har0cE2a0g47zpdg/Hby MERF/SR21AUHupZvBsu6329K3W2rg7YbCPX+MnvEgpZKqCyulTjxFyxJ8a8pjBtznVnMrRrTfYRz HfgjoeGEt0kUqvCtVFjEU1tpoYLSys6rl1qk+jX/YW09XZsd18ie8uWVRxG+9KtevbtWe5UPBQ37 UMq8z8vtmD3G2k6o6TQMMYICXjCCAloCAQEwXDBMMQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xv YmFsU2lnbiBudi1zYTEiMCAGA1UEAxMZR2xvYmFsU2lnbiBIViBTL01JTUUgQ0EgMQIMD/ndhZX/ YOFoMzvgMA0GCWCGSAFlAwQCAQUAoIHUMC8GCSqGSIb3DQEJBDEiBCDDP499RcFMwzADdfh1k8GK 54sKPVExhjK6L/eeziDx/TAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEP Fw0xODA0MTMyMDI4NTRaMGkGCSqGSIb3DQEJDzFcMFowCwYJYIZIAWUDBAEqMAsGCWCGSAFlAwQB FjALBglghkgBZQMEAQIwCgYIKoZIhvcNAwcwCwYJKoZIhvcNAQEKMAsGCSqGSIb3DQEBBzALBglg hkgBZQMEAgEwDQYJKoZIhvcNAQEBBQAEggEAjHVpt2hwAW7sdLuZf+dguA+ilLJW6mbWtmvuCa7M Z4bPTt3Q9tL9nveSozMfphsgNojTBfzqoW5hBQJ7PVHECJ60RGhSRnruwdHbk2gNNguMivlN/efu erT2tKbIgNmWlMoxhe1AAmRIWJ60cso43Ok2+4wpGNbv/S1F8bEIY/9TPwdobqGK8yLUtn4LN901 ggPQKKfpXJj7bixQDxCV23KlmHn7sYL6p03YKu5sOMcxSWRmbN9eQHfxWy7vxT4I2Yjg4FGQy4LW r0mPPTP37ClwZmBY0wXU7hDglrhSAAn9lC2ZE4G/Blya3MuRIIcuws2hG6dXCeG45bCczS8Mbg== --f403045dbf568b74990569c0b84a--