From: Markus Lidel <Markus.Lidel@shadowconnect.com>
To: Al Viro <viro@ftp.linux.org.uk>
Cc: "David S. Miller" <davem@davemloft.net>,
alan@lxorguk.ukuu.org.uk, akpm@osdl.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/5] I2O: SPARC fixes
Date: Mon, 21 Nov 2005 01:48:10 +0100 [thread overview]
Message-ID: <4381194A.3080609@shadowconnect.com> (raw)
In-Reply-To: <20051120232158.GE27946@ftp.linux.org.uk>
Hello,
Al Viro wrote:
> On Sun, Nov 20, 2005 at 11:07:14PM +0000, Al Viro wrote:
>> And here's another fun one:
>> evt->size = size;
>> evt->tcntxt = le32_to_cpu(msg->u.s.tcntxt);
>> evt->event_indicator = le32_to_cpu(msg->body[0]);
>> memcpy(&evt->tcntxt, &msg->u.s.tcntxt, size * 4);
>>in i2o_driver_dispatch().
> Gaaack... Old code used to be
> evt = kmalloc(size * 4 + sizeof(*evt), GFP_ATOMIC);
> if (!evt)
> return -ENOMEM;
> memset(evt, 0, size * 4 + sizeof(*evt));
>
> evt->size = size;
> memcpy_fromio(&evt->tcntxt, &msg->u.s.tcntxt,
> (size + 2) * 4);
> Then it became
> evt->size = size;
> evt->tcntxt = readl(&msg->u.s.tcntxt);
> evt->event_indicator = readl(&msg->body[0]);
> memcpy_fromio(&evt->tcntxt, &msg->u.s.tcntxt, size * 4);
> See the problem with it? The last copy should be from &msg->body[1] to
> evt->data. As it is, we do not copy the last 8 bytes (which might or
> might not be a problem) *AND* we overwrite tcntxt and event_indicator
At the moment it's not a problem, because the event system is not used...
> with bus-endian values right after having host-endian ones carefully
> assigned to them.
Yep, you're right... the memcpy_fromio is wrong... It should be:
memcpy_fromio(&evt->body[1], &msg->body[1], size * 4);
as you already mentioned...
Thanks for your help.
Best regards,
Markus Lidel
------------------------------------------
Markus Lidel (Senior IT Consultant)
Shadow Connect GmbH
Carl-Reisch-Weg 12
D-86381 Krumbach
Germany
Phone: +49 82 82/99 51-0
Fax: +49 82 82/99 51-11
E-Mail: Markus.Lidel@shadowconnect.com
URL: http://www.shadowconnect.com
next prev parent reply other threads:[~2005-11-21 0:48 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-15 9:31 [PATCH 2/5] I2O: SPARC fixes Markus Lidel
2005-11-15 21:28 ` David S. Miller
2005-11-16 12:25 ` Markus Lidel
2005-11-16 19:18 ` David S. Miller
2005-11-17 8:12 ` Markus Lidel
2005-11-19 1:07 ` Markus Lidel
2005-11-19 1:22 ` David S. Miller
2005-11-19 3:30 ` Alan Cox
2005-11-19 4:37 ` David S. Miller
2005-11-19 13:18 ` Alan Cox
2005-11-20 21:38 ` Markus Lidel
2005-11-20 21:42 ` Markus Lidel
2005-11-20 22:52 ` Al Viro
2005-11-20 23:07 ` Al Viro
2005-11-20 23:21 ` Al Viro
2005-11-21 0:48 ` Markus Lidel [this message]
2005-11-21 1:20 ` Al Viro
2005-11-21 3:38 ` Al Viro
2005-11-21 8:46 ` Markus Lidel
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=4381194A.3080609@shadowconnect.com \
--to=markus.lidel@shadowconnect.com \
--cc=akpm@osdl.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=davem@davemloft.net \
--cc=linux-kernel@vger.kernel.org \
--cc=viro@ftp.linux.org.uk \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox