RE: [PATCH v2 4/5] cramfs: add mmap support
From: Chris Brandt <Chris.Brandt@renesas.com>
Date: 2017-08-29 20:11:22
Also in:
lkml
On Tuesday, August 29, 2017, Nicolas Pitre wrote:
On Tue, 29 Aug 2017, Chris Brandt wrote:quoted
On Monday, August 28, 2017, Nicolas Pitre wrote:quoted
OK I moved the lock promotion right at the beginning _before_validatingquoted
quoted
the split point. Also got a reference on the file to make sure that hasn't changed too.quoted
While we are at it, what happens if you mmap 120Kb, then munmap()thequoted
quoted
middlequoted
40Kb. Leaving two 40Kb VMAs with 40Kb gap between them, that is.Willquoted
quoted
yourquoted
->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?
Yes, CONFIG_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.
Note that everything else seem OK when CONFIG_XIP_KERNEL=y. It's just when CONFIG_XIP_KERNEL=y CONFIG_CRAMFS_PHYSMEM=y which is odd. So hopefully that means it will be easy to track down. Chris