From nobody Tue Apr 7 17:15:08 2026 Received: from mail-ed1-f52.google.com (mail-ed1-f52.google.com [209.85.208.52]) (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 7CF2C3FD124 for ; Mon, 2 Mar 2026 13:32:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772458343; cv=none; b=Zf3xONRN8AFljEwaafjSQk0n6evpG1Luisam/as2AgIWDYeRDFbQhDz2r29mLhE8prSsUZ73jmbbfl6Ih5Q9ck98xyVaaKXZZfBltxQM7PCgzoP8Eo9k+9+v292QHR6IOOVkFybAPq6ul+3QCevbdP/jZ50J8OigeuvkiDoiU1I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772458343; c=relaxed/simple; bh=dyTNs9MprdyGfjoYTC7GCr6CogMkIxtooeEvuDiyWbI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Xe1dNOALM0x89xZz4S3Q/Z3WQEy7hC+hvjdKGGjaRlzlJ8mqt4iesKm4R3AIuyAcDME5vyhUg0X+00vmGpt5Kr+ZBYhcOeee1/Ot2JtjnOeGTeM/zBfo5OlPQtYG0RzCKQGcbLLY+3BEEely7dxtMOgd9KzzmzP+eOIUPsIRPcM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=bMuOsEER; arc=none smtp.client-ip=209.85.208.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="bMuOsEER" Received: by mail-ed1-f52.google.com with SMTP id 4fb4d7f45d1cf-65fac0b51baso813592a12.0 for ; Mon, 02 Mar 2026 05:32:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1772458340; x=1773063140; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=cjlHqPkPckP75emu98ViOC8jnSkyM/XQ9Lo/8u+sKmY=; b=bMuOsEER8VbllsSHOl9CD/v23Onq9YEZWYMod6uNwtyvCMfLy+/GQgn6IayS/6MaT2 NRVHbzAFPvClqCs/bS/BIJblDv53Pr3aWZbq8JKslmXLswXhV7j+yFqbgXkhD/QMYnvN DfrbBmJ2rJ2dh6ds8thDb7JJ7McN+6PyUbxGeKVnQpNsJo8ZBcHzhiAN46v4Lfd5HUVC w9tDvJyNJI49HY4NiKYenvxLoWnEnQvDrMOWKDLuc8N6Yu2tz3VTk6DlidzAP+yIom5P 4bt9ZCm0ekiAVxsoS34rLMQgY41Jqp79qjP58UiF1U8zhuSDazgSFYQVZg2zz24uiSMd 3qew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772458340; x=1773063140; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=cjlHqPkPckP75emu98ViOC8jnSkyM/XQ9Lo/8u+sKmY=; b=aBv1EfGa0ijDxvrDc1kzK+J1CIg0myEy8+0Dj7nui1dTZx81srrk2dsatKzc95dT/+ uIQPWlBqp+AN7J7J4SKVaHuJW2NBPLjNhOG2jqOmH44vokS2lT2CAC2U9V3vKxsVs4iD 1tt6Zx9yNh8T6EYEtTUbZSRKl1kBEBjk7ywsrf4EKJTNvWMzjoEHI9Dsm8mfLlTVkcSH J/AIYzC+eC82XyACWxmMAupuqIQ2VjlR0fH9bNKqH2T2C5f2Cf4TyNfYGOGBk8oeL+KB VmwsVolUQZVItd8lBZQZhmYkE+PNy+4j3Gb0nmshMOdTvSE5JJqVm97Fgdb/9sxndJoc tXwg== X-Forwarded-Encrypted: i=1; AJvYcCV1b7GvhD5zDa0o48OpfmLjIw1nn/bIE0/UsFwF4wJomD+jWIVLCZ4/wqhZmXNjtMsIaRyn/gAi7VQH9Bk=@vger.kernel.org X-Gm-Message-State: AOJu0YyDrKaBQk0cqqVjq174+SEN+p+ZiJkTMU/4A9O1mN8DdA5xaIaD yeFYKJa40UUY2PS0XBNVxjFcimHRjGd9+2o4nY2JvWXBsiBQyOAuphoaGlPEWH6uk/o= X-Gm-Gg: ATEYQzynUKVG6WMRqiJOTGSDo47yXEYRJh6Qt6kTZdviLYHSquGzTOGK40f5TLGGwJ5 jRFD/6ob09MM80Ie4iD+IsPHc5wZutLQo8GuUVRLTFU/yPzE5gZ45DPqlbP2O88+H0+c3Mq1Sm/ KfFrCMiHg4bvuoaD52cODgy/1fevuHeFY4y4zEGgCKqpa0DvDlk8+ZTopsRK63fw9I/U2p0raWx /MPNOCuu5MGW/3CAn1Wj6s6hcdnI7m4jEalv1fE2I59bKdajf4fcA1TFf4ocsVkJRMLiM2jKo0e K7OEy6MJ+zm4KUG/oSlpVfCfT3jvNF3PU9NNm9H5sbECV4vOHWOsg2UrlJY649qkHiBKjpGlhN5 7g5MCEeMYsncmkuU1QYR4fEegAyV1gBlFrPOR8uYjt8RsPoqoihRaEeiskQBdU15TQ201RoCyeW QlG2joMdE0GUgw5wNK0f0iCSfRW+FGM2FRL4fMcKUGzIM8AtsLT0rQynDcLLeT7KA6hmoaDecUE 83UqKWTFxjGDb2QP2m/zj7j/w== X-Received: by 2002:a05:6402:1449:b0:658:a54c:d6f9 with SMTP id 4fb4d7f45d1cf-65fab6e90d3mr9715764a12.5.1772458339872; Mon, 02 Mar 2026 05:32:19 -0800 (PST) Received: from puffmais2.c.googlers.com (221.210.91.34.bc.googleusercontent.com. [34.91.210.221]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-65fabf6d1c6sm3282988a12.17.2026.03.02.05.32.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Mar 2026 05:32:19 -0800 (PST) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Mon, 02 Mar 2026 13:32:05 +0000 Subject: [PATCH v3 06/11] power: supply: max17042: avoid overflow when determining health Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260302-max77759-fg-v3-6-3c5f01dbda23@linaro.org> References: <20260302-max77759-fg-v3-0-3c5f01dbda23@linaro.org> In-Reply-To: <20260302-max77759-fg-v3-0-3c5f01dbda23@linaro.org> To: Hans de Goede , Krzysztof Kozlowski , Marek Szyprowski , Sebastian Krzyszkowiak , Purism Kernel Team , Sebastian Reichel , Rob Herring , Conor Dooley , Ramakrishna Pallala Cc: Peter Griffin , Tudor Ambarus , Juan Yescas , Amit Sunil Dhamne , kernel-team@android.com, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= , stable@vger.kernel.org X-Mailer: b4 0.14.3 If vmax has the default value of INT_MAX (e.g. because not specified in DT), battery health is reported as over-voltage. This is because adding any value to vmax (the vmax tolerance in this case) causes it to wrap around, making it negative and smaller than the measured battery voltage. Avoid that by using size_add(). Fixes: edd4ab055931 ("power: max17042_battery: add HEALTH and TEMP_* proper= ties support") Cc: stable@vger.kernel.org Signed-off-by: Andr=C3=A9 Draszik --- v3: - drop a useless comment introduced in earlier versions. --- drivers/power/supply/max17042_battery.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/power/supply/max17042_battery.c b/drivers/power/supply= /max17042_battery.c index b9277f81a25d..39091fb31711 100644 --- a/drivers/power/supply/max17042_battery.c +++ b/drivers/power/supply/max17042_battery.c @@ -201,7 +201,7 @@ static int max17042_get_battery_health(struct max17042_= chip *chip, int *health) goto out; } =20 - if (vbatt > chip->pdata->vmax + MAX17042_VMAX_TOLERANCE) { + if (vbatt > size_add(chip->pdata->vmax, MAX17042_VMAX_TOLERANCE)) { *health =3D POWER_SUPPLY_HEALTH_OVERVOLTAGE; goto out; } --=20 2.53.0.473.g4a7958ca14-goog