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 phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id DD1CDECAAA1 for ; Fri, 28 Oct 2022 08:34:59 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 8950E84BBA; Fri, 28 Oct 2022 10:34:57 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=weidmueller.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=weidmueller.onmicrosoft.com header.i=@weidmueller.onmicrosoft.com header.b="zFJMrhB7"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 92AC180079; Fri, 28 Oct 2022 10:34:55 +0200 (CEST) Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2079.outbound.protection.outlook.com [40.107.104.79]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id F1D6F84E22 for ; Fri, 28 Oct 2022 10:34:51 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=weidmueller.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=stefan.herbrechtsmeier-oss@weidmueller.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HTwmKmin0SNLoa4+2Q4sTpPDw3T8i38+kIfyxDpwFD8e7/d9GhHZImkvMsrNAQ/ktv4LJYlofzizgmR+otCXs+Lp6M31CzKv8qrwyAsNh7EizlduK/pA+gd7jnFEIYJsDr6kVTtAcwkPyXtYVnFsaE5r8JOXAWD+v0kOhBOM00Z7GyLRPvUtiYpb4SbfEnqBXarMjeg6HRNLqgpeLHpW/u8vbIPnVxVTcBkQDrSNGhJFVWGffFjJV0XgB1fRa//QPhwDhWe3BKS1T+XLws4CiE3IgGOM9rwwaZ8Qc1vOO4dEAi7XyBVQVHWdNBvFNCusjrtS9TTDYURgFIggiwFb3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=bL3cBXwbGLEiLPJOAg8a28C3TEkpHwgzlHkL25o7Ta0=; b=TXEAjz3X+IwtRzSoiD4F4xOfPUGTseyyHw5bpFmNPjh5b2QMju/crDd+EtCApLpZ/IfmyVzLjGODKlYrjRCHZbkFP2NDEDt7idtjBoOgs/FfS/Z2EHYpPJv1zsoCONfvPcEJb0Fhsx+9RPngBF4NFtSfp9m0vMwke3Ld9t6jj+iYlzG6KJd0KxVh4rG60oyYMVICCqNc4/jEOrFDX4AGcOL6yoASCu+xW3VFC88wQNcvKgCIEMSLxf7ATLpjqCPDwq1SjRzRmmh/rbljPRPHERIWp61HIJ4bcEfqJKEYXEl+NGCEX4REbZnCSpziwyb2BQ24tFuRzOxRkfHBJ6lkGA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=weidmueller.com; dmarc=pass action=none header.from=weidmueller.com; dkim=pass header.d=weidmueller.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=weidmueller.onmicrosoft.com; s=selector1-weidmueller-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bL3cBXwbGLEiLPJOAg8a28C3TEkpHwgzlHkL25o7Ta0=; b=zFJMrhB7aoFfpi7NIhtxivGS8Nn9Gp6zTo9q9GSREh2IEjO7x0yYGQGBEnUU8zUlo+T8SkkaQgoGjybNSg9Csrks5gocfKSSu0Zpq1UiO73bCp4s18bWO6CFrGRn5smYUmBzc/BqHu2356XMKNaVvoX1zAW0w9SEz0gqbvv9XvE= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=weidmueller.com; Received: from PAXPR08MB6969.eurprd08.prod.outlook.com (2603:10a6:102:1d8::23) by DB9PR08MB9682.eurprd08.prod.outlook.com (2603:10a6:10:462::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5769.15; Fri, 28 Oct 2022 08:34:49 +0000 Received: from PAXPR08MB6969.eurprd08.prod.outlook.com ([fe80::e20c:3de4:7e41:541a]) by PAXPR08MB6969.eurprd08.prod.outlook.com ([fe80::e20c:3de4:7e41:541a%4]) with mapi id 15.20.5769.015; Fri, 28 Oct 2022 08:34:49 +0000 Message-ID: <18680755-c984-a619-dff8-db8b83a34058@weidmueller.com> Date: Fri, 28 Oct 2022 10:34:47 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.4.0 Subject: Re: [PATCH V2 01/13] env: Complete generic support for writable list To: Jan Kiszka , U-Boot Mailing List , trini@konsulko.com Cc: Joe Hershberger , Marek Vasut References: <941b4847617426ff7e8cc4ce7ed6d5c5012c2440.1664958832.git.jan.kiszka@siemens.com> <13650240-e754-a597-b551-752ce779ebaa@weidmueller.com> <0d3a134e-c065-77e5-3e00-75d84d3fd308@siemens.com> From: Stefan Herbrechtsmeier In-Reply-To: <0d3a134e-c065-77e5-3e00-75d84d3fd308@siemens.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: FR3P281CA0152.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a2::6) To PAXPR08MB6969.eurprd08.prod.outlook.com (2603:10a6:102:1d8::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR08MB6969:EE_|DB9PR08MB9682:EE_ X-MS-Office365-Filtering-Correlation-Id: 106836c6-a1d5-4e9e-c3d1-08dab8bf46f8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 7YcJA1f4gpAX/eXIf6i0RE4D6e/nPWP9DfpZlVLrpdvu3AiMhV4KnYR1iOE6lRZNEFHn83sQxUWOoBqKU7pN2t2zLp+e5TOQWxkVMf+leediZgkQBy1WtJVldajw0ruHlQaWZEfu3kuZnHQKl6qGqHOkQmwPBHhyQisVuuIav1tGnxyr1DGJLF1YrDg5naF2uepZbWlHGH/5XJh/9vC0wF7m/TOQofxJitoZUb0Tz0qEwWLOtsBLX9zxBTu/rnvxEhyX5XYW83n918zRcmTtrgrQs0S1HjLIS4VdCPatWNf2tXu+BT0cTBoZaxGUEpt3/UntOwwk6QFKpH+kQsbw470+cCG6+EP2NipA/8XQ3FxAzmdC4DGBby5cyn1OKdczlghZ2Hk0AcQiD1zw2m6/34kh66j8s2h7xVoyhlRf5qi6IqHIEjOs5ehCUM5Epjv3YpGnca1/4bpBRidjK5bnNhImOr7gmGqonyyNJ54chNBiTdw+7uhOHc2N5Ej5+tzq9aJ1dsl2z7lNz4A+bqY9pltI6LHu6ac8+bAtQcd0+9VCJtIshN8Sh0SlvC19mfBLqjF5XNVCMzO6RuNq9MdlH5ZGZxfeiLoZeJW+vT+bWZ+hFopbcL5kAxPXUEGT4BEEMMIHMJUN8aeBq8Oe5d4KXcHSGGHSkkZqB9SP8tinsllGPEXrltTLifu0BPEQ/LWaT5XsmBFjz7Jj3Uuht90swiQGTKnsJwXZGp1VInA+LVmB1XBQnd7JjlrMgSfjMyvVA+kYnQXLiILHDBwk4xJV6cdgQWmlT3oOtCOODPUel2Lf/SFMRxuxP//qQV1AQ5hIfhE8WVS5Dfw0I8zgfNaLIpRyqfbs8vmYRxXwPekeWmU= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PAXPR08MB6969.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(366004)(346002)(396003)(376002)(39860400002)(136003)(451199015)(83380400001)(36756003)(2616005)(6486002)(186003)(8936002)(478600001)(38100700002)(86362001)(41300700001)(31696002)(66556008)(66946007)(66476007)(4326008)(8676002)(5660300002)(54906003)(26005)(38350700002)(110136005)(316002)(6512007)(31686004)(53546011)(52116002)(2906002)(6506007)(41533002)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cWRzbG11c1pINzNieHBCa0JYVVE4MUwzWDlEWSthWjJ5VXRnZ0ExakJBUWdk?= =?utf-8?B?dUtFUDVLMUlZaXd2VzhGS2NDWm05WjFUckQ5d1FEcDd1VUg0R0ZYODJyOVhw?= =?utf-8?B?MGQzNVI5alZwTVg1L09vT1Zrb1o3Rm9YTXI3RWFMcHRUOExWc0JwRmZyUGJj?= =?utf-8?B?VVUxbEF3UnpxRVcrWDJxT0JZUmwvRjk1VldFTXh3RnVOc2ZwNzFlQ2NPWGY4?= =?utf-8?B?Z3pxRlVSbXZoVWw0elhuZUdjV2NGci9GcjdHcDc2TENYL3lvaE0zS2dETjh2?= =?utf-8?B?MlZUM0hoZUNSc05JWTZYVnBKblZzTEhQR0p0QjZkUEc2ODVDcWhJanpod1Fu?= =?utf-8?B?SDd2a1NVQlZ4Yi9ZbklwK0N0My84aUNCRzZXZHgwQjRRSU5xR2pWek9uMC9t?= =?utf-8?B?NUpmVlMvL3AyNVk4MGpYT3FmVFg2eFpQbmFDMTVZakpKTG1ZZVlWZWtORHBE?= =?utf-8?B?U0hhM2Z6UjcyV2xBemlRdXZGZGpVSlMrYWlJNDJTWWRGQzIxSVZRUEVyU3BX?= =?utf-8?B?eldUenRKbnRvZ1ExZkdqbUI0cUhGY1NRQ0tydGlNa0VMeDJJcG1xbnpTSkVh?= =?utf-8?B?QW4xb0JTSVFJeWlZTTRXUFk5VWNSQ0ovZzkvVW5OUW5RSmZ1TlpLcnNRRVpG?= =?utf-8?B?TDFPcW9DRmZNcU1SZC9mYXJ0VGt0MUlaVWhPdVA2ajFOejF2M2NVNjRPczA4?= =?utf-8?B?bk1Yd1QwNHFZVFZhV2Q1YnNoSkRBdXBrOUpkTTdyMmI0Z2JwK3JnM2R0Sngr?= =?utf-8?B?N2lGR3owWVQzZkVzb29iem16SHVpMklqZFVQNHdsZWt0ekRXekExZEhrUGdP?= =?utf-8?B?K1Y4M2VDeTBML3cyL3dYYlhLZ3c0ZER4ZDh0TVUrdUFWYmU4VjN4cDdlZU1p?= =?utf-8?B?ZjByaTZBNFBQMGxMOVBKbHFnVUZKU3dvQUR0bHhPTWFGVGRyUHlIclF0VnRZ?= =?utf-8?B?bmI2Si9HeTU3VWJFU3F3cHJsVDBTalU5WmYzYTAvS2xBWktvZGhMY2QxZW5V?= =?utf-8?B?aEJZUVlkMHhCZUIvMW1kaU1FUjhIMzNYcEtxN2dvUnhxTXh1QXQ4UkMzejNV?= =?utf-8?B?TEJuWkx2Z1RHU3o2eFREUUJMYVNsa01pYzRmOCt4c245cUw0RzNPczIxaDh6?= =?utf-8?B?WHRKUGxvS1pJejVOdkVVcTh6TDY5NnBBU1htbzhFd2VMY0Y2MUEvMFJ0NkRn?= =?utf-8?B?cVhqcXBkc0FnOE80SCtyeng3NDc5Um9CYUVnbXdyRHlVcXpOTGpROEd2QnBi?= =?utf-8?B?Tm9rQW1IclBkRG1aZ3BHTk4vaUVOYnprdXI1T3VSYU1CcDhJRU8rL3dkVE05?= =?utf-8?B?OVFwN1dydjZreDFHM0RubmNnZU13N3cvRFRXV2tJdFU0K2FsMHFLMFhrRjM2?= =?utf-8?B?Tm9nQlNtSi9sMTJ3RVdKOXFrVGVSR0NnL1hxcXpaRE1VMkVsQUhZdjV0WjR0?= =?utf-8?B?Rm9rMStRSHlyazViOHhlWkhSQ2pxTzZ3WkxNMlptWDlsUWwvNXVZOGhSczhj?= =?utf-8?B?akM4WFU5S0tGRW5HNWhOcndXMlYxZ1VhVmNrTXRReHg5WUpOL3gvaUdFTCta?= =?utf-8?B?bzRjRjVTVzdQTDFNYzZPaEJ5UENzSitBWmxkY1h0V1hCQWxIVElRZC94aU1Q?= =?utf-8?B?cFpFVEdkMnNYclhGUlpwS0FOeXhxdFNuSHU5M2p0SllYQlE5UkY2YkwreWlT?= =?utf-8?B?R1RxY1MzSTRZM2FIWWNWeURjZmg4RTBBYTNiaVg3UEtGUVZkeWp1VHRVejAv?= =?utf-8?B?bmkwSmtBQmF5MVVyTFhwNE8xT1pVR1d3ZmNVRVlrM2txMVd0UmFZQVltc3ZF?= =?utf-8?B?QzhzNFQ2Y3JjTWlPOWgwS3ZCU0RYSDZjQ2pnN04vRXJBb05rSVd4ZGdkQWhW?= =?utf-8?B?OHlNYlRsbFAvWmtSZlZYdlYwNXZnamdvYTlzRlRKS1pIWGkvemY2QVdQYzVP?= =?utf-8?B?bTYxaTNPYXU5aHU2TUs2UWg1Z1lFOEZ4R3VKbWxyZXpzOTI5aC8zODl3MUVk?= =?utf-8?B?THBxWUhuajNkVFBHUVJWOE9PdmVyV1pvUUNtalM3MlJFZ1p1VFNrektPOGJL?= =?utf-8?B?U3MycE90V0xlL3JsbnE1VzdOSC9OY2oraCtqWnd3eGorWXFDdGpnOFJoeGpw?= =?utf-8?B?U3FEUUxnY05zbzVRenp4SGVBM1MydkFiem9ZY1NSYTlvV0kvTFptUE43ZVRM?= =?utf-8?B?OHc9PQ==?= X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: 106836c6-a1d5-4e9e-c3d1-08dab8bf46f8 X-MS-Exchange-CrossTenant-AuthSource: PAXPR08MB6969.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Oct 2022 08:34:49.6101 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e4289438-1c5f-4c95-a51a-ee553b8b18ec X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 7C5tdvDQ6Ab87z+w7UWovg0G2bI2Sfjq1CMsrwX0zX6vKxz3zdf7M2jSeSdRVp2dHO80yIRrD7ZclChyIhtzJg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB9682 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean Hi Jan, Am 27.10.2022 um 14:38 schrieb Jan Kiszka: > On 27.10.22 09:49, Stefan Herbrechtsmeier wrote: >> Hi, >> >> Am 05.10.2022 um 10:33 schrieb Jan Kiszka: >>> From: Jan Kiszka >>> >>> This completes what 890feecaab72 started by selecting ENV_APPEND and >>> ENV_IS_NOWHERE and by moving this driver to top if the list. This >>> ensures that load operations pick up both the default env and the >>> permitted parts of the next-prio location. When writing though, we must >>> use the regular ordering. >>> >>> With this change, boards only need to define the list of writable >>> variables but no longer have to provide a custom env_get_location >>> implementation. >>> >>> CC: Joe Hershberger >>> CC: Marek Vasut >>> Signed-off-by: Jan Kiszka >>> --- >>>   env/Kconfig |  2 ++ >>>   env/env.c   | 22 ++++++++++++++++++++++ >>>   2 files changed, 24 insertions(+) >>> >>> diff --git a/env/Kconfig b/env/Kconfig >>> index 24111dfaf47..05b5fbf17d1 100644 >>> --- a/env/Kconfig >>> +++ b/env/Kconfig >>> @@ -715,6 +715,8 @@ config ENV_APPEND >>>     config ENV_WRITEABLE_LIST >>>       bool "Permit write access only to listed variables" >>> +    select ENV_IS_NOWHERE >>> +    select ENV_APPEND >>>       help >>>         If defined, only environment variables which explicitly set >>> the 'w' >>>         writeable flag can be written and modified at runtime. No >>> variables >>> diff --git a/env/env.c b/env/env.c >>> index 69848fb0608..d0649f9540d 100644 >>> --- a/env/env.c >>> +++ b/env/env.c >>> @@ -133,6 +133,28 @@ __weak enum env_location >>> arch_env_get_location(enum env_operation op, int prio) >>>       if (prio >= ARRAY_SIZE(env_locations)) >>>           return ENVL_UNKNOWN; >>>   +    if (IS_ENABLED(CONFIG_ENV_WRITEABLE_LIST)) { >>> +        /* >>> +         * In writeable-list mode, ENVL_NOWHERE gains highest prio by >>> +         * virtually injecting it at prio 0. >>> +         */ >>> +        if (prio == 0) { >>> +            /* >>> +             * Avoid the injection for write operations as that >>> +             * would block it. >>> +             */ >>> +            if (op != ENVOP_SAVE && op != ENVOP_ERASE) >>> +                return ENVL_NOWHERE; >> Is it consensus now to use ENVL_NOWHERE as synonym for default >> environment? If I remember correct this was rejected in the past and >> ENVL_NOWHERE  should only be used if no enviroment is available. >> >> Why don't you call env_set_default(NULL, 0) in env_load() before >> env_driver_lookup()? > Worth to explore... if that should avoid this logic here... Let me try. Additionally we have remove the `#if !CONFIG_IS_ENABLED(ENV_APPEND) arround the `return 0` in env_load() and the following change in env_export --- a/env/common.c +++ b/env/common.c @@ -234,7 +234,7 @@ int env_export(env_t *env_out)      ssize_t    len;      res = (char *)env_out->data; -    len = hexport_r(&env_htab, '\0', 0, &res, ENV_SIZE, 0, NULL); +    len = hexport_r(&env_htab, '\0', H_EXTERNAL, &res, ENV_SIZE, 0, NULL);      if (len < 0) {          pr_err("Cannot export environment: errno = %d\n", errno);          return 1; I can't remeber why the H_EXTERNAL in env_export was needed. Regards   Stefan