From patchwork Wed Jul 29 19:39:59 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ming Liu X-Patchwork-Id: 1338483 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::439; helo=mail-wr1-x439.google.com; envelope-from=swupdate+bncbcw3fspl7ucrbbvaq74qkgqeygrpyny@googlegroups.com; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com 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=So+cgg5s; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=msCPG94F; dkim-atps=neutral Received: from mail-wr1-x439.google.com (mail-wr1-x439.google.com [IPv6:2a00:1450:4864:20::439]) (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 4BH3jR2KtYz9sRN for ; Thu, 30 Jul 2020 05:37:47 +1000 (AEST) Received: by mail-wr1-x439.google.com with SMTP id z7sf6468702wrw.21 for ; Wed, 29 Jul 2020 12:37:46 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1596051463; cv=pass; d=google.com; s=arc-20160816; b=WP0U5z0ljxlXDm/B35lLhXBt+f7Hx0JJr7HmhgFt0WHPH7zT4ieTQJ3bSgKPaoVu58 FUi7ke+03q0oy0jJF1nXd7mXXWBy08FGtZH3jdz8c7FR6dyBaDH52s8nAmBt03Bt6Fg5 fhLGOimnnECu27pCKD5Ie1zDMVlSzOZOnViJTn0zIor9WLHJJX9jfa7xtioG56keMUBV jEEcqmemeewN89nkbZCHLYjdcpsaZezbr/xDNHgWHiEn9PrR05zYa0vPKvgtHd5BFVgL +Uz7oHRezmstPD36hRQBHJysf8oAzNFJF8CRtaVAg3ELtJ5xeicCpx/FWUINksIdOqJU Gzaw== 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:dkim-signature; bh=UHNPS2i0FqyjWzZTHoGSTe50SdTfyWHM2R3jGhvEV9A=; b=WA5fsEGJA9TQyABlRPmVfUqcKrtuU9N00QUeXEQP890ujgmpjuGUAeXKoJH2S5QPmi zUjVdoqNOIoV2fn6tvHSIgP8y12j4pJYVbWv6x1TJ74nifwKwPUd6PR/vn2TNUb1G6Ns PnosA3gwvGiETiWewbHm1tORX1DyRbOPdwno9fa4AzWmXA1CGZK0z1nKG6N7xPWol1KR xq52f8bwM1CUTdThdsCwL6MNN+DZ5EiJ6BTY5Ix5Q2KD718Wj5xaLUhMdWhYs5PcUMio MMZSajPaz2qsQ8kBhifof9FUt4feE2ISDbbmzWcjpzMnPNyFQC0+W/ycEBKAzEJxdo9R hkNA== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="Dfbp5//X"; spf=pass (google.com: domain of liu.ming50@gmail.com designates 2a00:1450:4864:20::642 as permitted sender) smtp.mailfrom=liu.ming50@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com 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=UHNPS2i0FqyjWzZTHoGSTe50SdTfyWHM2R3jGhvEV9A=; b=So+cgg5sjnXbezUOW4HqxLnr/mWkbr4hg6fG/GY3WCqBexZdXKKfDNu0Hl0KXURdWh EJrIVmSF/tGXtUwReeX7bVmFPgF84m8iiGvMVOXNMZ5vjpzSaTCn+tFtn1MY1dZOYufz Wb2XKFFWA5vfF/vArsKrgxjuu0v6qemHfdxCGca0MCBTkVufMrI/c+miPA14vragL1pL fmSlUGJyaX2UDR5LhmavXrgqs3m6cMMrljmt5DdM8IFlGGx6csmPVWVCDXBq75yCSjW8 rJqaGy1Uei1esHqdujyZCfqVyhzMOKKN/Tf0nIeRuUDi9xlMPqs4beSpVCiO3bUmtmwg 6Uaw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=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=UHNPS2i0FqyjWzZTHoGSTe50SdTfyWHM2R3jGhvEV9A=; b=msCPG94FAtQxyxqkWFykC/c0XxJ/kvYFi4khCWg34gyBRj4pg83MW2JuMGsniPWSGU EnilD5USEeo+dWHQGjRFvSsvMzIvM7RudAX61RwkP40gXKXa0YcN3ufNUzBJDu7agnBu Da4uvWMWcUaga/B1JGYoqWk4wTuRJZcBrc8gQLLTYHGyEWagPN5tHjwOoNTM5KctAIye cK1864ac+SwHlDh8eBOLExQ1AogQvc1274Bha6dIqD8CeNq3P5HvM4krauQoj8o9kIw9 audJNqKnhabkFbtsvReAUsIkCIIdLALr4hBvn5Y6yvn8+ZtK4pN8dWrbEhSlJTM89fpx sMcw== 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=UHNPS2i0FqyjWzZTHoGSTe50SdTfyWHM2R3jGhvEV9A=; b=OcWrjhaEdUVbmjoiAux+DvYfHiVxxRfbM58yXztdO6jCZ3r4bGUW+HP32PQGxr/16V zXIV0BtlEdAMjVhUSt1wFTw4LWdauTumIVN46+s6goGnFGPo2tJOUUb+Jo7r2IiZN6Cr lmwHmL8mNHJbCEwdlUKfDpyTsoauwxwIcdnekYtXTOZNm6Xssh1oBSZmaYhmgrl2tHWm TBCznSJBl3eWGptDRPwHelsTIotw3cFoUazT1u6xV/1wTO7bJCu6sLdWiG+X8ODu7W7/ U4IkPZOb1v3Yz4MxISOTio3OxSqCSXor8Ei/1jPMmbmzEj10vSpG+OlmsnQVVu0uNaKR XdOg== Sender: swupdate@googlegroups.com X-Gm-Message-State: AOAM532oVN3GAvDt6w4HaDvyp/8o8CGPuiEm8pfy2Jbhkx07/7SgSdlZ cOQqjtvijHjpMFN8NcJIHqM= X-Google-Smtp-Source: ABdhPJyw6dHN43ZH81GBFz6RdBduzaXkfkm28+CmN0/9AQOcuaBAgqFbjXraXg4ZX4CULig28T7JKw== X-Received: by 2002:a05:600c:2215:: with SMTP id z21mr10813940wml.159.1596051462951; Wed, 29 Jul 2020 12:37:42 -0700 (PDT) X-BeenThere: swupdate@googlegroups.com Received: by 2002:a1c:48c1:: with SMTP id v184ls1557283wma.1.gmail; Wed, 29 Jul 2020 12:37:42 -0700 (PDT) X-Received: by 2002:a1c:2109:: with SMTP id h9mr9874370wmh.174.1596051462224; Wed, 29 Jul 2020 12:37:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1596051462; cv=none; d=google.com; s=arc-20160816; b=b6IfVXDCC1tnS/Hig4FdEyq7w28Iy5zwtKKmYwWwAckQT6f+51nXgvlWRsJfPheYDO FIlsxM3+jjNiX7iFGbwrR48VzVro2eahuqjIzVrqw4QFmCziORmG6NbywGb1n48afyNP kE3bpWcAmuZL7MU7KY9YsJDbfo3Ifm9yp1gsdB26t7hWOm1lDkuaoG3qT1nB6tGpAdZ/ bIOLY7HKMBKN6NdhbjUo9i6aBGE+58m3We3eFTGiSIWeKKv6f8EZLMcGJ74jSHxXIe7O yJbOlfROWjUopeF5mE2h6ndDeDSskcHU9zfvquBLmJisAQa+ajVg0IsjQMVJSv/j2eM6 RvCg== 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:dkim-signature; bh=kCfDs09Xf5DXw5tENj1IxeonC+DRe+KvMfJ16rv0V94=; b=UR0GD/mZxe/py1SdM/TOFYOvQLUr435uNSF2nqBPvoT2npV9aLqFK3vEcX2u8Hq9tv nyEqcnqo2fJYqtjN82pv8tAzlV1gnBI09kbM9xww/cCajnxA6fdJeaWdDcYvv3nc85/u pjBx5lZgUSMAbfyocerQ3RPfFItmMfiG09I23jBvyM/Ag037iVCR6ClVEm7yVZkCaKeB TuDkIZ06oReWyX7osL8XepdT7+uBtu4ODb9biv0DjYoLSVSJW2hWhD29sam8gmEy/Tbz BhMsrxDaEFKpby6WkeGvgOoBqk/+3r91vtYtMmNv7qITC266JyMDBRepxXDOxjwAsjRz qj9g== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="Dfbp5//X"; spf=pass (google.com: domain of liu.ming50@gmail.com designates 2a00:1450:4864:20::642 as permitted sender) smtp.mailfrom=liu.ming50@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from mail-ej1-x642.google.com (mail-ej1-x642.google.com. [2a00:1450:4864:20::642]) by gmr-mx.google.com with ESMTPS id l18si204855wra.5.2020.07.29.12.37.42 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Jul 2020 12:37:42 -0700 (PDT) Received-SPF: pass (google.com: domain of liu.ming50@gmail.com designates 2a00:1450:4864:20::642 as permitted sender) client-ip=2a00:1450:4864:20::642; Received: by mail-ej1-x642.google.com with SMTP id a21so25524082ejj.10 for ; Wed, 29 Jul 2020 12:37:42 -0700 (PDT) X-Received: by 2002:a17:906:4e14:: with SMTP id z20mr26972798eju.541.1596051461795; Wed, 29 Jul 2020 12:37:41 -0700 (PDT) Received: from peterliu-Precision-7530.toradex.int (c-3ffb72d5.022-417-73746f13.bbcust.telenor.se. [213.114.251.63]) by smtp.gmail.com with ESMTPSA id e2sm2557433eje.28.2020.07.29.12.37.40 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 29 Jul 2020 12:37:41 -0700 (PDT) From: liu.ming50@gmail.com To: swupdate@googlegroups.com Cc: Ming Liu , Mathias Thore Subject: [swupdate] [libubootenv] [PATCH] uboot_env: Use canonicalized pathname when reading device Date: Wed, 29 Jul 2020 21:39:59 +0200 Message-Id: <20200729193959.23115-1-liu.ming50@gmail.com> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 X-Original-Sender: Liu.ming50@gmail.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="Dfbp5//X"; spf=pass (google.com: domain of liu.ming50@gmail.com designates 2a00:1450:4864:20::642 as permitted sender) smtp.mailfrom=liu.ming50@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com 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: , From: Ming Liu Some platform uses softlinks to the devices that hold environment data. The mechanism used to read device type from config is not robust in this case. Calculating the canonicalized absolute pathname of the device could fix the problem. Signed-off-by: Mathias Thore Signed-off-by: Ming Liu Reviewed-by: Stefano Babic --- src/uboot_env.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/uboot_env.c b/src/uboot_env.c index 25de4fb..aceaa98 100644 --- a/src/uboot_env.c +++ b/src/uboot_env.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include @@ -1110,6 +1111,7 @@ int libuboot_read_config(struct uboot_ctx *ctx, const char *config) int ndev = 0; struct uboot_flash_env *dev; char *tmp; + char *path; int retval = 0; if (!config) @@ -1152,9 +1154,15 @@ int libuboot_read_config(struct uboot_ctx *ctx, const char *config) ctx->size = dev->envsize; if (tmp) { + if ((path = realpath(tmp, NULL)) == NULL) { + free(tmp); + retval = -EINVAL; + break; + } memset(dev->devname, 0, sizeof(dev->devname)); - strncpy(dev->devname, tmp, sizeof(dev->devname) - 1); + strncpy(dev->devname, path, sizeof(dev->devname) - 1); free(tmp); + free(path); } if (check_env_device(ctx, dev) < 0) {