From nobody Tue Sep 29 04:10:46 2026 Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 019AB3A544C for ; Wed, 12 Aug 2026 20:30:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786566655; cv=none; b=YTzPREfK6vgFOPL0ocI/s1xdQ8mCrs9p0XF3xKPojIWGDuU6tYdoYmbJg6KRp3/8VLKTu44MgfkSt7rl4NYKW+6TawMD30YetTKcksRwWo2LRYjPe2N3dmdUC5AdcaE9YRmHqxsuGSdzom2vBYeDD/+RG0SJhkmZHZG/2z0yb9s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786566655; c=relaxed/simple; bh=LlJ6I9bvGmzRIaPyWdQfyz9C6oMMl+wo6V8c/miVHEI=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=uTHJKnMnqo/GQRJY/c0AA+YPNQuO9AMT8e2e506Lzstes6/hvjeVetMOz3Ql624rXa7F2HCknMUBcNOXBgfM0z0uilchXdtjRyx0VbMUdQsD4P5HGGqL8rwtcAdBXZSWTUIS+dVKTDHZBgt3ncodBaGPHwk1CZPCjyNCOmdruM0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=iZkB4iT7; arc=none smtp.client-ip=209.85.128.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="iZkB4iT7" Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-493b966dd74so8946545e9.3 for ; Wed, 12 Aug 2026 13:30:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786566651; x=1787171451; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=ay9eqpJSfXPclJqhj8WgHyKYU5OeiSUdDYoWzRdbrqg=; b=iZkB4iT7barINWLKAfvNVhv/E02J9rCOMX0r0RLauBrEMT7FWpBsavGZq2S7bv3UdC NTLxLdJQ8hDCytXNfE8Eh/V727DLrOMaEclaYKSdz2IVea+wkk5zWA+/jCI6J6F9tu2b qNusBC9l7mbW5iMvC01XZk8LRu82akQTJ/2+3Ty+Sx2vZkdoda9ApDVmmc17jGBK3Lri TSMH23DCtncjAVBq4tkaWSE32zjLbZWS1zAs836apqyQunfKAkhjwdDFnu/F/G48cyel f9gpUozyPY9LMk6eTpTWcox2HR/bx+br1DSEEOxhvfTHTc8G060V2EY5ZFzUFIc20jxL v5Bw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786566651; x=1787171451; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=ay9eqpJSfXPclJqhj8WgHyKYU5OeiSUdDYoWzRdbrqg=; b=W8tYweio9JtB0vjiweoGZ+l57i6Q2Bzd5VAp3n9gTOiJiik4dXlCpVdJJH1u/5Ceeu O8KTQohIr2jZGIwrWK/iPfAsdzoGEjY41FMUDAWys/N4abf1gm463pNpJIQhZInFsme4 fvNHwbi3t8l2kK2j8e6s/2/5JtDIa0bCqSwx7kBpdhFMzj99kwfGc4GFjaDa3hv3CnNI Uq3uuoA+Avu7kMUv8UBmP7kLZWMBF+QI26Gx3e8+XJoXSto9u0Yg7Qxmb9JNDX0dI/pb 1YOBO4tH19iAJq6I4LXmS2Y76x5OidBzVk7NW59b39LDwjHOeCUJOZZ7rjiUdlk2DC/O IrhQ== X-Forwarded-Encrypted: i=1; AHgh+RqBe7xYpBqNPRge9uFFGaAmFTZk/hYD+E4g9FrlpWnZS6yx6/g1K4hq/t4XFtereeSw6wKbO/n/IUj8r2c=@vger.kernel.org X-Gm-Message-State: AOJu0YwGzQ6+NVnddUktjYf54+XG97WSuFtxYoz4MONVzpJTsE7nBSxH 7Z6O02roDxAF7CFvcNu3cP3KfK+GTfReLyc/IgwbW4npfC2NUBte7XRf X-Gm-Gg: AR+sD11u7zgMtjdf64+9HLFvZUMJZVGDUqsDO7g0Ya3C6RKmFKLMknCSCO3XjJ8MORX ZEpHv+7tZuBG7oed2VlW/6j6jRZ99qHp2T3hF1R3ARSjjdbqmT2B8qyUUEiowGfkwtlioX1wfLM 65F5M90ZFLtzrtUVptfPoeBU97y3z2GXeIbov92eGxuGhSNRk8TzbNQFiZYd2AgtZ4kjSkIcq2b Uj6x8u+ljLJqWP1/p0c1Ntopx+7GYaQ+3bt/fhQJeTI+Zl6BPkLLQn+g+QBDbhwtWiKd7CxUzxL Ybqcf1TZrae+zgNzQTHvQum3vTRVK24mrDPMd1FPuipldEZI/2uQHv5AsKCbJzHqbPWs0VmkLs/ 1vOu2ycJ6hULC3L4uKodFtEnUj+VnChPD1R8zWUwMOSDycLArdLJweEyrih2MRTfvzVpzG6e0cw bW1PG8y6+dNKqquKNfJ/XxC3YaHd4Pj/9GwjCg14gwI9ghfgFpkr2A1on/QpO0YFlrXN9/qhu/c 3WJOZ9sLLcmsAwR8KgSAsBuxo/K7N62UDvzY62ONoHSHAT/KJ4zTjBRZ2psv1dTWgnznp80z194 DQ2SKkwjTu7iO539oS15wAbr1HGxiegcfvrYU/HWsrNHYH6L1bucyRVNoM2DZ3Y1lqQs X-Received: by 2002:a05:600c:4585:b0:499:5b04:6920 with SMTP id 5b1f17b1804b1-499821fe9ecmr2744625e9.16.1786566650998; Wed, 12 Aug 2026 13:30:50 -0700 (PDT) Received: from localhost.localdomain (dynamic-2a02-3100-a869-c801-382b-4199-5518-da16.310.pool.telefonica.de. [2a02:3100:a869:c801:382b:4199:5518:da16]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49981e31783sm7640995e9.3.2026.08.12.13.30.48 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 12 Aug 2026 13:30:49 -0700 (PDT) From: Karl Mehltretter To: Heiko Carstens , Vasily Gorbik , Alexander Gordeev Cc: Karl Mehltretter , Christian Borntraeger , Sven Schnelle , linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] s390/percpu: Fix MVIY_PERCPU() with older binutils Date: Wed, 12 Aug 2026 22:30:36 +0200 Message-Id: <20260812203036.3018-1-kmehltretter@gmail.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Commit a737737cdb9c ("s390/percpu: Infrastructure for more efficient this_cpu operations") introduced MVIY_PERCPU(), which stringifies arguments that are already C string literals. This generates an assembler macro invocation with whitespace-separated quoted arguments: GEN_MVIY "459712" "%r3" GNU as versions prior to binutils 2.39 drop the separating whitespace between quoted macro arguments during input scrubbing. They consequently parse the invocation as a single argument and emit repeated warnings: Warning: missing closing `"' The .ifc in GEN_MVIY never matches and GNU as exits successfully without emitting the mviy instruction. As a result, the interrupted per-CPU sequence is not marked in lowcore and the exception return path cannot repair the per-CPU address register after migration. All MVIY_PERCPU() callers pass C string literals. Use them directly and separate the assembler macro arguments with an explicit comma. The resulting invocation is: GEN_MVIY 459712, %r3 This form is unambiguous for GNU as and LLVM's integrated assembler. This behavior was fixed in GNU as from binutils 2.39, but Linux supports binutils 2.30. Fixes: a737737cdb9c ("s390/percpu: Infrastructure for more efficient this_c= pu operations") Assisted-by: Codex:gpt-5.6-sol Signed-off-by: Karl Mehltretter Reviewed-by: Heiko Carstens --- arch/s390/include/asm/percpu.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/s390/include/asm/percpu.h b/arch/s390/include/asm/percpu.h index 1d955dd0defa3..feb58acf87d69 100644 --- a/arch/s390/include/asm/percpu.h +++ b/arch/s390/include/asm/percpu.h @@ -107,8 +107,8 @@ " .endif\n" \ ".endr\n" \ ".endm\n" \ - ALTERNATIVE("GEN_MVIY " __stringify(disp) " " __stringify(reg) "\n", \ - "GEN_MVIY " __stringify(dispalt) " " __stringify(reg) "\n", \ + ALTERNATIVE("GEN_MVIY " disp ", " reg "\n", \ + "GEN_MVIY " dispalt ", " reg "\n", \ ALT_FEATURE(MFEATURE_LOWCORE)) \ ".purgem GEN_MVIY\n" =20 --=20 2.53.0