From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754030AbaETSjN (ORCPT ); Tue, 20 May 2014 14:39:13 -0400 Received: from mail-la0-f48.google.com ([209.85.215.48]:35181 "EHLO mail-la0-f48.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750852AbaETSjK (ORCPT ); Tue, 20 May 2014 14:39:10 -0400 Date: Tue, 20 May 2014 22:39:07 +0400 From: Cyrill Gorcunov To: Andy Lutomirski Cc: "H. Peter Anvin" , X86 ML , Andrew Morton , Sasha Levin , "linux-mm@kvack.org" , Dave Jones , LKML , Pavel Emelyanov Subject: Re: [PATCH 3/4] x86,mm: Improve _install_special_mapping and fix x86 vdso naming Message-ID: <20140520183907.GM2185@moon> References: <276b39b6b645fb11e345457b503f17b83c2c6fd0.1400538962.git.luto@amacapital.net> <20140520172134.GJ2185@moon> <20140520174759.GK2185@moon> <20140520180104.GL2185@moon> <537B9C6D.7010705@zytor.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, May 20, 2014 at 11:24:56AM -0700, Andy Lutomirski wrote: > On Tue, May 20, 2014 at 11:18 AM, H. Peter Anvin wrote: > > On 05/20/2014 11:01 AM, Cyrill Gorcunov wrote: > >>> > >>> This patch should fix this issue, at least. If there's still a way to > >>> get a native vdso that doesn't say "[vdso]", please let me know/ > >> > >> Yes, having a native procfs way to detect vdso is much preferred! > >> > > > > Is there any path by which we can end up with [vdso] without a leading > > slash in /proc/self/maps? Otherwise, why is that not "native"? > > Dunno. But before this patch the reverse was possible: we can end up > with a vdso that doesn't say [vdso]. I fear I don't understand the phrase "leading slash in /proc/self/maps". Peter could you rephrase please? > >>>> The situation get worse when task was dumped on one kernel and > >>>> then restored on another kernel where vdso content is different > >>>> from one save in image -- is such case as I mentioned we need > >>>> that named vdso proxy which redirect calls to vdso of the system > >>>> where task is restoring. And when such "restored" task get checkpointed > >>>> second time we don't dump new living vdso but save only old vdso > >>>> proxy on disk (detecting it is a different story, in short we > >>>> inject a unique mark into elf header). > >>> > >>> Yuck. But I don't know whether the kernel can help much here. > >> > >> Some prctl which would tell kernel to put vdso at specifed address. > >> We can live without it for now so not a big deal (yet ;) > > > > mremap() will do this for you. > > Except that it's buggy: it doesn't change mm->context.vdso. For > 64-bit tasks, the only consumer outside exec was arch_vma_name, and > this patch removes even that. For 32-bit tasks, though, it's needed > for signal delivery. yes, fwiw we can deal with it currently but i'm not sure yet about compat case simply because didn't look presicely.