lkml.org 
[lkml]   [2011]   [Nov]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: extra large DMA buffer for PCI-E device under UIO
    On Tue, Nov 22, 2011 at 08:40:40PM +0200, Michael S. Tsirkin wrote:
    > On Tue, Nov 22, 2011 at 06:54:02PM +0100, Hans J. Koch wrote:
    > > On Tue, Nov 22, 2011 at 07:37:23PM +0200, Michael S. Tsirkin wrote:
    > > [...]
    > > > > Or am I better off with a UIO solution?
    > > >
    > > > You should probably write a proper kernel driver, not a UIO one.
    > > > your kernel driver would have to prevent the device fom DMA into memory
    > > > outside the allocated range, even if userspace is malicious.
    > > > That's why UIO is generally not recommended for PCI devices that do DMA.
    > >
    > > When UIO was designed, the main goal was the ability to handle interrupts
    > > from userspace. There was no requirement for DMA. In fact, in five years I
    > > didn't get one real world device on my desk that needed it. That doesn't
    > > mean there are no such devices. Adding DMA support to the UIO core was
    > > discussed several times but noone ever did it. Ideas are still welcome...
    > >
    > > If parts of the driver should be in userspace, you should really try
    > > to extend the UIO core instead of re-implementing UIO functionality in
    > > a "proper kernel driver".
    > >
    > > Thanks,
    > > Hans
    >
    > Right, I really meant put all of the driver in the kernel.
    > If parts are in userspace, and device can do DMA,
    > you are faced with the problem as userspace suddenly
    > can access arbitrary memory through the device.

    That's nothing UIO specific. You have the same problem with /dev/mem
    or graphic cards. If you're root, you can do lots of things that can
    compromise security or crash your system.

    Thanks,
    Hans


    \
     
     \ /
      Last update: 2011-11-22 19:55    [W:0.034 / U:31.476 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site