Received: by 10.223.164.202 with SMTP id h10csp69226wrb; Tue, 7 Nov 2017 03:04:04 -0800 (PST) X-Google-Smtp-Source: ABhQp+QBQU5ukzOy4iXOeU+tFkojTwxfArs/u32MMNljlxQ5P1UayruiTg+WDYSPITKlq8WkIgKk X-Received: by 10.84.129.228 with SMTP id b91mr17446211plb.56.1510052644109; Tue, 07 Nov 2017 03:04:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1510052644; cv=none; d=google.com; s=arc-20160816; b=lSp5W/fJbP9t72OfHCQ2NR/vDkSuH8jHncVZmhWNeFthvFh39DcI2jnn9X89PJplIE tE4MhQEL72srRjzgj7+pI2Gc4mGk9zvhhYV9dm+TCp6ohZeI+aOVzA/6oCCqxSIWHb8/ E8YeaL3uJB7z0DncGMZT4BaetEhDsa9T618GKq+pAULMnjJhVxaTTtB1+rxn7rz/iGf2 unFIXxPyG7q4diuluhyJhSpRGu+vkW0vSU9IoOC5TnJRFjflPiqKWy3eF7ZknNCJE/g7 anesiip/J2EtUj8AOyAyQTUYHVivDepDFZqKkoIpbghiIEUtg6U0F9ewBeMBGk61alXN gQBQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dmarc-filter :arc-authentication-results; bh=5LdKB3EuG1iSlKOa3nyB72/ZkjFH7QtOV5tMTFnRnOg=; b=U37JRxLbNwvO4kmu+ysoHA67BHRHJPndArbvNufsoc7+Z7jynU8CdiqQhCmTC4FwQK Ag/Dyk1vL7mGgtdasth3541iogTUZpSIoCQ9dqHpfhnSmV8k/k65XRdIrjjvojllHW9W hLtd8/CJOaLMg5QJf0kS8vCtgkT4jfa5Aodns4d2CMnSOx2W5yS4XoyXCBfAMOvKgX0n 1gwrrntbSb0JxZGo4Su4lqCDChzIwuaFf3a+L0jG1FMsW2E3++YHAQohP7HnIFV/M3fM ct1G59TLpGVyc9gCdtApwQ8tL957oscBMeUu0K1cOHtymWTonIZT0S3q2wJsFrtvZUbp yz5A== ARC-Authentication-Results: i=1; mx.google.com; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f9si858763pgt.793.2017.11.07.03.03.51; Tue, 07 Nov 2017 03:04:04 -0800 (PST) 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; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932844AbdKGIP2 (ORCPT + 91 others); Tue, 7 Nov 2017 03:15:28 -0500 Received: from mx1.redhat.com ([209.132.183.28]:46338 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932636AbdKGIP0 (ORCPT ); Tue, 7 Nov 2017 03:15:26 -0500 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 3FC7883F3E; Tue, 7 Nov 2017 08:15:26 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 3FC7883F3E Authentication-Results: ext-mx03.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx03.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=fweimer@redhat.com Received: from oldenburg.str.redhat.com (ovpn-116-28.ams2.redhat.com [10.36.116.28]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 005FA60C94; Tue, 7 Nov 2017 08:15:22 +0000 (UTC) Subject: Re: POWER: Unexpected fault when writing to brk-allocated memory To: Nicholas Piggin Cc: "Aneesh Kumar K.V" , "Kirill A. Shutemov" , linuxppc-dev@lists.ozlabs.org, linux-mm , Andrew Morton , Andy Lutomirski , Dave Hansen , Linus Torvalds , Peter Zijlstra , Thomas Gleixner , linux-arch@vger.kernel.org, Ingo Molnar , Linux Kernel Mailing List References: <20171105231850.5e313e46@roar.ozlabs.ibm.com> <871slcszfl.fsf@linux.vnet.ibm.com> <20171106174707.19f6c495@roar.ozlabs.ibm.com> <24b93038-76f7-33df-d02e-facb0ce61cd2@redhat.com> <20171106192524.12ea3187@roar.ozlabs.ibm.com> <546d4155-5b7c-6dba-b642-29c103e336bc@redhat.com> <20171107160705.059e0c2b@roar.ozlabs.ibm.com> From: Florian Weimer Message-ID: Date: Tue, 7 Nov 2017 09:15:21 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <20171107160705.059e0c2b@roar.ozlabs.ibm.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Tue, 07 Nov 2017 08:15:26 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/07/2017 06:07 AM, Nicholas Piggin wrote: > First of all, using addr and MAP_FIXED to develop our heuristic can > never really give unchanged ABI. It's an in-band signal. brk() is a > good example that steadily keeps incrementing address, so depending > on malloc usage and address space randomization, you will get a brk() > that ends exactly at 128T, then the next one will be > > DEFAULT_MAP_WINDOW, and it will switch you to 56 bit address space. Note that this brk phenomenon is only a concern for some currently obscure process memory layouts where the heap ends up at the top of the address space. Usually, there is something above it which eliminates the possibility that it can cross into the 128 TiB wilderness. So the brk problem only happens on some architectures (e.g., not x86-64), and only with strange ways of running programs (explicitly ld.so invocation and likely static PIE, too). > So unless everyone else thinks I'm crazy and disagrees, I'd ask for > a bit more time to make sure we get this interface right. I would > hope for something like prctl PR_SET_MM which can be used to set > our user virtual address bits on a fine grained basis. Maybe a > sysctl, maybe a personality. Something out-of-band. I don't wan to > get too far into that discussion yet. First we need to agree whether > or not the code in the tree today is a problem. There is certainly more demand for similar functionality, like creating mappings below 2 GB/4 GB/32 GB, and probably other bit patterns. Hotspot would use this to place the heap with compressed oops, instead of manually hunting for a suitable place for the mapping. (Essentially, 32-bit pointers on 64-bit architectures for sufficiently small heap sizes.) It would perhaps be possible to use the hints address as a source of the bit count, for full flexibility. And the mapping should be placed into the upper half of the selected window if possible. MAP_FIXED is near-impossible to use correctly. I hope you don't expect applications to do that. If you want address-based opt in, it should work without MAP_FIXED. Sure, in obscure cases, applications might still see out-of-range addresses, but I expected a full opt-out based on RLIMIT_AS would be sufficient for them. Thanks, Florian From 1583717217542378576@xxx Fri Nov 10 21:47:14 +0000 2017 X-GM-THRID: 1583486832070932068 X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread