Re: [PATCH 143/190] Revert "power: twl4030: fix a missing check of return value"

Sebastian Reichel
2021-04-21T16:14:17Z

[-- Attachment #1: Type: text/plain, Size: 2409 bytes --]

Hi,

On Wed, Apr 21, 2021 at 03:00:18PM +0200, Greg Kroah-Hartman wrote:
> This reverts commit 6f12e46eebf1a7d4fdd66df5e815df96b8f8b1b5.
>
> Commits from @umn.edu addresses have been found to be submitted in "bad
> faith" to try to test the kernel community's ability to review "known
> malicious" changes. The result of these submissions can be found in a
> paper published at the 42nd IEEE Symposium on Security and Privacy
> entitled, "Open Source Insecurity: Stealthily Introducing
> Vulnerabilities via Hypocrite Commits" written by Qiushi Wu (University
> of Minnesota) and Kangjie Lu (University of Minnesota).
>
> Because of this, all submissions from this group must be reverted from
> the kernel tree and will need to be re-reviewed again to determine if
> they actually are a valid fix. Until that work is complete, remove this
> change to ensure that no problems are being introduced into the
> codebase.
>
> Cc: Kangjie Lu <kjlu@umn.edu>
> Cc: Sebastian Reichel <sebastian.reichel@collabora.com>
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> ---

Doing another review:

twl4030 is an I2C connected PMIC, so any read operation can
result in -EIO. If this happens 's' will not be initialized,
so without handling the error is_charging will be set to an
arbitrary state in the following lines. Exiting early from
twl4030_bci_get_property is ok and other HW read operation
failures in the same function are exiting early with proper
error code (as the patch introduced for the only read missing
this).

TL;DR: original patch is ok, I suggest to drop the revert.

-- Sebastian

> drivers/power/supply/twl4030_charger.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/power/supply/twl4030_charger.c b/drivers/power/supply/twl4030_charger.c
> index 1bc49b2e12e8..dcbd9f03f31a 100644
> --- a/drivers/power/supply/twl4030_charger.c
> +++ b/drivers/power/supply/twl4030_charger.c
> @@ -805,9 +805,7 @@ static int twl4030_bci_get_property(struct power_supply *psy,
> is_charging = state & TWL4030_MSTATEC_AC;
> if (!is_charging) {
> u8 s;
> - ret = twl4030_bci_read(TWL4030_BCIMDEN, &s);
> - if (ret < 0)
> - return ret;
> + twl4030_bci_read(TWL4030_BCIMDEN, &s);
> if (psy->desc->type == POWER_SUPPLY_TYPE_USB)
> is_charging = s & 1;
> else
> --
> 2.31.1
>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]