From patchwork Wed Dec 23 16:01:19 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefano Babic X-Patchwork-Id: 1420205 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=googlegroups.com (client-ip=2a00:1450:4864:20::63e; helo=mail-ej1-x63e.google.com; envelope-from=swupdate+bncbcxploxj6ikrbvgtrx7qkgqeubk2cta@googlegroups.com; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=denx.de Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=googlegroups.com header.i=@googlegroups.com header.a=rsa-sha256 header.s=20161025 header.b=fXCHbYpe; dkim-atps=neutral Received: from mail-ej1-x63e.google.com (mail-ej1-x63e.google.com [IPv6:2a00:1450:4864:20::63e]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4D1Hy25sdcz9sTK for ; Thu, 24 Dec 2020 03:01:28 +1100 (AEDT) Received: by mail-ej1-x63e.google.com with SMTP id pv24sf5217543ejb.19 for ; Wed, 23 Dec 2020 08:01:28 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1608739285; cv=pass; d=google.com; s=arc-20160816; b=Qu//cKiC0hdcu/7dDn86Ez/uaEUT8SS/QMD9OD/K2X7vfH7ezjSTiYiPs78DTV55qT M101ji1II9ASE/vGfz+hTSplUqdmASPey9x9Mzp00moo1/7Wbz6uo3LD97t7Dj2xKHVM aa8kXvuBc0CJMy+smdu2KdQWNBo6ynNSCeh1dC3pQ3/V+0hCDtyEiIcFQgx4MLeCEodj K9l+sqwpCqEY84tAA6fDzXx+2Xk0uR1vM78k0l/ttXgjW7Bdjg1+Flgsh1XthbH9E8WK m8Hh+HxZmlKwILeSxkcL9IcwHUv0m0hOYHLUhlKuK4dTRwkNuDe81bOO3kVtN/VP2W+c XRcw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:mime-version:message-id:date :subject:cc:to:from:sender:dkim-signature; bh=7xp2AiFBovIb7wSR4C7BOTShhRl8ys8FPs9/J+7UAT0=; b=OfBZ+Gj9Wj6of6DYLZQ/xCgKv2Ur+eW88U6em5CqXrdEqRkUUgniKqU4Bgq6035n7d dhWHNkIgyWapPIsoEWTrnoYDKIxvZFhidYMWTRBdmSq4Lj5P81oVR5UeCCDwwFi3+GQ1 SZAjpTBU9V2lvvTHG0N4oIO1lonjUFk3AjhCDHXLeAp86vPk3BRAZOPqj1rg0n7RzIRu YryGTiCM9ONvqWv5hwgcRUuPPymEBd0dwiEqnML9pxpOHIjUUEUelRRly//eOLxvixFB Xh0TIctjQmztJkXYuWj1mSUSSD59eXxDT2tfISfx9MvfwvKLxdn00aLTm2C+aVcX93Vj pZog== ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=neutral (google.com: 212.18.0.9 is neither permitted nor denied by best guess record for domain of sbabic@denx.de) smtp.mailfrom=sbabic@denx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:mime-version :x-original-sender:x-original-authentication-results:precedence :mailing-list:list-id:list-post:list-help:list-archive :list-subscribe:list-unsubscribe; bh=7xp2AiFBovIb7wSR4C7BOTShhRl8ys8FPs9/J+7UAT0=; b=fXCHbYpesOOWvfmmRB6Gc5Sfma4aPlrG7X0Eq0M8mJ5Qhm1gPKG8nVHY5nU/BBY+W3 5th1FS8qScaDliD3FgP+WKnDlpeTIPwGxKxTtT2GQtnre3QliWI2T5WcRCAJkn0eXLAt J+KUf4vEUhJZOHHAxWyq2j4yJfp/1Qv1MRtwFQ28/cm2OKzXbtkSShCLtyUT/KAvLVyH 087N/qZKrUer8yHUnUK+OF8qowpzykAbj7sWaeHVN3XHHYaFvji8krSrNICWeUeAmNvK HOvHpZ/6V7tQpOnefGZgecPTYqDd6gcHv68T0LXGzfZl7gumhDJWeHeknC27bDjkG0y+ 5OrA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=sender:x-gm-message-state:from:to:cc:subject:date:message-id :mime-version:x-original-sender:x-original-authentication-results :precedence:mailing-list:list-id:x-spam-checked-in-group:list-post :list-help:list-archive:list-subscribe:list-unsubscribe; bh=7xp2AiFBovIb7wSR4C7BOTShhRl8ys8FPs9/J+7UAT0=; b=fQJkHnZzN7DjDbc8s8xIZXRHiZP6r3wdtcBA4mJVyv2k+Nnmp9YYmRSHNiHfOOftLz Y6lYbslhy/OMsJRORfZhi0Q1HgAHf8TSKT6q35ZxO6oAQi/sxNsHjRibr2yq2Na+4wCq xcoLiALQWshOXBleUlGLeN5BAbRcRaX1vbdvhrR6qGMEVXaTKOHf86OpLqB1c/8dom2g zVZ7zuavh9KC5lIk7H75CZ19ysmcu0T4XIrTu+wLwe41SGBOO4AYDFY8I6RCZ6y9tBCL vjj77/9ggsZFmdV20Lle9TIwl35lejcRq8A9c+wk2JdRXJ0SBaaRWaevVeB65uA06o7d 8l6A== Sender: swupdate@googlegroups.com X-Gm-Message-State: AOAM531lsdj2XsAFf++KMEiKRAcRtU0aw2tFyY+0dly56NRdzzv/NKEh 3sX+REYY+rYivqh1cnW/2V4= X-Google-Smtp-Source: ABdhPJxXbP/E6Ei2n3WO2ehGRyNuO1E26Ru/4vts7ZIpMLMO1/Z3Zv/bK9/laqTzo+FCkg1nHINepw== X-Received: by 2002:aa7:c3c2:: with SMTP id l2mr24871656edr.15.1608739285054; Wed, 23 Dec 2020 08:01:25 -0800 (PST) X-BeenThere: swupdate@googlegroups.com Received: by 2002:a17:906:cec7:: with SMTP id si7ls12379625ejb.2.gmail; Wed, 23 Dec 2020 08:01:23 -0800 (PST) X-Received: by 2002:a17:906:60c3:: with SMTP id f3mr24456869ejk.65.1608739283863; Wed, 23 Dec 2020 08:01:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1608739283; cv=none; d=google.com; s=arc-20160816; b=0LkR+8AYI5sJfUgXB1St9VskiY2qWj1FgA1k5zFY6rNjQHBbvgdwZSKTevkI7BASAH IFcZgFey1Z2Dtw10WM8uc53bia1WpCXDBxBRsqU7LR+b6alLno6TBVXpiTJ5026KVh+o Wf0udFu8FHJBM4L6e9H/tPMGv9RCgWwhP6lzh3WQLbl+tQ/ZdIqFDjtNykuGeRZ1YQMk D/iC92Oywbg9MY73BNpmagkufcyS3xLXbK8II8W0vSsUH8Gy1xvKOgs1Yvf+NQu2nNO6 Wj+vm9uT22/CgblDXj34d0x8Qxx9Ie1L5wYEMZ/fAxQDSNf9uVVts5foiWc1FlMCd5E8 IVqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from; bh=57VYJKh/xu3izglM9+CcU3tEsDqvtLxPBOMKJOCf8yo=; b=Vvuk0ZMaxJQYltgQLug9S908dI8CqmPg168lqiNHiPUTEKgjTpuwqfGXkCOw3Xo7qa 6EnwEK1b/aiRt6jBkbDji7WrgLm/Gx5QOSdzfO56VxojHkB1sD/NYLMbvEUA3WUBVHoM ZdpjtVJIrdcZK2tw6yXa7u/MxbEbPo9G1m/BA/n8W8gaYHNeGGyffVc5T6fiUmlFy3LH 1hJLYqa1i1+zOoyaUoKdFItIBkXK+eVwvKS4AKsGMZP0Y6tC9cr2mqAWdr78kLKO7Qyl JKL7U1ny8vBy1BFFRu9TcGqQ2Bjd9pOyOS+nhLGiYijy5SXMyJzbFK8MxA9XvWj9eKRa +JBw== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=neutral (google.com: 212.18.0.9 is neither permitted nor denied by best guess record for domain of sbabic@denx.de) smtp.mailfrom=sbabic@denx.de Received: from mail-out.m-online.net (mail-out.m-online.net. [212.18.0.9]) by gmr-mx.google.com with ESMTPS id i6si673522edk.4.2020.12.23.08.01.23 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 23 Dec 2020 08:01:23 -0800 (PST) Received-SPF: neutral (google.com: 212.18.0.9 is neither permitted nor denied by best guess record for domain of sbabic@denx.de) client-ip=212.18.0.9; Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 4D1Hxv4JjZz1qsby; Wed, 23 Dec 2020 17:01:23 +0100 (CET) Received: from localhost (dynscan1.mnet-online.de [192.168.6.70]) by mail.m-online.net (Postfix) with ESMTP id 4D1Hxv46Jfz1qqkT; Wed, 23 Dec 2020 17:01:23 +0100 (CET) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new, port 10024) with ESMTP id lFEEtSv3tAhC; Wed, 23 Dec 2020 17:01:22 +0100 (CET) Received: from babic.homelinux.org (host-88-217-136-221.customer.m-online.net [88.217.136.221]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPS; Wed, 23 Dec 2020 17:01:22 +0100 (CET) Received: from localhost (mail.babic.homelinux.org [127.0.0.1]) by babic.homelinux.org (Postfix) with ESMTP id 5688A4540700; Wed, 23 Dec 2020 17:01:22 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at babic.homelinux.org Received: from babic.homelinux.org ([IPv6:::1]) by localhost (mail.babic.homelinux.org [IPv6:::1]) (amavisd-new, port 10024) with ESMTP id Eq5cNZ7u-Dh0; Wed, 23 Dec 2020 17:01:20 +0100 (CET) Received: from paperino.fritz.box (paperino.fritz.box [192.168.178.64]) by babic.homelinux.org (Postfix) with ESMTP id CF32F4540134; Wed, 23 Dec 2020 17:01:19 +0100 (CET) From: Stefano Babic To: swupdate@googlegroups.com Cc: Stefano Babic Subject: [swupdate] [PATCH] Drop unneeded wrapper save_state_string Date: Wed, 23 Dec 2020 17:01:19 +0100 Message-Id: <20201223160119.825848-1-sbabic@denx.de> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-Original-Sender: sbabic@denx.de X-Original-Authentication-Results: gmr-mx.google.com; spf=neutral (google.com: 212.18.0.9 is neither permitted nor denied by best guess record for domain of sbabic@denx.de) smtp.mailfrom=sbabic@denx.de Precedence: list Mailing-list: list swupdate@googlegroups.com; contact swupdate+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: swupdate@googlegroups.com X-Google-Group-Id: 605343134186 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , This function is used just in one place to set the transaction flag. It was thought to be generic, but the state is already saved using set_/get_state, and this function is just a wrapper for bootloader accessors, doing also some dangerous type conversion. This patch cleans this up and calls directly the functions to access the bootloader's environment. Signed-off-by: Stefano Babic --- core/state.c | 17 ----------------- core/stream_interface.c | 9 +++++---- core/swupdate.c | 3 ++- 3 files changed, 7 insertions(+), 22 deletions(-) diff --git a/core/state.c b/core/state.c index 694290a..fe415ea 100644 --- a/core/state.c +++ b/core/state.c @@ -58,17 +58,6 @@ int save_state(char *key, update_state_t value) } } - -int save_state_string(char *key, update_state_t value) -{ - CHECK_STATE_VAR(key); - if (!value) - return -EINVAL; - if (value < STATE_OK || value > STATE_LAST) - return -EINVAL; - return bootloader_env_set(key, get_state_string(value)); -} - static update_state_t read_state(char *key) { CHECK_STATE_VAR(key); @@ -88,12 +77,6 @@ static update_state_t read_state(char *key) return val; } -int unset_state(char *key) -{ - CHECK_STATE_VAR(key); - return bootloader_env_unset(key); -} - static update_state_t do_get_state(void) { update_state_t state = read_state((char *)STATE_KEY); diff --git a/core/stream_interface.c b/core/stream_interface.c index c5073fd..7d481bc 100644 --- a/core/stream_interface.c +++ b/core/stream_interface.c @@ -44,6 +44,7 @@ #include "progress.h" #include "pctl.h" #include "state.h" +#include "bootloader.h" #define BUFF_SIZE 4096 #define PERCENT_LB_INDEX 4 @@ -250,7 +251,7 @@ static int extract_files(int fd, struct swupdate_cfg *software) */ if (!installed_directly) { if (!software->globals.dry_run && software->bootloader_transaction_marker) { - save_state_string((char*)BOOTVAR_TRANSACTION, STATE_IN_PROGRESS); + bootloader_env_set(BOOTVAR_TRANSACTION, get_state_string(STATE_IN_PROGRESS)); } installed_directly = true; } @@ -583,14 +584,14 @@ void *network_initializer(void *data) * initiated an update */ if (!software->globals.dry_run && software->bootloader_transaction_marker) { - save_state_string((char*)BOOTVAR_TRANSACTION, STATE_IN_PROGRESS); + bootloader_env_set(BOOTVAR_TRANSACTION, get_state_string(STATE_IN_PROGRESS)); } notify(RUN, RECOVERY_NO_ERROR, INFOLEVEL, "Installation in progress"); ret = install_images(software); if (ret != 0) { if (!software->globals.dry_run && software->bootloader_transaction_marker) { - save_state_string((char*)BOOTVAR_TRANSACTION, STATE_FAILED); + bootloader_env_set(BOOTVAR_TRANSACTION, get_state_string(STATE_FAILED)); } notify(FAILURE, RECOVERY_ERROR, ERRORLEVEL, "Installation failed !"); inst.last_install = FAILURE; @@ -603,7 +604,7 @@ void *network_initializer(void *data) * that it is not required to start recovery again */ if (!software->globals.dry_run && software->bootloader_transaction_marker) { - unset_state((char*)BOOTVAR_TRANSACTION); + bootloader_env_unset(BOOTVAR_TRANSACTION); } if (!software->globals.dry_run && save_state((char *)STATE_KEY, STATE_INSTALLED) != SERVER_OK) { ERROR("Cannot persistently store INSTALLED update state."); diff --git a/core/swupdate.c b/core/swupdate.c index 318a245..1987063 100644 --- a/core/swupdate.c +++ b/core/swupdate.c @@ -47,6 +47,7 @@ #include "swupdate_settings.h" #include "pctl.h" #include "state.h" +#include "bootloader.h" #ifdef CONFIG_SYSTEMD #include @@ -868,7 +869,7 @@ int main(int argc, char **argv) switch (result) { case EXIT_FAILURE: if (!swcfg.globals.dry_run && swcfg.bootloader_transaction_marker) { - save_state_string((char*)BOOTVAR_TRANSACTION, STATE_FAILED); + bootloader_env_set(BOOTVAR_TRANSACTION, get_state_string(STATE_FAILED)); } break; case EXIT_SUCCESS: