RE: [PATCH v2 4/5] cramfs: add mmap support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 29 Aug 2017, Chris Brandt wrote:

> On Monday, August 28, 2017, Nicolas Pitre wrote:
> > OK I moved the lock promotion right at the beginning _before_ validating
> > the split point. Also got a reference on the file to make sure that
> > hasn't changed too.
> > 
> > > While we are at it, what happens if you mmap 120Kb, then munmap() the
> > middle
> > > 40Kb.  Leaving two 40Kb VMAs with 40Kb gap between them, that is.  Will
> > your
> > > ->vm_private_data be correct for both?
> > 
> > It wouldn't, but I now changed it to contain absolute values so now it
> > will. And if the split point lands in the hole then the code just
> > readjusts the pgoff at the beginning of the remaining part.
> > 
> > Here's the revised patch:
> 
> 
> For whatever it's worth, as soon as I moved to 4.13-rc7,
> CONFIG_CRAMFS_PHYSMEM=y crashes my XIP_KERNEL system before it can even 
> get to any console output.
> 
> (both the old patch and the new patch)
> 
> If CONFIG_CRAMFS_PHYSMEM is not set, my XIP system boots fine.
> 
> However, if I boot -rc7 as a uImage, the new patch works just as good as
> the old patch.

When not a uImage, do you mean by that a XIP kernel?  If so you should 
know by now from that other thread on LAK that the XIP linker script is 
broken and probably just worked by luck till now. Still, if you could 
bisect between -rc4 and -rc7 and pinpoint the change that makes it not 
work that would be better than speculations.


Nicolas
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Gstreamer Embedded]     [Linux MMC Devel]     [U-Boot V2]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux ARM Kernel]     [Linux OMAP]     [Linux SCSI]

  Powered by Linux