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 D4CF1C3DA6D for ; Fri, 16 May 2025 12:39:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 68F796B0157; Fri, 16 May 2025 08:39:56 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5EB716B0158; Fri, 16 May 2025 08:39:56 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 466036B0159; Fri, 16 May 2025 08:39:56 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 2225E6B0157 for ; Fri, 16 May 2025 08:39:56 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 9500AE04EE for ; Fri, 16 May 2025 12:39:56 +0000 (UTC) X-FDA: 83448727992.21.724BB9F Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf15.hostedemail.com (Postfix) with ESMTP id 679D5A000D for ; Fri, 16 May 2025 12:39:54 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=eyVGKk5f; spf=pass (imf15.hostedemail.com: domain of dhildenb@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=dhildenb@redhat.com; dmarc=pass (policy=quarantine) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1747399194; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=dD4s5BjWgdY0XRygYfoiKVTZtRM5PGr6HfbLhrnOYkc=; b=er+qob8IRhgkd5lUazL4qYmQEdT+UxQ1PaAfusOYw9A2opTwxL4Kh6YktHIXSWFXFzQ0MF L7ALe3y9orv8eVU24HoRvQguWJxtOhGoaVEN97OLai5yAUIDFQ2G34oMcrqG6I0NTbXjUc yNeAHYku8w5Jop+hT4EORBt4sax9yZ8= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747399194; a=rsa-sha256; cv=none; b=NfJv183mStf8dFY1mWconIgf6e5NyVJTvhtZRTdq/lAFE+o87ceQYs+5y4OGfCO7/x5pKo ROckiJOl71YwvNkmV+mCk1jm5QMfwqUiMl+kbLGqKLwRYWWbLJQRpn3nFDe60JnY5ig+tj Z5y7Lqc/k3TN+zMoif0UPl2C3rffiv8= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=eyVGKk5f; spf=pass (imf15.hostedemail.com: domain of dhildenb@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=dhildenb@redhat.com; dmarc=pass (policy=quarantine) header.from=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1747399193; h=from:from: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:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=dD4s5BjWgdY0XRygYfoiKVTZtRM5PGr6HfbLhrnOYkc=; b=eyVGKk5fGZUCfGp9TiXxEfNQCZvV1Dk1KRbW/Ce2h/BZDNa/ryCUi5uYbm2h/Y79vn9zR+ X7eLpZr83D3lVadck1qUrKILXOQQ/yMGDfi7CaSReg54+0/isjUyHYhijoGrkBuHw7iHTj cr7kTqV8OVDKCiDlu1XtJSTkbEXTggM= Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-428-grNbB5-rPsezUAMtkdMqKw-1; Fri, 16 May 2025 08:39:52 -0400 X-MC-Unique: grNbB5-rPsezUAMtkdMqKw-1 X-Mimecast-MFC-AGG-ID: grNbB5-rPsezUAMtkdMqKw_1747399191 Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-3a0b570a73eso1338484f8f.1 for ; Fri, 16 May 2025 05:39:52 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747399191; x=1748003991; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=dD4s5BjWgdY0XRygYfoiKVTZtRM5PGr6HfbLhrnOYkc=; b=J45DngBfNbFjXuNJ9vaGFsmiKv6lbrRTONFhyqPSBRW/mPiqUO1Vb/zPA7Gm+Q+Tsa OuqItfir/cVFsdQMTmbyF/Cbcqm5gdq61faPxKovXoBJAOF6opdzBerk5NwfGswZFAg+ 8U7NsA6XDWgpXX1O+b1dAvL7Q8Ug5shrWV1IVU8bGnaiVE4MOGFhpC10dvCD9XJIuG80 VUT4ktjaqnXgHQ5L4w0dnNiYyS+V6IV2s+4PuPpsl1ZnXCCx1YM3+x90p+nvN+5YJeee pqt9413IFSv+wcFwn2x2N/gEIJEfeDcDQdN9tTpifDd2482BpU27S9zh4hvG6cmPn4Or Godg== X-Forwarded-Encrypted: i=1; AJvYcCXLX/1SzcPVf4fAgCpEz/oCd/pHOFkucgWLX3AHaKjReCOKZRDKtNf0LzY6KWhPa0VqVHhyZfGTDA==@kvack.org X-Gm-Message-State: AOJu0YzNGsiA6qGRyBKyehuJPY0mQ4vJ4ZAj6RLMKjpI3trjwoqtEdwc ZBFh41IkoRhag0N89tRQryL5ct+wvVIlXhSs3uLVJRBzocF+ASUnFMynP4Cm2PNRJYZuoQwD179 hD93YJZg27mw6eZ8YVjgNx/zFREPsRcwGnf4rYqNmdYUCc2qOzi69wHxjcyYU2Kw= X-Gm-Gg: ASbGncvFlWCUoefz8v4JkVU2qdwxCRnYwkqLAl1ZyaYPa3YtMuYlavdVPY9AWFerRva DD4BPY4dgDqBtRxSw0pHR+PsH3vZF9ANnLRaYz55fkbzEW1dN5xA5Otb/UyVo17QYqU8eixmy/3 sXxSQF4rHHFn/x719key5g/SscjLAbObmTYl9jiPwIHARlTASOCpDntVujXaJC7MTEV1cGGV18o Q76tSVVZ2g6gS2JfHedvhWd0hD2JIKLyoeYsWaSH3D4WmMH+PJ5Pcle4rXKeXnIVQOhDynImYgn 2MEgVg4Eekym30GNeE9V6V3MJkUh2sI7iAubOIv4LlkVec9YB8a1RRZz+RXP0hCoT2/AWnP7 X-Received: by 2002:a05:6000:2305:b0:3a0:7f9c:189a with SMTP id ffacd0b85a97d-3a35c7dd97fmr3453590f8f.0.1747399191329; Fri, 16 May 2025 05:39:51 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHv93D7EpnmZ+BrL8Zcx6nM5iZBOF7WC9roZjSuYlsEHMwzBOdkSWq8EgsH051sEEAROR2png== X-Received: by 2002:a05:6000:2305:b0:3a0:7f9c:189a with SMTP id ffacd0b85a97d-3a35c7dd97fmr3453568f8f.0.1747399190948; Fri, 16 May 2025 05:39:50 -0700 (PDT) Received: from localhost (p200300d82f474700e6f9f4539ece7602.dip0.t-ipconnect.de. [2003:d8:2f47:4700:e6f9:f453:9ece:7602]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-3a35ca62c70sm2792386f8f.54.2025.05.16.05.39.48 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 16 May 2025 05:39:49 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: linux-s390@vger.kernel.org, kvm@vger.kernel.org, linux-mm@kvack.org, David Hildenbrand , Christian Borntraeger , Janosch Frank , Claudio Imbrenda , Heiko Carstens , Vasily Gorbik , Alexander Gordeev , Sven Schnelle , Thomas Huth , Matthew Wilcox , Zi Yan , Sebastian Mitterle , stable@vger.kernel.org Subject: [PATCH v1 1/3] s390/uv: don't return 0 from make_hva_secure() if the operation was not successful Date: Fri, 16 May 2025 14:39:44 +0200 Message-ID: <20250516123946.1648026-2-david@redhat.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250516123946.1648026-1-david@redhat.com> References: <20250516123946.1648026-1-david@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: KVZw-nul3maEL81LaU7k3MoJJR9tCHJmpPqlWCsHOIw_1747399191 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit content-type: text/plain; charset="US-ASCII"; x-default=true X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 679D5A000D X-Stat-Signature: m1qmg487e8ndbj8kup4knd8dwrz458xj X-Rspam-User: X-HE-Tag: 1747399194-808052 X-HE-Meta: U2FsdGVkX18ia3wxeeAYAkV5h0rYpEZtR4b5JneXB7Wj/DVsx6yjtYjb6BOHK9GE9+2I0lQ9FXmVRx+swLcXdzHq9qHaz9TPFOMRUYLWPaGIqy+zRil9YdcD2Ey7jBBa/OCCrohTVjDIgEsUHRF8fyoHyxwVYATrLmHZyrdmTpPgnNcslU3YCHHp5MT8jF6Xoiso6ck3jKZ4PAq6Ltw0eYTWO5LN5wvVbgSiJp5uKEczQ2MHuFO7zSGvs/vsS1T57FLvFel+BMm8vjejP1BL1JzZMbyjy06fpupFDNHCFUDpOJ/8poRfRYxCRcFN/GXmCfK5LvIop4yicaEX/k1RQV1aEOmQD5TBHCiaDfHmPmDVtX44/1cyqlQ67gV4JYD12uhXbfnOXTFIRqu6eucJPT+chzatagXnruGNqdWGGFbPGyNmxzEF7VipaB2TClm5JdTu3fTD7fYbUYc4HPtinbThLS06Fsks1Doy6jkkiiFS7bxZYUIeCysHNbwO+9NU/VQlStZ3+hEexac1wYEtR3PvePL+gYTF0Nj/Z0dUQoYqROMMppvpnmldNZ24h+JnDzE3heGX0ZKD4KVvYmiX4byw9ALyYyPyWe0pGToec5u6E6N/8sxR338H7uJaTtuHx4xLKmZCx/v53qjcoLR8OZtJkxBqwACJFmsosxIzYt2K4HiiQNhMv0XYqucL2qLj/MpT+XiVh+ZUPVbUp8nAm/mIiYFBo7PuI26Cgwd5EUfrOuhUdb8tEYlymdmsCXZLE3RafgnfPAg/2RuYKl5YdscTW6UifzsCVTnflkUMV4OOpVjKUg58g9iDBkKBnvivixRtJdDas7GFosYORhx5nwQzrnx28FJK22miXmX/ZCBCkQGkKbHScnAfUe5U0jldgx6j1WK8kvufUTyCb3d+rD5icxNbDyMojVPur4bT7mXbsiWK4A8ZzrSqW9B1Z+F4e2b5NUB1n9p8eClk72e /sIpk4hj LUuC9mGgCKKkcSR0V3tYoetd4Sn0O9NncKfPEtmiywYEyd5GRAHwPAq47RFLY0dV5GiL7UJS64bR1rUfAZMAqjJtwa6C9rsC6xfQ04t0pfXRGsSEyXfgNzUCC1a1xXS+CLlAfhdN1b7QGE7k7eF5p+hAoNrjZUl1FjQIonVM1ySEDHDOC8Xp5X+2i9z1r2zXb1RsG8zf1Fgdxe3mxbw8CzfmN4YNqLyPMV1GNZgzYmxB7dmBbJSXdhHi8khBfLqjom6zAx0oCWvBWoQgg6Z4lFcb76ZWI3XEDMbcGQQQb0J04WdmX86NghjDDA5O1yzqMwRMDRIVpfkhZ4eZjf6JsMoM0/fWMX02OLXMxL8X8JzY4BoWHq9GasFH9KB8nGyOej/IXeIEFP0aVETE7uoKKWo7NQDsy4wTt3ZfAi2bxCPldVSzo3JtarBqeQRpWP3QQujaTc+NKBGa6rzsItgAPuv0RRtmaWOyYIsu/vOg6fsqgbZQc9kHcyw4/BXJq6iPlV1B7P2RL8qwZjjuA5QtNHANpqmu/hXPCsj1vXdC1Jv7FndLzzUVJlXMbtYJ9lFjwy5ji/GOkdNeklG/0tJnGmKF0Yw== 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: If s390_wiggle_split_folio() returns 0 because splitting a large folio succeeded, we will return 0 from make_hva_secure() even though a retry is required. Return -EAGAIN in that case. Otherwise, we'll return 0 from gmap_make_secure(), and consequently from unpack_one(). In kvm_s390_pv_unpack(), we assume that unpacking succeeded and skip unpacking this page. Later on, we run into issues and fail booting the VM. So far, this issue was only observed with follow-up patches where we split large pagecache XFS folios. Maybe it can also be triggered with shmem? We'll cleanup s390_wiggle_split_folio() a bit next, to also return 0 if no split was required. Fixes: d8dfda5af0be ("KVM: s390: pv: fix race when making a page secure") Cc: stable@vger.kernel.org Signed-off-by: David Hildenbrand --- arch/s390/kernel/uv.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arch/s390/kernel/uv.c b/arch/s390/kernel/uv.c index 9a5d5be8acf41..2cc3b599c7fe3 100644 --- a/arch/s390/kernel/uv.c +++ b/arch/s390/kernel/uv.c @@ -393,8 +393,11 @@ int make_hva_secure(struct mm_struct *mm, unsigned long hva, struct uv_cb_header folio_walk_end(&fw, vma); mmap_read_unlock(mm); - if (rc == -E2BIG || rc == -EBUSY) + if (rc == -E2BIG || rc == -EBUSY) { rc = s390_wiggle_split_folio(mm, folio, rc == -E2BIG); + if (!rc) + rc = -EAGAIN; + } folio_put(folio); return rc; -- 2.49.0