From: Colin Ian King <colin.king@canonical.com>
To: James Hogan <james.hogan@imgtec.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Jiri Slaby <jslaby@suse.com>,
linux-metag@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] tty/metag_da: initialize number_written to zero
Date: Thu, 28 Jan 2016 18:48:17 +0000 [thread overview]
Message-ID: <56AA6271.1070108@canonical.com> (raw)
In-Reply-To: <20160127114206.GB20777@jhogan-linux.le.imgtec.org>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
On 27/01/16 11:42, James Hogan wrote:
> Hi Colin,
>
> On Tue, Jan 26, 2016 at 11:37:25PM +0000, Colin King wrote:
>> From: Colin Ian King <colin.king@canonical.com>
>>
>> number_written is not initialized, so it can be any value. In the
>> case where dport->xmit_cnt is zero, number_written is not set
>> and subsequent accesses to it will be reading a garbage value.
>
> the only subsequent accesses when dport->xmit_cnt == 0 are:
>
> /* if we've made more data available, wake up tty */
> if (count && number_written) {
>
> and:
>
> /* did the write fail? */
> return count && !number_written;
>
> but dport->xmit_cnt == 0 implies count == 0, so number_written shouldn
't
> be used, and both will evaluate to false regardless of the uninitialis
ed
> value, so it looks fine as it is to me.
>
> Is this tripping up some static analysis tool or something?
It was found using cppcheck, namely:
[drivers/tty/metag_da.c:269]: (error) Uninitialized variable: number_wri
tten
>
> Thanks
> James
>
>> Fix this by initializing it to zero for the case when
>> dport->xmit_count is zero.
>>
>> Signed-off-by: Colin Ian King <colin.king@canonical.com>
>> ---
>> drivers/tty/metag_da.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/tty/metag_da.c b/drivers/tty/metag_da.c
>> index 9325262..3da89c1 100644
>> --- a/drivers/tty/metag_da.c
>> +++ b/drivers/tty/metag_da.c
>> @@ -230,7 +230,7 @@ static int put_channel_data(unsigned int chan)
>> {
>> struct dashtty_port *dport;
>> struct tty_struct *tty;
>> - int number_written;
>> + int number_written = 0;
>> unsigned int count = 0;
>>
>> dport = &dashtty_ports[chan];
>> --
>> 2.7.0.rc3
>>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAEBCAAGBQJWqmJvAAoJEGjCh9/GqAImiFMP/R9IVGMLUlhGVrk+nTxg5ojU
ZAlaVWhClt08IGHJULMfSvXXwDe2k7Y9AybUD0DXB1eZvcNX8Grbs9knmQygyl+5
YETHTpYRbDutcH9Ru0wNAAclctMM+iGs0SRCfSsNvPA4OqpQVzZEsiu6QoyAxeCW
xsNkbO0NA15+A+af0jz/WZYAkibQ7S3ijco+O9ttR99aaRM8eMrZJHDdTzozAq60
ZnnQ4VMm287l0Y8Bh94T1E0+3WuonQeCLAM+Wxc43c4vH/Q2lLhxV4TvsmXJTFoQ
WZghBLtkf9Y792wx3uDzLQGBBP4XSSwTtchrhIv/q2mgeyCqFYONvM+Vk8uXTtYp
msRbdR45FB1blG8Asw5gqbMfiqYc0TpHXBmV1KeActYcBOYD9p7kE+pyFism9tK5
7sFb1ud3HnCCjJ31tCKq8Sqdy5UjsUtL46Avn1NBoQqxqCMLMWoEd/kbvMm8xJez
50s6cTIwpB6HKFva3FogUOgZN6fFn4vIegkn9zLtUab8G8ny665M9FyFIhmaS88C
PLjDOnyNzMs1nIReR0Eiw50V9a3ObPnN5zwZ45YgbGeHn9hYMBPWZb3swzovx6JP
d5t1zYZKBYVuIAmBKBM6LusfkDGTeD4yRNWtASmryD85AGNYsW09GgV+7NXE+tUf
xSHwQwslznAKKITlP/MZ
=sini
-----END PGP SIGNATURE-----
next prev parent reply other threads:[~2016-01-28 18:48 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-26 23:37 [PATCH] tty/metag_da: initialize number_written to zero Colin King
2016-01-26 23:37 ` Colin King
[not found] ` <1453851445-4645-1-git-send-email-colin.king-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
2016-01-27 11:42 ` James Hogan
2016-01-27 11:42 ` James Hogan
2016-01-28 18:48 ` Colin Ian King [this message]
2016-02-07 7:41 ` Greg Kroah-Hartman
[not found] ` <20160207074109.GA6508-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2016-02-07 7:59 ` Colin Ian King
2016-02-07 7:59 ` Colin Ian King
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=56AA6271.1070108@canonical.com \
--to=colin.king@canonical.com \
--cc=gregkh@linuxfoundation.org \
--cc=james.hogan@imgtec.com \
--cc=jslaby@suse.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-metag@vger.kernel.org \
/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.