Received: by 2002:a05:7412:8521:b0:e2:908c:2ebd with SMTP id t33csp989915rdf; Sat, 4 Nov 2023 02:26:06 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE9kt1oBnKRkUdJoFXe0BwRP6HFyyu76Tf8bxAvcHs46GinQDJioKOueaKrVfs+Ez9g2jOY X-Received: by 2002:a05:6358:724d:b0:169:845b:3417 with SMTP id i13-20020a056358724d00b00169845b3417mr21086781rwa.25.1699089966010; Sat, 04 Nov 2023 02:26:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1699089965; cv=none; d=google.com; s=arc-20160816; b=TsGPr7erkiy5z3A13XCUZ0FXEkRXGdNh2QjUUIjYTvC2Plf20G8U0uG3Nke1Shivhz TCmwiOmSoHTpAfiovDCSp5QY2lqHyq40t9UBXVERMdo0HNUK9iXDtkcaTYTFSrPHaSuK LbMhOykOBlsVf7TlvHVrVWD1WOf0chsG7v4dWwt7ZIlbFc4O5+sSixI8JdgEM1VOABaN UpDXhMLd48cELcnEHcb9wz0nOXZ3FxtutVz5OiEqrIgFJ1USNOJ89aYo+WVVaZPvYFC4 HmxmOP/5EJ0eqFqfNWZs7Wbf8tKKebBFKL6ou9nDA1HLBqbzBDZEWqRulJeTpq1aYZrc lesQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:to:cc:date:message-id:subject:mime-version :content-transfer-encoding:from:dkim-signature; bh=8n8ZiPmB4jr2dMWJOl0l5VVT7a0wTFVPtrw1M6Upy3M=; fh=bRJuE2wXb+4TsTxbismNwSjELYb1G4OhawWil//uAiI=; b=yRmpW/tNzn75+vPYeOVwEVRUXFpQ2CquqwuuYSnWWlNNjAGipJgOGHBnmrRvKXleJ6 XitR3JFmhpGvNG+Fo3xN0KkU18qVGPRqRvjHUx80oCwjabOI+BKcvi6RAMPOqogvbL20 oL97cXkVOZELmQRGeIVjNTpmBZEWDeTIyHjOmlkwiF6F4J/tJVCYxhXcG1slA+O6BpQl /3K8H6KM2VZVN1LewcRDc99TkEuR530945HnuTVSLSiLVIq6YnCb46TJRBy5iZTPi6eX BY9ZS/LhLaGYJSZfkdz6Pc/3pE318xa+R3a/4LBbFzbQjxGKua8a4RGmrElGNKh5lJj3 9Prw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=eICqnRo6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from agentk.vger.email (agentk.vger.email. [23.128.96.32]) by mx.google.com with ESMTPS id d12-20020a17090a2a4c00b002773cc10d3csi3513263pjg.78.2023.11.04.02.26.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 04 Nov 2023 02:26:05 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) client-ip=23.128.96.32; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=eICqnRo6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 6A2658051169; Sat, 4 Nov 2023 02:26:03 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229808AbjKDJZt (ORCPT + 99 others); Sat, 4 Nov 2023 05:25:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45594 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229468AbjKDJZs (ORCPT ); Sat, 4 Nov 2023 05:25:48 -0400 Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com [IPv6:2a00:1450:4864:20::330]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 540E1B8 for ; Sat, 4 Nov 2023 02:25:45 -0700 (PDT) Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-409299277bbso20423755e9.2 for ; Sat, 04 Nov 2023 02:25:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699089944; x=1699694744; darn=vger.kernel.org; h=to:cc:date:message-id:subject:mime-version :content-transfer-encoding:from:from:to:cc:subject:date:message-id :reply-to; bh=8n8ZiPmB4jr2dMWJOl0l5VVT7a0wTFVPtrw1M6Upy3M=; b=eICqnRo64dmbmKHORgaaN4HPedpweDqV+dpmtTZwDITuycpn2xjvgjd5bOvRq/SqVl eldIer0PTiA5+1Yo1KXKBMrnBRyyG1m5PfX1oCqI30b0A0e46v94mB8FykjLvD5ctCQH b+wkMzon3Lr/n7tYoVl5BwnsBkfLClBP12nDqoVT+9zoZNXOlPJMTIBK+Q5hGMZz3fks yWVQAZMRtPJEaOB3ipQ6rnIJjKOOPnc3Ca1PMti1etfxlxmwsdCVJIRHdduSMXMIDYAs qGGyBwiJcue4z2REdy3UTgT6PDwoDtyyYbflqiy2LG3/NZ/poj/FxRS9N2MSCz3MSyqG wwUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699089944; x=1699694744; h=to:cc:date:message-id:subject:mime-version :content-transfer-encoding:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8n8ZiPmB4jr2dMWJOl0l5VVT7a0wTFVPtrw1M6Upy3M=; b=sExYLXuPCv+9lmS3Yd5vtHjZXqJB2oHnLOt2BFz3Dx0K4kyJy1M+KiMDm2+ye1Wgf0 jUB3tziPZ3sJwAfQu+A7m9Dp4mE9dn99ZtC8K0nr7Zpw/YGLhq3qwGqDzoodBiRpE+N+ sML+yEKEoil/zwxZZjsAdvXAYXN2qQfmh0irEXDByTRafjoGdk2JjK9rFKYBr9K8jAIp 1D1tNr84DlTc2aI1xQD8KE8ATme7cwCH1QyJHdv++h8boeSRaUaetAFTfHVtzqjxDjtm Q2F5we/FrdGogG6g8AY6tX//3TrxqpAjX/N+3QOln1BjoQzupm4IAAHIPHl20AOmWdNU GLEw== X-Gm-Message-State: AOJu0YyWbvgOeGLPMI+tq0GTZ5jBlUOix/mBjojtwEYyrP3X5AE4hrn/ gEYGfioBuqb46Sapnjo5ygA= X-Received: by 2002:a05:600c:4f92:b0:402:f55c:faee with SMTP id n18-20020a05600c4f9200b00402f55cfaeemr18964536wmq.26.1699089943307; Sat, 04 Nov 2023 02:25:43 -0700 (PDT) Received: from smtpclient.apple ([77.137.74.70]) by smtp.gmail.com with ESMTPSA id du15-20020a05600c634f00b00405959bbf4fsm5009150wmb.19.2023.11.04.02.25.42 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 04 Nov 2023 02:25:42 -0700 (PDT) From: Nadav Amit Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6\)) Subject: Missing clobber on alternative use on Linux UM 32-bit Message-Id: <24BD0906-C6FE-499C-9A4A-00C56E6EE84A@gmail.com> Date: Sat, 4 Nov 2023 11:25:31 +0200 Cc: Thomas Gleixner , Linux Kernel Mailing List , Peter Zijlstra To: Richard Weinberger , linux-um@lists.infradead.org X-Mailer: Apple Mail (2.3731.700.6) X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Sat, 04 Nov 2023 02:26:03 -0700 (PDT) I was reading (again) the x86 C macro of =E2=80=9Calternative()=E2=80=9D = and I was a bit surprised it does clobber the flags (=E2=80=9Ccc=E2=80=9D) as a = precaution. #define alternative(oldinstr, newinstr, ft_flags) \ asm_inline volatile (ALTERNATIVE(oldinstr, newinstr, ft_flags) : = : : "memory") Actually there seems to be only one instance of problematic cases - in = um/32-bit: #define mb() alternative("lock; addl $0,0(%%esp)", "mfence", = X86_FEATURE_XMM2) #define rmb() alternative("lock; addl $0,0(%%esp)", "lfence", = X86_FEATURE_XMM2) #define wmb() alternative("lock; addl $0,0(%%esp)", "sfence", = X86_FEATURE_XMM) Presumably, if XMM or XMM2 are not supported, there would be instances = where addl would be able to change eflags arithmetic flags without the compiler = being aware of it. As it only affects 32-bit Linux UM - I don=E2=80=99t easily have an = environment to test the fix. An alternative (word-pun unintended) is to add =E2=80=9Ccc=E2=80=9D= as a precaution to the alternative macro.