Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp886047ybb; Wed, 25 Mar 2020 11:28:10 -0700 (PDT) X-Google-Smtp-Source: ADFU+vvegY+8cZmy7mCdKRX3dsqvM/fpfUG83rXkAOUYwpA/8abR0J33u/pYfaXvnjC37mq1e2mD X-Received: by 2002:a9d:178a:: with SMTP id j10mr3389018otj.182.1585160889992; Wed, 25 Mar 2020 11:28:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585160889; cv=none; d=google.com; s=arc-20160816; b=DnVgHLrdVwfx2qI5/JflvYV+mVCT2RJYZ8MjtDNk0Woa/zo6uIhQXAHSIaaz/q8ls7 +DTAVoCQJAmut2g/+kE1fDN0CDXjyCBuuELhmF65GAdIP07M7z7kWIlEr6nDs2NdGXvj mUM4ncGM3gHUSrMjpcYatq31h34VBTdHi23T6sKbCd4Sx03LbO0HqP9exSzSdLtAcdeD uAAEU5k/1wa8PVjRM+mpCHsyeWjwr7qhYFIr0tShYlTxQdfa0X6La1j2SeSZJifGlTAW YeTeLjeuJxkZ/RP0ZnKfcI9RWFCgXVuMvo/hBtRHJVKCwzN7Lt3xl0VPI2LSNfv1nleF pVVg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=5X6cqBMAIN38Vpa0k6I9LJbV/IM/WQtUqFEnNCnTPNY=; b=pF7MWDT1wKdOTAYgEEf3KMcnCRqC0U1tG/8nU7mHp0tamvrKplc9vxJtxMwD8gSr0y VgltTX46dNyowtl6EBO36bBaB2FdUle1IStDJ77gPEB3BdZ5/iqSxtdozHNrj7KSFonZ JHyJfgmWtxNsl94h7/ymnCvNyWTP6bCwjFbtUnbvbOcxiKok2lFhoziAj4NWb/W4V27E 5E/EP6l7VT+CCjgoP0OdRz/+G6O28JL17kNE5GpOc8asrrVYwb+QUR/6q2Y0J+6JxGlQ 5E/DNDgGJ8E4GTmThUkphfhK/EjAvvbv/APLRrrpb7zet5rDNbxtLJ7tvn4X+kSv9NDe PvuA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux-foundation.org header.s=google header.b=TlWPo6jn; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a1si119346oie.70.2020.03.25.11.27.55; Wed, 25 Mar 2020 11:28:09 -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=@linux-foundation.org header.s=google header.b=TlWPo6jn; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727539AbgCYS1C (ORCPT + 99 others); Wed, 25 Mar 2020 14:27:02 -0400 Received: from mail-lj1-f193.google.com ([209.85.208.193]:45211 "EHLO mail-lj1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727129AbgCYS1B (ORCPT ); Wed, 25 Mar 2020 14:27:01 -0400 Received: by mail-lj1-f193.google.com with SMTP id t17so3561845ljc.12 for ; Wed, 25 Mar 2020 11:26:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=5X6cqBMAIN38Vpa0k6I9LJbV/IM/WQtUqFEnNCnTPNY=; b=TlWPo6jnLSxn8p8IHTlkVwEwL3/bAuCByG1NNq6gwkhFHy+98AmzLxQujgt6EH9gbF VcqyVwF6ZKpy9+4bUUmP4yT6mL6eVT3nwrrQriNR3oKU9S/kvgiCbtQV77gvaeTWDbpA CTniS/587iNKbgs/L/iiHAANJVJIvMl/L1U5M= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=5X6cqBMAIN38Vpa0k6I9LJbV/IM/WQtUqFEnNCnTPNY=; b=N4F4i1lPWJdqK9jWWswLLbCj/H8Pl6hr1FG3TtJQZCiidvqGth/IZSThWnO2Q/+VS+ uWFcW9/HEQTAnOWtOFR1Ut1Q/yIAiwsOfPgNySpNYySLxHfAc1ZRLvv6cg7oYTFMifv0 VDNJBhKKGnsYmJWf423Owl6gKcYI0V+Ri0KDA3U/wTQjcXDYoPu6wNzK7VeMQ14TEsrh MF2VSWds+EUPV9BlyULDM2NOghbs5Eulgg/smVp7vTVMkQL5FB1V/8HCIVdBIDFZmiYR PSGYmJ3qLmWo/s/jG4eVGG0nQwRr5bi8/XRNYh0+2nJRIbn1ZIeAsu02oQ91ceNIMHYg WXiA== X-Gm-Message-State: AGi0Puap0s+2mlVET1D7rQfG1L3JwKygSNIChmVpP8Qm5PNbmA2iWPP1 CV1CKYHqz1ulBHqZ65WY+Bq5uA7o7BQ= X-Received: by 2002:a2e:7401:: with SMTP id p1mr2778448ljc.279.1585160816316; Wed, 25 Mar 2020 11:26:56 -0700 (PDT) Received: from mail-lj1-f178.google.com (mail-lj1-f178.google.com. [209.85.208.178]) by smtp.gmail.com with ESMTPSA id i2sm846999lfg.23.2020.03.25.11.26.54 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 25 Mar 2020 11:26:55 -0700 (PDT) Received: by mail-lj1-f178.google.com with SMTP id q19so3564071ljp.9 for ; Wed, 25 Mar 2020 11:26:54 -0700 (PDT) X-Received: by 2002:a2e:b4cb:: with SMTP id r11mr2853613ljm.201.1585160814464; Wed, 25 Mar 2020 11:26:54 -0700 (PDT) MIME-Version: 1.0 References: <86D80EA7-9087-4042-8119-12DD5FCEAA87@amacapital.net> <20200324170306.GU20696@hirez.programming.kicks-ass.net> <20200325181339.GK20713@hirez.programming.kicks-ass.net> In-Reply-To: <20200325181339.GK20713@hirez.programming.kicks-ass.net> From: Linus Torvalds Date: Wed, 25 Mar 2020 11:26:38 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [RESEND][PATCH v3 14/17] static_call: Add static_cond_call() To: Peter Zijlstra Cc: Andy Lutomirski , "the arch/x86 maintainers" , Linux Kernel Mailing List , Steven Rostedt , Masami Hiramatsu , Daniel Bristot de Oliveira , Jason Baron , Thomas Gleixner , Ingo Molnar , Nadav Amit , Peter Anvin , Andrew Lutomirski , Ard Biesheuvel , Josh Poimboeuf Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Mar 25, 2020 at 11:13 AM Peter Zijlstra wrote: > > To clarify; the problem is a task getting preempted with its RIP at the > RET. Then when we rewrite the text to be a CALL/JMP.d32 it will read > garbage (1 byte into the displacement of the instruction) instead of a > RET when it resumes. Yeah, I realized it when you mentioned it. I was trying to come up with some clever way to avoid it, but can't see anything. I can come up with insane models - you could replace the xor;ret sequence with a jump to a trampoline where you've aligned the target trampoline so that the third byte in the "jmp xxx" remains a 'ret' instruction. Then replace _that_ one with a "call_rcu()" callback. Wild handwaving of "I'm sure this could be made to work". But nothing remotely sane comes to mind. Linus