From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id E628DC48BC4 for ; Sun, 18 Feb 2024 01:25:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5612D6B00A0; Sat, 17 Feb 2024 20:25:37 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 511826B00A1; Sat, 17 Feb 2024 20:25:37 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3D9B56B00A2; Sat, 17 Feb 2024 20:25:37 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 26E7E6B00A0 for ; Sat, 17 Feb 2024 20:25:37 -0500 (EST) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id B81CB160351 for ; Sun, 18 Feb 2024 01:25:36 +0000 (UTC) X-FDA: 81803182272.15.82EE14E Received: from mail-oa1-f46.google.com (mail-oa1-f46.google.com [209.85.160.46]) by imf18.hostedemail.com (Postfix) with ESMTP id DB0041C000A for ; Sun, 18 Feb 2024 01:25:34 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=TmtYCu7n; spf=pass (imf18.hostedemail.com: domain of keescook@chromium.org designates 209.85.160.46 as permitted sender) smtp.mailfrom=keescook@chromium.org; dmarc=pass (policy=none) header.from=chromium.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1708219534; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=VuoBtT2e7jiJsHrgcaJkRcD5zeydER6RGTa0O/OCH9A=; b=bgzPJQDebMHGLOeSOrb+68x+LG1wOfq/qji6NrLKFSQD3cjvybe5e+qlfoRyvzLjje+VLK zWpcdM1wOkguzfzfec0fTC7NkceoeYQtUE00Xe1jwkJ0vWuMxddeG9mBXd5RS4zkLdIyY0 fkG2IgRUuXDWqiEwkhyiQ6uOVKdDlxM= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=TmtYCu7n; spf=pass (imf18.hostedemail.com: domain of keescook@chromium.org designates 209.85.160.46 as permitted sender) smtp.mailfrom=keescook@chromium.org; dmarc=pass (policy=none) header.from=chromium.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1708219534; a=rsa-sha256; cv=none; b=HYSjSr4I8/1GENyzEfdqSYIC2SmguIMNHK4xHiSX8VvNASgVMY0xBvKtc3WpZudsJiBTM8 RiVwfk6uIJz0Leq71OHnJ6P0xW92oyjXdcEyQYbBm6toxqOlqO/F3HiHFWNG1cHYNmqSyB iRcsT7cs5wZba9lN4kIo+6tOdLVIMs8= Received: by mail-oa1-f46.google.com with SMTP id 586e51a60fabf-2185739b64cso1982854fac.0 for ; Sat, 17 Feb 2024 17:25:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1708219534; x=1708824334; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=VuoBtT2e7jiJsHrgcaJkRcD5zeydER6RGTa0O/OCH9A=; b=TmtYCu7nVwsy1eDHDFHkAWB9YY9GAgx7iYxlsENQ9fEeHB5twQ1QBvv5NLNPAj/evf o8bfWwlN/USj5wI7VylwgX6lwEBoIBHmnY2kqS2HfnPoDlNejakMAN1mQ1S/X3Ziyf4y jRCYKoiE2kEuO+8rDAuVJWqIxTCfk+q/nHe3c= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708219534; x=1708824334; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=VuoBtT2e7jiJsHrgcaJkRcD5zeydER6RGTa0O/OCH9A=; b=FM/jf0pSLo2x+YviLvrDbCmbnL92yr/F4uvQpTnCctp4nzafSSyTYZk3bJCA4khWyE 0THfg+7CuX8YF0rmkhoaK7wHkFqtD1wDINk4uqrgruHVnk855Vl9HuubkSn6iUGcFmUd sDhnwiW9B2cMmcvt6IYTBxH3inGjWlAO21cak+3+7hG14zUzSr4dR3NGdvdg+jL8VtRK aaxtdHbKEDloUL+0vwJojbKKUH0g/T+2AsCr70bNU/Ft9A1itefI8rADUIJxrrEsY00I IzUZz9Oe40Dd2eW9H/zbkxS1LGfXhjcdwXIm6oV2A3vnkpyffEF/NCd80SEmbkfSPUgu LsZg== X-Forwarded-Encrypted: i=1; AJvYcCV+xAsIEIyiImCTK8R7mGreaJuT3BpyaYMOhIMvee8fjP7m0yJh7MENsbhzDdBOZtdEOUlgZbAsR73HxhGFb7C4xV4= X-Gm-Message-State: AOJu0YwWPeD8VFqaz7LtSuK3xxrytnTi4HqhIfGagNJZtwkOP86HoMis vhfkHpPITxAoTPFc5JxfrWlrsch17OmCqjLTxKnJNgrLJggvYjTaaZ3b5gWUxQ== X-Google-Smtp-Source: AGHT+IHjBUDoientSzd3b5MGz9AJNkPP1IEibihvCcJEeLidYINReimoOazQTftO263H7irZPdbdug== X-Received: by 2002:a05:6871:453:b0:21e:bbdf:8b94 with SMTP id e19-20020a056871045300b0021ebbdf8b94mr543705oag.37.1708219533979; Sat, 17 Feb 2024 17:25:33 -0800 (PST) Received: from www.outflux.net ([198.0.35.241]) by smtp.gmail.com with ESMTPSA id r135-20020a632b8d000000b005dc4f9cecdcsm2168893pgr.86.2024.02.17.17.25.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 17 Feb 2024 17:25:33 -0800 (PST) Date: Sat, 17 Feb 2024 17:25:32 -0800 From: Kees Cook To: "H. Peter Anvin" Cc: Jiri Kosina , Geert Uytterhoeven , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , Peter Zijlstra , Qi Zheng , Alexandre Ghiti , Al Viro , Christian Brauner , Jan Kara , Eric Biederman , Christophe Leroy , Josh Poimboeuf , "Kirill A. Shutemov" , Rick Edgecombe , Brian Gerst , Bjorn Helgaas , Tony Battersby , linux-kernel@vger.kernel.org, y0un9n132@gmail.com, x86@kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-hardening@vger.kernel.org Subject: Re: [PATCH 0/2] Adjust brk randomness Message-ID: <202402171723.914538A526@keescook> References: <20240217062035.work.493-kees@kernel.org> <05E12A71-D8A4-4E6D-9C9D-024251C1BDC7@zytor.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <05E12A71-D8A4-4E6D-9C9D-024251C1BDC7@zytor.com> X-Rspamd-Queue-Id: DB0041C000A X-Rspam-User: X-Stat-Signature: w71er4ub4s4977kbt3npsmffodyfibib X-Rspamd-Server: rspam01 X-HE-Tag: 1708219534-49793 X-HE-Meta: U2FsdGVkX199qyvq5bd2thNhuOp5KVHMbjxqK0ujxj18431c4LdsZTx7czEz39nlfdmam1iiIfYlX5/eM6puBN1Ia0evgOoNlXGF44gdf+cxtvVVMWEmrlW0zghK/+BfMzC+BvRRdnVODQUUuwLySM0867pYcUcV/6ejJhOyX0YhunIrz8PWENJyZkThmCW5m3kRGExZUQuOB+7UWcdTdJx6x26fU0yTshtrMzLU7H4ps3XkYd5M3CU4aLzGkRif4JnO2nzO9XJpWM9tygATO3CReuqy01TBtqxxOnfA0s6ZxAfxLXbnCrPFKrpqJoB1EDkS+bsl6lta6XmNY5T9KDetBSgQvty3Yx6yddjC9yLgXQO/QesteJ+Xc410SyP+hqpzjpOq9RDEA1MhYv9+2f+c+iEIZTzSfbKYzmiBNbGTFqYRUmjYbzLtxTshePqrSMpNv6o2F4GCBo9fr8aZFGVNDPduJI5Y9e8MifiRaBqnLQL103deJ8LG4iVuZ13sP87OMLsNpHKub56/65cKDv9gPrmkmI5xv0rkwFqwydEf03+omLvtA4/bMx+VjlXj1+wJ2TCvKMx2uDlyN+XkIEejRF+g9evPCkf8QzsjsUsvVzXdqXXTaxPNguW0LgJuz8/a/81GLYJWK4kFl2T6ZqAs7Dtp7NS02eq+cgSEU0JNu4PX4OK82fCfsVsEXD2fLpDErreDlwGW9j2ynmjvEodTMolJ5WJ2oL8eOY3NF9uI0k+duCZZFrP36c2nYo6/yrBYvBz0Agi3LLFnjHhNq68m0hpEEPjoLvsosrVRT+uarBBtn9KBizHlPAoTiFf/e5dBmz839ahcigC2nuGrRScS6IAiHhGmjSRYnQ1K11rEKH+Cf9G58J863LcT7roXycuwSGEjEmWWlT7Z/yGNQxR9VZpN4MRAb4WrSiszQv/bn76DxKebFsBsRMSOW+wRsO7rTK5OKDOQMjWwj6A BvbbP+Ak nnEyAUVZzyUiRBbMLhPLZMnQo6WtcmoSDgaNk/1qGSI0Tq4LZaag6VCMUXiBnKNBJjCIvCuv5zNTOCNo2CFsPiEzd21QXkPminirX16OVMTpymeK2igXHbk0wOW0koFZ477HpxtVKDCU43Cj2n813G2/wAdUTanRo8cI/tpRgEhPNGitlbY0axLcRnsfORqTMSuZN3rQmLAZ64dr5O3eQ1+HDn/XAFT5HXx1+AaTxujpF0H989Dx78fv6nuVNyEya9cbQACmpAQqVWHZq2VTHV9YJIaVNmjZpXgd7Q695/NPNfOtALUtKNEWQ6grfw2u+5GYQ35XNZkstxy379hxiMxCf9cmzkDee1vCwTv57uQppZhnODSfx8LMCWKTbezviKmzO7ee9mEC5ARKIyzidC+pAtxq5Yj6quz5rXDxcQhrI8nU8CqyuiBPLsYsGrS/luOFcyEtxYp9MP2uGmeyVw8rOOwUyIt4Rc4LSMe+6UPTCEvk= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Sat, Feb 17, 2024 at 04:25:33PM -0800, H. Peter Anvin wrote: > On February 16, 2024 10:25:42 PM PST, Kees Cook wrote: > >Hi, > > > >It was recently pointed out[1] that x86_64 brk entropy was not great, > >and that on all architectures the brk can (when the random offset is 0) > >be immediately adjacent to .bss, leaving no gap that could stop linear > >overflows from the .bss. Address both issues. > > > >-Kees > > > >Link: https://lore.kernel.org/linux-hardening/CA+2EKTVLvc8hDZc+2Yhwmus=dzOUG5E4gV7ayCbu0MPJTZzWkw@mail.gmail.com [1] > > > >Kees Cook (2): > > x86: Increase brk randomness entropy on x86_64 > > binfmt_elf: Leave a gap between .bss and brk > > > > arch/x86/kernel/process.c | 5 ++++- > > fs/binfmt_elf.c | 3 +++ > > 2 files changed, 7 insertions(+), 1 deletion(-) > > > > Why do we even have the brk, or perhaps more importantly, why do we use it? Is there any reason whatsoever why glibc uses brk instead of mmap to her heap memory? > > I thought the base of the brk wasn't even known to userspace other than in the form of the image end... AFAIK, it's part of ELF ABI, and the loader uses it only for very early allocations. e.g. it's what shows up as "[heap]" in /proc/$pid/maps. It's also available to any program that wants it still (see "man brk"). I don't think glibc has plans to redirect it. -- Kees Cook