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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Tue, 16 Jan 2007 09:58:04 -0800
From:	Arjan van de Ven <arjan@...radead.org>
To:	David Moore <dcm@....EDU>
Cc:	Kristian Høgsberg <krh@...planet.net>,
	linux1394-devel@...ts.sourceforge.net,
	theSeinfeld@...rs.sourceforge.net,
	Bill Davidsen <davidsen@....com>, linux-kernel@...r.kernel.org,
	libdc1394-devel@...ts.sourceforge.net
Subject: Re: allocation failed: out of vmalloc space error treating and
	VIDEO1394 IOC LISTEN CHANNEL ioctl failed problem

On Tue, 2007-01-16 at 00:21 -0500, David Moore wrote:
> On Mon, 2007-01-15 at 16:43 -0500, Kristian Høgsberg wrote:
> > On 1/15/07, Arjan van de Ven <arjan@...radead.org> wrote:
> > > again the best way is for you to provide an mmap method... you can then
> > > fill in the pages and keep that in some sort of array; this is for
> > > example also what the DRI/DRM layer does for textures etc...
> > 
> > That sounds a lot like what I have now (mmap method, array of pages)
> > so I'll just stick with that.
> 
> It sounds like the distinction Arjan is getting at is that the buffer
> should exist in the process's virtual address space instead of the
> kernel's virtual address space so that we have plenty of space available
> to us.

exactly! and either way the user would need that space allocated ANYWAY.

> 
> Thus, we should use get_user_pages() instead of vmalloc().  I think
> get_user_pages() will also automatically pin the memory. 

actually if you provide the mmap method yourself you're not going to
need get_user_pages(), because it's kernel allocated memory already!


>  And we'll also
> need to call get_user_pages() from a custom mmap() handler so that we
> know what process virtual address to assign to the region.

see above; it's one or the other. Personally I'd think the mmap method
is simpler, because there's less conditions to consider (again, the
malicious user passing you memory that is mmap'd PCI MMIO space is a
"fun" example, but there's a lot more cafes which are... funky)

Greetings,
   Arjan van de Ven
-- 
if you want to mail me at work (you don't), use arjan (at) linux.intel.com
Test the interaction between Linux and your BIOS via http://www.linuxfirmwarekit.org

-
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