From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Amit Pundir <amit.pundir@linaro.org>,
lkml <linux-kernel@vger.kernel.org>,
linux-wireless@vger.kernel.org
Cc: Suren Baghdasaryan <surenb@google.com>,
Samuel Ortiz <sameo@linux.intel.com>,
Christophe Ricard <christophe.ricard@gmail.com>,
Greg KH <gregkh@linuxfoundation.org>,
John Stultz <john.stultz@linaro.org>,
Dmitry Shmidt <dimitrysh@google.com>,
Todd Kjos <tkjos@google.com>,
Android Kernel Team <kernel-team@android.com>
Subject: Re: [PATCH v2 3/3] NFC: fdp: Fix possible buffer overflow in WCS4000 NFC driver
Date: Thu, 03 May 2018 13:20:43 +0300 [thread overview]
Message-ID: <1525342843.21176.635.camel@linux.intel.com> (raw)
In-Reply-To: <1525283288-7027-4-git-send-email-amit.pundir@linaro.org>
On Wed, 2018-05-02 at 23:18 +0530, Amit Pundir wrote:
> From: Suren Baghdasaryan <surenb@google.com>
>
> Possible buffer overflow when reading next_read_size bytes into
> tmp buffer after next_read_size was extracted from a previous packet.
>
> Signed-off-by: Suren Baghdasaryan <surenb@google.com>
> Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
> ---
> v2:
> Remove redundant __func__ from dev_dgb().
>
> drivers/nfc/fdp/i2c.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/drivers/nfc/fdp/i2c.c b/drivers/nfc/fdp/i2c.c
> index c4da50e..b80d1ad 100644
> --- a/drivers/nfc/fdp/i2c.c
> +++ b/drivers/nfc/fdp/i2c.c
> @@ -176,6 +176,15 @@ static int fdp_nci_i2c_read(struct fdp_i2c_phy
> *phy, struct sk_buff **skb)
> /* Packet that contains a length */
> if (tmp[0] == 0 && tmp[1] == 0) {
> phy->next_read_size = (tmp[2] << 8) + tmp[3]
> + 3;
> + /*
> + * Ensure next_read_size does not exceed
> sizeof(tmp)
> + * for reading that many bytes during next
> iteration
> + */
> + if (phy->next_read_size >
> FDP_NCI_I2C_MAX_PAYLOAD) {
> + dev_dbg(&client->dev, "corrupted
> packet\n");
> + phy->next_read_size = 5;
Shouldn't be this magic replaced by
phy->next_read_size = FDP_NCI_I2C_MIN_PAYLOAD;
?
> + goto flush;
> + }
> } else {
> phy->next_read_size =
> FDP_NCI_I2C_MIN_PAYLOAD;
>
--
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy
next prev parent reply other threads:[~2018-05-03 10:20 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-02 17:48 [PATCH v2 0/3] Few NFC fixes from android-4.14 tree Amit Pundir
2018-05-02 17:48 ` [PATCH v2 1/3] NFC: st21nfca: Fix out of bounds kernel access when handling ATR_REQ Amit Pundir
2018-05-02 17:48 ` [PATCH v2 2/3] NFC: Fix possible memory corruption when handling SHDLC I-Frame commands Amit Pundir
2018-05-02 17:48 ` [PATCH v2 3/3] NFC: fdp: Fix possible buffer overflow in WCS4000 NFC driver Amit Pundir
2018-05-03 10:20 ` Andy Shevchenko [this message]
2018-05-03 18:26 ` Amit Pundir
2018-05-03 10:21 ` [PATCH v2 0/3] Few NFC fixes from android-4.14 tree Andy Shevchenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1525342843.21176.635.camel@linux.intel.com \
--to=andriy.shevchenko@linux.intel.com \
--cc=amit.pundir@linaro.org \
--cc=christophe.ricard@gmail.com \
--cc=dimitrysh@google.com \
--cc=gregkh@linuxfoundation.org \
--cc=john.stultz@linaro.org \
--cc=kernel-team@android.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=sameo@linux.intel.com \
--cc=surenb@google.com \
--cc=tkjos@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.