[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180510111658.sxf3mvye5q6ihxa7@ninjato>
Date: Thu, 10 May 2018 13:16:59 +0200
From: Wolfram Sang <wsa@...-dreams.de>
To: Wenwen Wang <wang6495@....edu>
Cc: Kangjie Lu <kjlu@....edu>,
"open list:I2C SUBSYSTEM" <linux-i2c@...r.kernel.org>,
open list <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2 2/2] i2c: core-smbus: fix a potential missing-check bug
On Sat, May 05, 2018 at 08:02:21AM -0500, Wenwen Wang wrote:
> In i2c_smbus_xfer_emulated(), the function i2c_transfer() is invoked to
> transfer i2c messages. The number of actual transferred messages is
> returned and saved to 'status'. If 'status' is negative, that means an
> error occurred during the transfer process. In that case, the value of
> 'status' is an error code to indicate the reason of the transfer failure.
> In most cases, i2c_transfer() can transfer 'num' messages with no error.
> And so 'status' == 'num'. However, due to unexpected errors, it is probable
> that only partial messages are transferred by i2c_transfer(). As a result,
> 'status' != 'num'. This special case is not checked after the invocation of
> i2c_transfer() and can potentially lead to unexpected issues in the
> following execution since it is expected that 'status' == 'num'.
>
> This patch checks the return value of i2c_transfer() and returns an error
> code -EIO if the number of actual transferred messages 'status' is not
> equal to 'num'.
>
> Signed-off-by: Wenwen Wang <wang6495@....edu>
Applied to for-current, thanks!
Download attachment "signature.asc" of type "application/pgp-signature" (834 bytes)
Powered by blists - more mailing lists