Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp1799401yba; Fri, 10 May 2019 01:00:14 -0700 (PDT) X-Google-Smtp-Source: APXvYqz2ktlb1aniFFsxsdhqAFh5m7R2v6uIYYrnzP7sG4prlZhE8rK+b7PybNvl9BMZ43P0XKGL X-Received: by 2002:a63:4562:: with SMTP id u34mr11522865pgk.354.1557475213927; Fri, 10 May 2019 01:00:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557475213; cv=none; d=google.com; s=arc-20160816; b=JLoNCt/EAkTn5vPb1iWAvUKSt1K5acDD56LfBXAQYEZOR05oDQWUVFk/CBa1NoXHbU 6wR1TgtgPJab21JJekZog3Lv7akmOkTC7EAvkspGRPGVeHNqpTIabsLRCg8SDX3rIvQA BuDxV5eB8LUSRUYmGExB8aLnyRqCyItF+WPAKEOkkXsqIBbPL0tNCi5Qv1MaEm0hvmMz +s8CX4kaNnVrFnVT1uq32Q0p117K1yHh4nfaZkFhL9cTB34z6ccHhs9iG3ITK4XgctBZ qi6MFsurBZiwJyVBDtpX3MdBdA0/50bxJZ5FjsESrU45+0BPvWX+k26JVe15BV023Mrg XQIQ== 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=YPIdmEziEMHUxazGM82nUeKFs82CMeVb0svBlAIM9mc=; b=Ek3vKerjAGOm8vznyjsOk/M/LRWWd4OJ/vsELL0jl/MCfAUCf5n59+lGSHu9t7Fk5n 2TLCOb9wd+U8ZRf4hbA2/GWJP/FyZw0M+eJL1H4Zsg9HdbtkkZw/eX+z7iSuw3X9ZnG0 bl1GsoRitXIDt5bt7brNSn+2o0enhuszppPmg60xcidk5R4nH7+5AaAvYiyMRgOYkOKi 6F8UcrQKSMnknTjxygH5ZjSe5pFgoUb54h7m9d2fbLofi3KFx4RO1GSi6MoSvyfY2nRT +gPNGI1f6CN3gsKrZQAzyMF3bH6JCVJBD5sIuNhopKG8Jsb+Q/7OslDN3tnqxlirM4sT Ofzg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=YOQP0dts; 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 k1si6570100pgl.66.2019.05.10.00.59.55; Fri, 10 May 2019 01:00:13 -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=YOQP0dts; 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 S1727069AbfEJHh6 (ORCPT + 99 others); Fri, 10 May 2019 03:37:58 -0400 Received: from mail-qk1-f195.google.com ([209.85.222.195]:44017 "EHLO mail-qk1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726981AbfEJHh6 (ORCPT ); Fri, 10 May 2019 03:37:58 -0400 Received: by mail-qk1-f195.google.com with SMTP id z6so2244184qkl.10 for ; Fri, 10 May 2019 00:37:57 -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=YPIdmEziEMHUxazGM82nUeKFs82CMeVb0svBlAIM9mc=; b=YOQP0dtsuHdYUa3VJGsw06uyx6HBDRcu7CqZFjC6R74X5SCqFH/fbolbZ4NikUGBOB 01VRHlTKWDTKyNcqr0mx3OXaYA78NK/XUYGPfVgakaCkbsccPVHl+QvhvJFgRCvxbuDG KJ3D9BUxmIMQh16Ljn7fZFKLA8Vj0mFGbYJho= 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=YPIdmEziEMHUxazGM82nUeKFs82CMeVb0svBlAIM9mc=; b=UVRD8JknDJVK+gNq8kVg+oaCAC/97ThLTM19biHKnyNa+N83KBl54EowrJFEMujFLK OmO38nopW3g59yDdOtPK5HOrGEaAowlCKuDZTnG9Rg/7qmV2FdqTr+HXpaCALRdXcdDh i35CWEn/E3twO372DTSljHhwXuc89DEXWG3Hy9T8RCX0yUePKj8zBTMq5Z4jenXp8KXb IoDplnGFqxZDVUHGE4V3D6QLafZBfggWFufqEamh0CtrK+RFO1AXrl6rkgIvhja99qbY sDVfJhz4fRhZ0VV6NiHI6R8WAyGe/rjW/D61kPedz02PhJx3KQp7YUHRkovi3t/3q5Dn HUxw== X-Gm-Message-State: APjAAAXQVWF/jlW7w+iLU99DH8H6qXljYrbAyEOi7HC5k9pe6zQdedbO zmQgjBxBENZWSWPGBi+ZZxJCZRCGBHNVrLyGESDjqA== X-Received: by 2002:a05:620a:1585:: with SMTP id d5mr7444463qkk.212.1557473876989; Fri, 10 May 2019 00:37:56 -0700 (PDT) MIME-Version: 1.0 References: <20190507045433.542-1-hsinyi@chromium.org> <36fab640-b98e-9781-f96f-0ed988a71077@rasmusvillemoes.dk> In-Reply-To: <36fab640-b98e-9781-f96f-0ed988a71077@rasmusvillemoes.dk> From: Hsin-Yi Wang Date: Fri, 10 May 2019 15:37:31 +0800 Message-ID: Subject: Re: [PATCH] arm64: add support for rng-seed To: Rasmus Villemoes 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@vger.kernel.org, "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 Fri, May 10, 2019 at 2:14 PM Rasmus Villemoes wrote: > So, why not just have the bootloader add whatever entropy it has via the > commandline, which already gets mixed in? That requires no kernel > changes, and works for all architectures. > > If anything, perhaps instead of just adding gobbledygook=abc123, make an > official command line parameter (there was talk about this at some > point), and have the kernel overwrite the value with xxx so it's not > visible in /proc/cmdline. > > Rasmus For some arch, besides commandline, we also need to overwrite bootargs in fdt, otherwise it's still visible by /sys/firmware/devicetree/base/chosen/bootargs for example. Originally planned to land v2 as diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c index de893c9616a1..96ea5eba9dd5 100644 --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c @@ -24,6 +24,7 @@ #include #include #include +#include #include /* for COMMAND_LINE_SIZE */ #include @@ -1079,6 +1080,7 @@ int __init early_init_dt_scan_chosen(unsigned long node, const char *uname, { int l; const char *p; + const void *rng_seed; pr_debug("search \"chosen\", depth: %d, uname: %s\n", depth, uname); @@ -1113,6 +1115,15 @@ int __init early_init_dt_scan_chosen(unsigned long node, const char *uname, pr_debug("Command line is: %s\n", (char*)data); + rng_seed = of_get_flat_dt_prop(node, "rng-seed", &l); + if (!rng_seed || l == 0) + return 1; + + /* try to clear seed so it won't be found. */ + fdt_nop_property(initial_boot_params, node, "rng-seed"); + + add_device_randomness(rng_seed, l); + /* break now */ return 1; } (For arm64 RW/RO issue, it will be done in other patch.) If we add parameter into commandline, I think we probably also need to do similar changes here since there are fdt related overwrite.