On Wed, Jul 02, 2014 at 03:32:59PM +0200, Joerg Roedel wrote: > Hi David, > > On Wed, Apr 30, 2014 at 11:49:33AM +0100, David Woodhouse wrote: > > There could be all kinds of existing mappings in the DMA page tables, > > and I'm not sure it's safe to preserve them. What prevents the crashdump > > kernel from trying to use any of the physical pages which are > > accessible, and which could thus be corrupted by stray DMA? > > > > In fact, the old kernel could even have set up 1:1 passthrough mappings > > for some devices, which would then be able to DMA *anywhere*. Surely we > > need to prevent that? > > Ideally we would prevent that, yes. But the problem is that a failed DMA > transaction might put the device into an unrecoverable state. Usually > any in-flight DMA transactions should only target buffers set up by the > previous kernel and not corrupt any data. > > > After the last round of this patchset, we discussed a potential > > improvement where you point every virtual bus address at the *same* > > physical scratch page. > > That is a solution to prevent the in-flight DMA failures. But what > happens when there is some in-flight DMA to a disk to write some inodes > or a new superblock. Then this scratch address-space may cause > filesystem corruption at worst. > > So with this in mind I would prefer initially taking over the > page-tables from the old kernel before the device drivers re-initialize > the devices. > > > Joerg David, Joerg, What do you think here? Do you want me to update the patch set for 3.17? Jerry -- ---------------------------------------------------------------------------- Jerry Hoemann Software Engineer Hewlett-Packard 3404 E Harmony Rd. MS 57 phone: (970) 898-1022 Ft. Collins, CO 80528 FAX: (970) 898-XXXX email: jerry.hoemann at hp.com ----------------------------------------------------------------------------