Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp1337029yba; Thu, 9 May 2019 15:00:52 -0700 (PDT) X-Google-Smtp-Source: APXvYqz9blZP7P5duMVhXzamWnaFS32uBHZpCXNNjSa0aNvooY3jWyTTJXuBg5UHU7g79LWSExN1 X-Received: by 2002:a17:902:20cb:: with SMTP id v11mr8338490plg.324.1557439252152; Thu, 09 May 2019 15:00:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557439252; cv=none; d=google.com; s=arc-20160816; b=vPc2MCgmB7vA9ujKpKIpUN1Mn1SrUgOG8h6O1OTKwM5FULMZYeG04cgkAUkSDXAALH 7JvOR5s49fzrhs/Tn+oI8LThHpUiOFlLdGtzLY4z6v11Z6bGsOj5b4vtY5boF2FJFJYW DxoVpPbYOBVKmtRCLMNz6VKtfO7cHcCBXlaOMVmi2or55DZROSiOEq1G7CFEf4I0EwsR DdplTh02ctSq3ac827uX3OFnozBjoUdnNHAYDN34l5GNdIJ9xM2iE3ItK6nySklytFFN RAImhQDlW0seN/UXnBzvmonfQIHta03uNLZcCoJB+7W+tpggOZC6DORk44PC7p1OT2og 2Gvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=8FXPIq1hegck4+LUfvPI3e12GgUDRXQleew5eHpUJZ4=; b=TbIhEreNdShRRR8fYsIRq02mHctwNfi7Xepc0ln32duBrOkbwsfH784+fNkl6nXYw/ wpKnn5EeuWHXLtfK9DZ43Z6yYzXOqRxNzn/7IPd/HOD1v3voFNa29eSASibPpWF69fne KiBn8o0wG0kUZYdE0oNM2bIeliaj0js6gZDYAQk4xYpYC6+md8RDSOTFPi/6HCEiL1jO jgGzzUxQozVIQ4jAtztC+9haK7mEGvk7A/5oGfmhwCaZQpjjTSP89E4R1qX6ZUaWGWIw 8f6piIo+M8RsRLC9CUkXOkorkumoTaznpbRa1z3K4si2e8c69yYUhys0pkDf3h1lSNoN CFPA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=GWU18C7Y; 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=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h189si4606293pfc.283.2019.05.09.15.00.35; Thu, 09 May 2019 15:00:52 -0700 (PDT) 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; dkim=pass header.i=@chromium.org header.s=google header.b=GWU18C7Y; 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=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726788AbfEIV6Y (ORCPT + 99 others); Thu, 9 May 2019 17:58:24 -0400 Received: from mail-ua1-f66.google.com ([209.85.222.66]:35303 "EHLO mail-ua1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726721AbfEIV6Y (ORCPT ); Thu, 9 May 2019 17:58:24 -0400 Received: by mail-ua1-f66.google.com with SMTP id g16so1397189uad.2 for ; Thu, 09 May 2019 14:58:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=8FXPIq1hegck4+LUfvPI3e12GgUDRXQleew5eHpUJZ4=; b=GWU18C7YaAP+YZQi3muCAvs0KMaXaiY3pUYWpt1UWv65qwcRPAYuQhtt69DqUxV4f7 iITK0m73QzNWHzEWWQTtFcEvXgMsGCKqzSf++mwGmIpww1ehMyP+vzRjgC9S6IRVORaW A27qAJi5bmbkLBWUdmMflVPq+oxdZCA0YqEcw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=8FXPIq1hegck4+LUfvPI3e12GgUDRXQleew5eHpUJZ4=; b=seD9Qn4GPVhiAZoObdKrpq/6N5f/781hedOHATgvoLN/RCJiKXB6KbY4nyG8h5+k2F le7yGTJM0bF69HR+TjrPtYrvsJGVnuj0EFLyaCU43Wv45BE6PZuOzQ+WgyRR7sAYvFgd P0sScxzfb29Kp8GXGqM91k70nPMsTrZuK7NNY5+4+UAvL5ttpaYRXi4V17E8kMIdKuAC T6QGPUqSv+jFoD4z/BQmXVP4QaznUNJQJiXVdlX8UHxpnL8nElKm8MpEXt4v6d5Oy8b9 eYpsC6LFSSYZshnKvNXMIwmRVKelWEyKvoJjiPciDi28cLi0G7dIL8DHKshDUatpWSoH LsBg== X-Gm-Message-State: APjAAAURP7zZ5473jyGP8I15zq/WImP18WsURDSuY12mm0g5pFdlX09c +HX1r1f64XmfKwX0+GIWMLcrcMoSoIg= X-Received: by 2002:ab0:720a:: with SMTP id u10mr229651uao.22.1557439102362; Thu, 09 May 2019 14:58:22 -0700 (PDT) Received: from mail-vs1-f53.google.com (mail-vs1-f53.google.com. [209.85.217.53]) by smtp.gmail.com with ESMTPSA id p44sm1776795uae.7.2019.05.09.14.58.21 for (version=TLS1_3 cipher=AEAD-AES128-GCM-SHA256 bits=128/128); Thu, 09 May 2019 14:58:21 -0700 (PDT) Received: by mail-vs1-f53.google.com with SMTP id w13so2420838vsc.4 for ; Thu, 09 May 2019 14:58:21 -0700 (PDT) X-Received: by 2002:a67:de07:: with SMTP id q7mr3837804vsk.66.1557439100581; Thu, 09 May 2019 14:58:20 -0700 (PDT) MIME-Version: 1.0 References: <20190507045433.542-1-hsinyi@chromium.org> In-Reply-To: From: Kees Cook Date: Thu, 9 May 2019 14:58:07 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH] arm64: add support for rng-seed To: Hsin-Yi Wang Cc: Rob Herring , "moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE" , Mark Rutland , Catalin Marinas , Will Deacon , Frank Rowand , Andrew Morton , Mike Rapoport , Michal Hocko , Ard Biesheuvel , James Morse , Andrew Murray , devicetree , "linux-kernel@vger.kernel.org" , Stephen Boyd , Architecture Mailman List , Kees Cook Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, May 9, 2019 at 1:00 AM Hsin-Yi Wang wrote: > This early added entropy is also going to be used for stack canary. At > the time it's created there's not be much entropy (before > boot_init_stack_canary(), there's only add_latent_entropy() and > command_line). > On arm64, there is a single canary for all tasks. If RNG is weak or > the seed can be read, it might be easier to figure out the canary. With newer compilers[1] there will be a per-task canary on arm64[2], which will improve this situation, but many architectures lack a per-task canary, unfortunately. I've also recently rearranged the RNG initialization[3] which should also help with better entropy mixing. But each of these are kind of band-aids against not having sufficient initial entropy, which leaves the canary potentially exposed. -Kees [1] https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=359c1bf35e3109d2f3882980b47a5eae46123259 [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0a1213fa7432778b71a1c0166bf56660a3aab030 [3] https://git.kernel.org/pub/scm/linux/kernel/git/tytso/random.git/commit/?h=dev&id=d55535232c3dbde9a523a9d10d68670f5fe5dec3 -- Kees Cook