lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <493FCD12.30000@codefidence.com>
Date:	Wed, 10 Dec 2008 16:07:14 +0200
From:	Gilad Ben-Yossef <gilad@...efidence.com>
To:	Wu Fengguang <fengguang.wu@...el.com>
CC:	Laurent Pinchart <laurent.pinchart@...net.be>,
	LKML <linux-kernel@...r.kernel.org>,
	Greg Kroah-Hartman <gregkh@...e.de>,
	"linux-usb@...r.kernel.org" <linux-usb@...r.kernel.org>
Subject: Re: [PATCH] USB: use stack allocation for struct usb_ctrlrequest

Wu Fengguang wrote:

> Hi Laurent,
>
> On Wed, Dec 10, 2008 at 11:40:09AM +0200, Laurent Pinchart wrote:
>   
>> Hi Wu,
>>
>> On Wednesday 10 December 2008, Wu Fengguang wrote:
>>     
>>> sizeof(struct usb_ctrlrequest) = 8, which is as small as the *dt pointer
>>> in a 64bit system.
>>>       
>> The usb_ctrlrequest pointer is passed down to the hardware and must point to 
>> DMA-able memory. For this reason you can't use the stack and must kmalloc() 
>> the structure.
>>     
>
> Ah thanks for the background. Does GFP_NOIO guarantee that?
>   
No, GFP_NOIO means - do not generate block IO operations (e.g. move 
pages to swap, sync dirty buffers to permanent storage etc.) in order to 
fulfill this allocation.

The reason for this flag here is presumably that such block IO 
operations may very cause USB transaction of the very same kind we're 
trying to service now, which can easily get us to a loop.
> e.g. what if the memory is allocated from ZONE_HIGHMEM?
>   
In many cases there is no problem to DMA high memory. If you happen to 
be working with a device that does have problems with full 32 bit 
addresses then GFP_DMA would be the right flag, not GFP_NOIO.

Cheers,
Gilad


-- 
Gilad Ben-Yossef 
Chief Coffee Drinker

Codefidence Ltd.
The code is free, your time isn't.(TM)

Web:    http://codefidence.com
Email:  gilad@...efidence.com
Office: +972-8-9316883 ext. 201
Fax:    +972-8-9316885
Mobile: +972-52-8260388

	The Doctor: Don't worry, Reinette, just a nightmare. 
	Everyone has nightmares. Even monsters from under the 
	bed have nightmares, don't you, monster?
	Reinette: What do monsters have nightmares about?
	The Doctor: Me! 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ