From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4A4C731326F for ; Wed, 17 Jun 2026 06:22:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.50 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781677353; cv=none; b=b9r2+ErriRWC+0fJ3oeKT+CpfMlQrScyLfu4fxuMCTBqmdMIPAQ/vIpsxdPsVeK9ENzaYloZhiXO9luGN8xkBmZ7H8sTxGMl5QIwvQ137Sxh4JH0ZzLGV4Igs259yvWpuRrgaQyUnvSIjiuO3mZmkfLfyNevKv+IRRPl+1CKc+4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781677353; c=relaxed/simple; bh=tX6q3M8wAw3TehCzxow1yfzjjN3As8he2G6anlmONTQ=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=ditEfiu5prwkxu0weSvIVE4X6nGPTEwSc9EHG5f99xCMhyiBJKZWWujM4xssznKffCJaDUVJ05ipRQwM4+MNfLGACRMGbfs8jKybBIYEp9nZgSZ56CKPK5DIAcgkgoYHM2RGYqEGx1Lljjv4yyrXCXSHEBe4dJihUqJQK0CyDTE= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre.com header.i=@baylibre.com header.b=BTBBqgVe; arc=none smtp.client-ip=209.85.221.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre.com header.i=@baylibre.com header.b="BTBBqgVe" Received: by mail-wr1-f50.google.com with SMTP id ffacd0b85a97d-45ee5cdbd28so328620f8f.1 for ; Tue, 16 Jun 2026 23:22:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre.com; s=google; t=1781677350; x=1782282150; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=fCUpK6BCjcexe7jWiZOfijJy9UXZK3vanCT94EnudFY=; b=BTBBqgVemjUbcb5u2osCp6E+02S5sPYxGvIrRjO/nn1RpD7UGHrPrggY1uXT8aCTfe qzjdAQA5UkAE6KIaTUPkC3oeh7yknPCng0DbpD6vP5Uf6wE0FLfNwq/A66CULVBcQrQH LOBN2Rw250z9os+ahalishW89rqYUBtp0dTIGQs1Tx35eMD7IcskRRtG1OYmK7ynsMys nTj92E7NXXYumQKbbxpFhyxIX7h0SDwDeGmXQOyjd9fU0jOXxagT74xCJnqeeanDxqDT RFEB8ydRgfn92J10boO5sTI2jNIg+TDDyQHMqvwgUoGcrHkOt5tptvf7iobaZEonf2Qx +X4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781677350; x=1782282150; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=fCUpK6BCjcexe7jWiZOfijJy9UXZK3vanCT94EnudFY=; b=nONHOTXRlBH6zDV6IMjBoC0lPywxuRqJ9yLIczXRoPTS0NhotHHCNyFkRFMj9zAzEn wKIu2rxwG4OhNViyPcpyW6MM90ZuqqXJsZM07exIVTKAse17vNR8UOpmTAyAMkx2XFH4 TzQb3kL6FPiJj06CC/895Wlo7PYXWxIlzOgS9J9RzRLYIVyI4jVh7tTI7taYQ7d+1h+b FaKPQfu41KPMjXq54i3LvjvqpZOcrkgFqJgxL83qC6ftHvpAI4GTvwrbx4JrHycdoiQI Z5azf3kkAvy8IQaz9M/RKUbejcke84HM72cHCrRgHKfVfJiWAnCwC1LFT3svEOijrWGA Blag== X-Forwarded-Encrypted: i=1; AFNElJ8m/GsblBEHfMb31gByXJsVTJ3Z4bDPLiBHYJ2jNRQi9gsqTjM2Phl/X4FXFxskNCb/WKJtErbf7/gF0VI=@vger.kernel.org X-Gm-Message-State: AOJu0YykSgi29HXnqk5UmHqtj+rgNjjXT243lCewjZXqQKR78gxlcsqc yvdZP0MYPAcvBmQ2JYbIlI7L3Q2A+ACXpc5G/1Do2ANKyTuCS6LTDE9g4lZtvRdGbvU= X-Gm-Gg: AfdE7cnicHskCBrwaPyeCX+7IT2Ke3ZsZMk5S8LjK7EIjy37mEESg74HQA3tO9MoaG4 hLLwcAc0TkMxlAF+kMCn+X0mAeyB4krOMSHKCnWwXa1vR4I56Ek5wSD54eVJyVRi2fLEmGkNuZ1 WzBwwrdC4C90otQYiBuPcJ/MRpxTi9hpudLySyVp4QNwuiocZwVHDB3oTv7lmnlZ7M2QgUfZJU3 VrOmedI2pmv7RauNkRVyVDRd2axEqa7uQChgyY4q2AR/EDM9zxwLJXc/RpkGn4Ipu38X1d2b37y 9hFXOA90ulPVbO6XiltoRdJ4k6p8fyyBeWUYq/5L15WrKJjOYRARU8evBLuLVQpGL8jDm9IL4md eXaD+M9k9s9fTKuazgIqat7MaIwLsf6L8hGma2gkQNdRwYzbNZS+NnRpGoNpFgmeS3cLpb+wdF1 wc/yxvpic6XWV5+6cO2yU0AL+I6rAqKLuCvty1NN9B X-Received: by 2002:a05:6000:4a0f:b0:460:602f:85ac with SMTP id ffacd0b85a97d-4626649d859mr2302635f8f.0.1781677349713; Tue, 16 Jun 2026 23:22:29 -0700 (PDT) Received: from localhost (mob-176-247-41-247.net.vodafone.it. [176.247.41.247]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4606f26f3basm48341883f8f.12.2026.06.16.23.22.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Jun 2026 23:22:29 -0700 (PDT) From: Francesco Lavra To: Mark Brown , Greg Kroah-Hartman , "Rafael J . Wysocki" , Danilo Krummrich , Charles Keepax , Andy Shevchenko , linux-kernel@vger.kernel.org, driver-core@lists.linux.dev Cc: stable@kernel.org Subject: [PATCH v2] regcache: Do not overwrite error code when finalizing cache after error Date: Wed, 17 Jun 2026 08:22:28 +0200 Message-Id: <20260617062228.2151685-1-flavra@baylibre.com> X-Mailer: git-send-email 2.39.5 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1347; i=flavra@baylibre.com; h=from:subject; bh=tX6q3M8wAw3TehCzxow1yfzjjN3As8he2G6anlmONTQ=; b=owEB7QES/pANAwAKAe3xO3POlDZfAcsmYgBqMj0VqLSh1M9CDa5wGV+UsdZC4PcSLNEPz+PeP JlKuKpJ3xCJAbMEAAEKAB0WIQSGV4VPlTvcox7DFObt8TtzzpQ2XwUCajI9FQAKCRDt8TtzzpQ2 X5UcC/9hbFZt81Z26GJUbIubd8LYtvjUdGQ+PwnmOeogX1XI0WTBdyAQGXeUbY4neltEfGWgLpP RdzEDHomCfG0nI46tGHciOGrD2EhRMThWnf7eX9+t2mFdjiU/qk9Pc9yVAN3irAcAwKQsmm+Fqn ntVmOIXKp2SZ/30pCGr/KFrcuZ0pi/QqBvL0QvZtmPkUetNti9Z+ygRReZs8etbOwEiEZ+4BELW MAyodsY+lpwvdqLN6M8XfdlDf/ZE2Zi7uwtAdbwmXsz++IIFmwJ0WXZuE/g1EWr0bZQesQq7qDA vImkqkTzILrdOgoMNh0oEY4P7qygvui8yeIjqjbvGvg7qWE7rQTsXQriqrR2ROXOllWowtJDMYs WbcCCalInF5b+4LSMskLmQON2yXPEWHT5QNhGC5jbsjAzKyS0O6yG1rC0xuzbS0Lt50HVH7lplD NqYQq/J7oC6R2omYtVjtwMOBd61vYehLx60xUrvof0POpEWPh/75vOoz5u7DJtZuV8jaQ= X-Developer-Key: i=flavra@baylibre.com; a=openpgp; fpr=8657854F953BDCA31EC314E6EDF13B73CE94365F Content-Transfer-Encoding: 8bit During regcache initialization, if an error occurs in the cache_ops->populate callback, and if cache operations include an exit callback, the error code from populate() is overwritten with the return value from exit(). This hides the error condition from the caller of regcache_init(), and can cause NULL pointer dereferences when the regcache is later accessed. Fixes: 94a3a95f0315 ("regcache: Add ->populate() callback to separate from ->init()") Signed-off-by: Francesco Lavra Cc: stable@kernel.org --- Changes from v1 [1]: - added stable tag to commit message [1] https://lore.kernel.org/driver-core/20260616114429.1852456-1-flavra@baylibre.com/T/ drivers/base/regmap/regcache.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/base/regmap/regcache.c b/drivers/base/regmap/regcache.c index 27616b05111c..aa8f2efed779 100644 --- a/drivers/base/regmap/regcache.c +++ b/drivers/base/regmap/regcache.c @@ -245,7 +245,7 @@ int regcache_init(struct regmap *map, const struct regmap_config *config) if (map->cache_ops->exit) { dev_dbg(map->dev, "Destroying %s cache\n", map->cache_ops->name); map->lock(map->lock_arg); - ret = map->cache_ops->exit(map); + map->cache_ops->exit(map); map->unlock(map->lock_arg); } err_free_reg_defaults: -- 2.39.5