Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp2417162pxf; Sat, 27 Mar 2021 10:45:17 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw8lJL8XoUz8nq2uaDeQNrghAIuTDVrYYHVAi943PUrBw8RTm2Py9OTKJ/OLNxBetKZzW1s X-Received: by 2002:a17:906:7c48:: with SMTP id g8mr21873257ejp.138.1616867116903; Sat, 27 Mar 2021 10:45:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1616867116; cv=none; d=google.com; s=arc-20160816; b=kJ6urLnABQgn0jDPW0KZG0mGQnCCQXAhvI0z60HJCr+bdYPr/+SWf62bPOdXCjWR3E 7njGYRpVeSsGoeisjGRf38tJau1xQNKdccuhyH9jCCABbs8aYcvHQfkFA5bVs0JcY9sS b3qGidH/z2ETQ8ceWs/rqRhbAyuaneAlwqGI2V+9pOHInpTD6fTzvdF0qQy05tT9jPf1 vc1kBHCrqxw3jElVKSVq7LWLafANqmg0P+haif5fvFL3GYBGIkRM6C7Tw9pJi8hA1c82 jVbvqn0enMfQmwBAArP/f22v3GZWXwtIZFuoEOZjo7Ko9v3hPzmwqOFjvH+tL9hNB/aU OL8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dkim-signature; bh=yNxslCOJwZYx+SbKa/upP8KV5ZgrhKAsdDOHz5EQWWM=; b=eJ0xOQ/jA1T5J5mTPjoWweaJYYHcO2j2XUgbt0ner93W6DeeJi2xRs4VsObYmzb43S bbwNXcGsD+BXwQS5UhgDvXbgNGkd6d+4SiRARlT7oxIAIT+hzosO21TMIkAElCVCnKhq RZVFDBcnXnj9/+nbf4r8CONgr0EOq0+Upo5r5D66+1woq2pp3bZTEI2/FeBoOeZlbmSc jcvTbdYfWl3VTQwwh7SVGzMpV9WqOZsmtRhcQXTBlh8Hwv93YHAhPnB3DfajLRGUm0z0 tgC6zA1/qnk5KFSNKgO0q1iqD5FfHjp1WBZuevsuW0Q/LYIkHSPFHft6VsMhvUFJTVjr zuaQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@arista.com header.s=google header.b=iOVm2RbQ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=arista.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z16si9647506edc.65.2021.03.27.10.44.54; Sat, 27 Mar 2021 10:45:16 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@arista.com header.s=google header.b=iOVm2RbQ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=arista.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230197AbhC0Rnk (ORCPT + 99 others); Sat, 27 Mar 2021 13:43:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33892 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230015AbhC0RnI (ORCPT ); Sat, 27 Mar 2021 13:43:08 -0400 Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com [IPv6:2a00:1450:4864:20::332]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 25187C0613B1 for ; Sat, 27 Mar 2021 10:43:08 -0700 (PDT) Received: by mail-wm1-x332.google.com with SMTP id g20so4530258wmk.3 for ; Sat, 27 Mar 2021 10:43:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arista.com; s=google; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=yNxslCOJwZYx+SbKa/upP8KV5ZgrhKAsdDOHz5EQWWM=; b=iOVm2RbQPCV69seaL+izj3Bh/O+c+idV03XMwCDg2iHiirkdVubBYmkj553VX0J2ok zuShUO2DF47DlNjsapux1l2sQoDajBgT4RsWa0+pLHFe1u0Eac7PzMI+m1CikXRkfEF8 yJ6kcQ1Lq1RVadI5LDrJyQoIPUtJJIttewRzCdHHO7cj1wDHOQZPUhQ5x9A9LHV0So3q z+7xgFoIjzTtqpO8Y2UHpyiQMXt/0DZbW6i3U8ogktx26lN0NKVhMkSHCoMHeQA8pNNk oCcqTNHyUyw8Ld7r3TgJyqc2luHHrk7NhfY3V1NB7/KRyhY8zlZ+lajtJbOSqXt3ag4V 7jOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=yNxslCOJwZYx+SbKa/upP8KV5ZgrhKAsdDOHz5EQWWM=; b=G0886kEkV3v4epU309oOj/AwJGCd0Y4cgKxCrOzrrvT+mpsj0u0zwMRMAC9GN/lJlE FMVgIqL5R5Pt+yZ77A4MJJfSJsDHq4yyKKAf/zQV89rHH909wUvKZMk2l/kqodl0ALZX eLnoG+sbCzkKZMoxI8ZVjMt9DbibsIM0xjn18+wp8lNvCNgwI5ylb+mXkVvbaaKd6wGh wFuHBWKL78CIpDXy+BofjHc6BUYFU3J/S5ZyKI5aoR6hfr7V8E8lBhp39Q6qWsq7j6g0 t1cPrwPOVKsU0HSbJ/4rcsifg8p6sIncAvVkX7zxuntM517L9DKAybG4BXVYsJ7sgVIC /BGQ== X-Gm-Message-State: AOAM532QGFD3uYUipTHutqDDUxGYC6Et+uoXnn0frpxIP+kom+4QZJn+ oJoHjTt/UxlDobE2oVmPIXoZgg== X-Received: by 2002:a05:600c:3553:: with SMTP id i19mr18021218wmq.1.1616866986716; Sat, 27 Mar 2021 10:43:06 -0700 (PDT) Received: from ?IPv6:2a02:8084:e84:2480:228:f8ff:fe6f:83a8? ([2a02:8084:e84:2480:228:f8ff:fe6f:83a8]) by smtp.gmail.com with ESMTPSA id u20sm20705443wru.6.2021.03.27.10.43.05 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 27 Mar 2021 10:43:06 -0700 (PDT) Subject: Re: [PATCH] powerpc/vdso: Separate vvar vma from vdso To: Christophe Leroy , linux-kernel@vger.kernel.org Cc: Dmitry Safonov <0x7f454c46@gmail.com>, Andrei Vagin , Andy Lutomirski , Benjamin Herrenschmidt , Laurent Dufour , Michael Ellerman , Paul Mackerras , linuxppc-dev@lists.ozlabs.org, stable@vger.kernel.org References: <20210326191720.138155-1-dima@arista.com> <52562f46-6767-ba04-7301-04c6209fe4f1@csgroup.eu> From: Dmitry Safonov Message-ID: <1b1494a8-da80-e170-78fa-48dfb3226e75@arista.com> Date: Sat, 27 Mar 2021 17:43:05 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 MIME-Version: 1.0 In-Reply-To: <52562f46-6767-ba04-7301-04c6209fe4f1@csgroup.eu> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Christophe, On 3/27/21 5:19 PM, Christophe Leroy wrote: [..] >> I opportunistically Cc stable on it: I understand that usually such >> stuff isn't a stable material, but that will allow us in CRIU have >> one workaround less that is needed just for one release (v5.11) on >> one platform (ppc64), which we otherwise have to maintain. > > Why is that a workaround, and why for one release only ? I think the > solution proposed by Laurentto use the aux vector AT_SYSINFO_EHDR should > work with any past and future release. Yeah, I guess. Previously, (before v5.11/power) all kernels had ELF start at "[vdso]" VMA start, now we'll have to carry the offset in the VMA. Probably, not the worst thing, but as it will be only for v5.11 release it can break, so needs separate testing. Kinda life was a bit easier without this additional code. >> I wouldn't go as far as to say that the commit 511157ab641e is ABI >> regression as no other userspace got broken, but I'd really appreciate >> if it gets backported to v5.11 after v5.12 is released, so as not >> to complicate already non-simple CRIU-vdso code. Thanks! >> >> Cc: Andrei Vagin >> Cc: Andy Lutomirski >> Cc: Benjamin Herrenschmidt >> Cc: Christophe Leroy >> Cc: Laurent Dufour >> Cc: Michael Ellerman >> Cc: Paul Mackerras >> Cc: linuxppc-dev@lists.ozlabs.org >> Cc: stable@vger.kernel.org # v5.11 >> [1]: https://github.com/checkpoint-restore/criu/issues/1417 >> Signed-off-by: Dmitry Safonov >> Tested-by: Christophe Leroy > > I tested it with sifreturn_vdso selftest and it worked, because that > selftest doesn't involve VDSO data. Thanks again on helping with testing it, I appreciate it! > But if I do a mremap() on the VDSO text vma without remapping VVAR to > keep the same distance between the two vmas, gettimeofday() crashes. The > reason is that the code obtains the address of the data by calculating a > fix difference from its own address with the below macro, the delta > being resolved at link time: > > .macro get_datapage ptr >     bcl    20, 31, .+4 > 999: >     mflr    \ptr > #if CONFIG_PPC_PAGE_SHIFT > 14 >     addis    \ptr, \ptr, (_vdso_datapage - 999b)@ha > #endif >     addi    \ptr, \ptr, (_vdso_datapage - 999b)@l > .endm > > So the datapage needs to remain at the same distance from the code at > all time. > > Wondering how the other architectures do to have two independent VMAs > and be able to move one independently of the other. It's alright as far as I know. If userspace remaps vdso/vvar it should be aware of this (CRIU keeps this in mind, also old vdso image is dumped to compare on restore with the one that the host has). Thanks, Dmitry