From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C4D8927467F for ; Sat, 30 May 2026 20:54:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780174457; cv=none; b=dj3+LiHqRuQQtmsvDQFp3I9PsjoWwf+ZN4F4ZSwWrvlzvJU1ggwJ/evjgVKHxkrwXV0s0DcWt7UgKV0nwt7KKofF7I6bOCCoPiL5TVYPz3PdJSrZxNYm/qyLtGDX4DnqZ1NZ5k9noObw3Q0gUJFpg7KeVDoc4iyvRAs7SVpdxBo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780174457; c=relaxed/simple; bh=qyEO5uBLJF8Ir8971HEgryEweLidu7WBgGMUB3E7EvE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=brsXcoGkrD6RkGL5pk9WAlhSi3Mcff8tTldzA+QymQMjfsE2tj8fp9I3XYR4uBFjL6A/tp8ghqH4+OUpo4S67f9+EFWZ8lmRYOnI5zthvneULn6Pr2RK1fgjBL/Fkc4ye9p1iFQKBa42XRuVuQ9tAjN8mDLp0N1bJ1osQroO7xk= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=JMg5PjjJ; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="JMg5PjjJ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5EE541F00898; Sat, 30 May 2026 20:54:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1780174454; bh=dk34WEk9ZVeA/L7D9QRGbiypnx9YUJv1ZVn2zdEdXSM=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=JMg5PjjJ4bELWwWs+eq/2TX2nq0KLV5+KWlw6Mn1MjEPmv7tMWp2cP96TnGaSTeBU jQfr0l6+xToFUrxE0vPf5mCuNr/761RKKWPEugh5tiqY6ura3hGkYYb2UqSDIbJjkc t3oOKezPO96KeeG7y4weJVvYepwBmTqOeBNYEvX+AU0Cau/pkg3R2E9xObx1Y53iYH IXAW2ldTbb7YwT2DQRdXN99OwNI+q9nstBNc+Q1lFF3Yc7H08WRqXEQB9Ii3DNWvDE FYTILCnUNIHroGrGvlGTxrO6XKHQaqDvSVGn82jVBEWhgkNpxbzq4AfjzLFa6aEgdF gXxjxJ+uf6rog== From: srini@kernel.org To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Tomasz Maciej Nowak , Srinivas Kandagatla Subject: [PATCH 14/14] nvmem: layouts: u-boot-env: check earlier for ethaddr length Date: Sat, 30 May 2026 21:53:33 +0100 Message-ID: <20260530205333.117458-15-srini@kernel.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260530205333.117458-1-srini@kernel.org> References: <20260530205333.117458-1-srini@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Tomasz Maciej Nowak Unfortunately the ethaddr value in U-Boot environment might be enclosed in single/double quotes or be something completely different. This can make it different than MAC_ADDR_STR_LEN, which results in EINVAL returned by ethaddr post process. Move the check for length earlier, to skip post processing, so nvmem could still present ethaddr value as a string if the value doesn't match MAC_ADDR_STR_LEN. Signed-off-by: Tomasz Maciej Nowak Signed-off-by: Srinivas Kandagatla --- drivers/nvmem/layouts/u-boot-env.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/drivers/nvmem/layouts/u-boot-env.c b/drivers/nvmem/layouts/u-boot-env.c index f27f387bb52a..33ec2350386f 100644 --- a/drivers/nvmem/layouts/u-boot-env.c +++ b/drivers/nvmem/layouts/u-boot-env.c @@ -38,9 +38,6 @@ static int u_boot_env_read_post_process_ethaddr(void *context, const char *id, i { u8 mac[ETH_ALEN]; - if (bytes != MAC_ADDR_STR_LEN) - return -EINVAL; - if (!mac_pton(buf, mac)) return -EINVAL; @@ -75,7 +72,7 @@ static int u_boot_env_parse_cells(struct device *dev, struct nvmem_device *nvmem info.offset = data_offset + value - data; info.bytes = strlen(value); info.np = of_get_child_by_name(dev->of_node, info.name); - if (!strcmp(var, "ethaddr")) { + if (!strcmp(var, "ethaddr") && info.bytes == MAC_ADDR_STR_LEN) { info.raw_len = strlen(value); info.bytes = ETH_ALEN; info.read_post_process = u_boot_env_read_post_process_ethaddr; -- 2.53.0