From owner-freebsd-toolchain@freebsd.org Mon Mar 30 07:55:06 2020 Return-Path: Delivered-To: freebsd-toolchain@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 59B4427A25E for ; Mon, 30 Mar 2020 07:55:06 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from mailman.nyi.freebsd.org (mailman.nyi.freebsd.org [IPv6:2610:1c1:1:606c::50:13]) by mx1.freebsd.org (Postfix) with ESMTP id 48rPrQ5LQfz3yp0 for ; Mon, 30 Mar 2020 07:55:01 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: by mailman.nyi.freebsd.org (Postfix) id C2C5527A24A; Mon, 30 Mar 2020 07:54:55 +0000 (UTC) Delivered-To: toolchain@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B656D27A249 for ; Mon, 30 Mar 2020 07:54:55 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 48rPr46P3Hz3yjH for ; Mon, 30 Mar 2020 07:54:44 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kib@localhost [127.0.0.1]) by kib.kiev.ua (8.15.2/8.15.2) with ESMTPS id 02U7sS8i030805 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Mon, 30 Mar 2020 10:54:31 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 02U7sS8i030805 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id 02U7sSra030804; Mon, 30 Mar 2020 10:54:28 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Mon, 30 Mar 2020 10:54:28 +0300 From: Konstantin Belousov To: Paul Floyd Cc: "toolchain@freebsd.org" Subject: Re: x86 process memory map Message-ID: <20200330075428.GG1992@kib.kiev.ua> References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on tom.home X-Rspamd-Queue-Id: 48rPr46P3Hz3yjH X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=fail reason="No valid SPF, No valid DKIM" header.from=gmail.com (policy=none); spf=softfail (mx1.freebsd.org: 2001:470:d5e7:1::1 is neither permitted nor denied by domain of kostikbel@gmail.com) smtp.mailfrom=kostikbel@gmail.com X-Spamd-Result: default: False [-2.00 / 15.00]; ARC_NA(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; DMARC_POLICY_SOFTFAIL(0.10)[gmail.com : No valid SPF, No valid DKIM,none]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; IP_SCORE(0.00)[ip: (-3.08), ipnet: 2001:470::/32(-4.65), asn: 6939(-3.59), country: US(-0.05)]; MIME_GOOD(-0.10)[text/plain]; HAS_XAW(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; R_SPF_SOFTFAIL(0.00)[~all]; IP_SCORE_FREEMAIL(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RBL_SEM_IPV6_FAIL(0.00)[1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0.7.e.5.d.0.7.4.0.1.0.0.2.bl.ipv6.spameatingmonkey.net:query timed out]; RCPT_COUNT_TWO(0.00)[2]; RBL_SPAMHAUS_FAIL(0.00)[1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0.7.e.5.d.0.7.4.0.1.0.0.2.khpj7ygk5idzvmvt5x4ziurxhy.zen.dq.spamhaus.net:query timed out]; FREEMAIL_TO(0.00)[wanadoo.fr]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-toolchain@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Maintenance of FreeBSD's integrated toolchain List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Mar 2020 07:55:06 -0000 On Mon, Mar 30, 2020 at 08:18:08AM +0200, Paul Floyd wrote: > When I run procstat on a small 32bit app that just calls sleep (on FreeBSD 12.1 amd64) then I see at the end of the map > > 22353 0xfbffe000 0xfffde000 --- 0 0 0 0 ----- -- > 22353 0xfffde000 0xffffe000 rw- 3 3 1 0 ---D- df > 22353 0xffffe000 0xfffff000 r-x 1 1 94 0 ----- ph > > I think the last block is for signal handlers and the last but one block is the user stack. > But what is between 0xfbffe000 and 0xfffde000? It's a bit less than 64Mbytes. This has no protection flags, no resident pages or references and no type. My guess is that this is some sort of guard page for the user stack. > It is the stack grow area and the guard, combined. Read the mmap(2), in particular explanation of MAP_STACK and MAP_GUARD. > Can anyone confirm this? Also, does anyone know if this has been present in FreeBSD for a long time? My copy of “The Design and Implementation of FreeBSD" 2e doesn't show anything between stack and shared libraries. > > A+ > Paul > > > _______________________________________________ > freebsd-toolchain@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain > To unsubscribe, send any mail to "freebsd-toolchain-unsubscribe@freebsd.org"