Messages in this thread | | | Date | Fri, 04 Jul 2008 08:33:14 +0200 | From | Stefan Richter <> | Subject | Re: mmap'ed memory in core files ? |
| |
Hidehiro Kawai wrote: > Philippe De Muyter wrote: >> drivers/ieee1394/dma.c: >> int dma_region_mmap(struct dma_region *dma, struct file *file, >> struct vm_area_struct *vma) >> { >> [...] >> vma->vm_ops = &dma_region_vm_ops; >> vma->vm_private_data = dma; >> vma->vm_file = file; >> vma->vm_flags |= VM_RESERVED; >> >> return 0; >> } >> >> So, actually the zone I would like to get dumped in the core file is tagged >> VM_RESERVED. >> >> I see the following ways to solve my problem : >> - do not tag the zone as VM_RESERVED in ieee1394::dma_region_mmap >> - tag the zone as VM_ALWAYSDUMP in ieee1394::dma_region_mmap >> - add a bit in coredump_filter to dump the VM_RESERVED zones. >> >> As I don't know the real meaning of VM_RESERVED, I do not know which choice >> is the best one for the official kernel tree,
I don't know these things either. But among else, VM_RESERVED prevents a vma from being swapped out. Makes kind of sense, given that besides the CPUs also the FireWire controller writes to this memory.
>> but locally I'll go for >> adding VM_ALWAYSDUMP in ieee1394::dma_region_mmap. > > I'm afraid I don't know real usages of VM_RESERVED and VM_IO, either. > Allowing everyone to choose whether dump the dma region or not, > perhaps we need to introduce a new VM flag (e.g. VM_DUMPABLE) and > a coredump_filter bit which controls (VM_IO | VM_RESERVED) && > VM_DUMPABLE area, for example. > > I think it is also OK to just add VM_ALWAYSDUMP flag to the dma > region if the device driver knows the region is safely readable > and small enough.
It is safely readable. I don't know if it is small enough. The size of the DMA buffer is AFAIK chosen by userspace (by the application program or maybe a library) which uses the character device file ABIs for isochronous FireWire IO of raw1394, video1394, or dv1394. -- Stefan Richter -=====-==--- -=== --=-- http://arcgraph.de/sr/
| |