Hi

I'm running an application which uses the USB as disk on key, and I 

This application allocate a memory space which isn't initialized, And
write it to the scsi device (USB diskonkey), Since the buffer isn't
initialize and the App uses a direct mode, which means the buffer isn't
Copy from user space to kernel space, when the kernel looks for the
physical address of the Buffer it get page exception.
The page exception detects that this buffer isn't going to be used for
write and its not initialized, Therefore it uses the kernel zero page,
which is a reserved page filled with zeros. (used in order to Accelerate
page mapping).
This page is located at physical address 0. (on the ARM arch)
When this page is passed to the USB stack, the USB host mistranslate the
buffer with a read request.

Fix:
 The USB stack should check for zero length, and not for zero buffer.
(see patch attached)

Please comment.

Regards 

Ronen Shitrit 
Marvell Semiconductor Israel Ltd
6 Hamada Street 
Mordot HaCarmel Industrial Park
Yokneam 20692, ISRAEL
Email - [EMAIL PROTECTED]
Tel - + 972 4 9091466
Fax - + 972 4 9091501
WWW Page: http://www.marvell.com 

This message may contain confidential, proprietary or legally privileged
information. The information is intended only for the use of the
individual or entity named above. If the reader of this message is not
the
intended recipient, you are hereby notified that any dissemination,
distribution or copying of this communication is strictly prohibited. If
you have received this communication in error, please notify us
immediately by telephone, or by e-mail and delete the message from your
computer.

Attachment: ehci-q.patch
Description: ehci-q.patch

Reply via email to