From: "Randy.Dunlap" <rddunlap@osdl.org>
To: andrei@arhont.com
Cc: linux-kernel@vger.kernel.org
Subject: Re: amd64 2.6.11 oops on modprobe
Date: Mon, 07 Mar 2005 13:47:32 -0800 [thread overview]
Message-ID: <422CCBF4.1060902@osdl.org> (raw)
In-Reply-To: <1110115990.5611.2.camel@whale.core.arhont.com>
Andrei Mikhailovsky wrote:
> Hi Randy,
>
> Done the kstack=32, here is the output:
>
> cat /proc/cmdline
> root=/dev/hda2 ro kstack=32 console=tty0
>
> P.S. Yeah, this oops is repeatable; hapens everytime
Hi Andrei,
I've been working on this with Daniel Staaf and Jean Delvare.
Jean enabled some more/different I2C bit banging code in
2.6.11, and that causes callers to use it differently.
Specifically, in saa7110_write_block() now does this first
"if" block instead of the "else" block:
if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
struct saa7110 *decoder = i2c_get_clientdata(client);
struct i2c_msg msg;
u8 block_data[54];
msg.len = 0;
msg.buf = (char *) block_data;
msg.addr = client->addr;
msg.flags = client->flags;
*** while (len >= 1) {
msg.len = 0;
block_data[msg.len++] = reg;
while (len-- >= 1 && msg.len < 54)
block_data[msg.len++] =
decoder->reg[reg++] = *data++;
ret = i2c_transfer(client->adapter, &msg, 1);
}
} else {
while (len-- >= 1) {
if ((ret = saa7110_write(client, reg++,
*data++)) < 0)
break;
}
}
The *** marked loop never terminates and keep incrementing <data>
until the oops occurs. Making a copy of <len> as signed instead of
unsigned is a temporary fix for this. Jean will be proposing a
real patch for that obfuscated loop.
--
~Randy
next prev parent reply other threads:[~2005-03-07 22:42 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-03-05 12:11 amd64 2.6.11 oops on modprobe Andrei Mikhailovsky
2005-03-06 0:53 ` Randy.Dunlap
2005-03-06 13:33 ` Andrei Mikhailovsky
2005-03-07 3:52 ` Randy.Dunlap
2005-03-07 5:01 ` Randy.Dunlap
2005-03-07 21:47 ` Randy.Dunlap [this message]
2005-03-08 19:15 ` Jean Delvare
2005-03-08 19:25 ` [PATCH 2.6] Fix i2c messsage flags in video drivers Jean Delvare
2005-03-09 18:40 ` Chris Wright
2005-03-09 21:55 ` Jean Delvare
2005-03-09 22:40 ` Ronald S. Bultje
2005-03-10 10:56 ` Jean Delvare
2005-03-10 0:47 ` Ronald S. Bultje
2005-03-10 11:50 ` Jean Delvare
2005-03-10 1:33 ` Ronald S. Bultje
2005-03-09 23:28 ` Chris Wright
2005-03-21 22:47 ` amd64 2.6.11 oops on modprobe Andrew Morton
2005-05-25 22:24 ` Andrew Morton
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=422CCBF4.1060902@osdl.org \
--to=rddunlap@osdl.org \
--cc=andrei@arhont.com \
--cc=linux-kernel@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.