LWN: Comments on "ARM's multiply-mapped memory mess" https://lwn.net/Articles/409689/ This is a special feed containing comments posted to the individual LWN article titled "ARM's multiply-mapped memory mess". en-us Thu, 25 Sep 2025 01:33:36 +0000 Thu, 25 Sep 2025 01:33:36 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net ARM's multiply-mapped memory mess https://lwn.net/Articles/420080/ https://lwn.net/Articles/420080/ tiffang <div class="FormattedComment"> I just think that the kernel can change the page's attribute at runtime.<br> flush dcaches, mmu entries.. then give that clean page to device drivers.<br> And rollback when device drivers give it back afterward.<br> Can it be possible?<br> </div> Thu, 16 Dec 2010 03:52:43 +0000 ARM's multiply-mapped memory mess https://lwn.net/Articles/410426/ https://lwn.net/Articles/410426/ mwh <div class="FormattedComment"> It seems to be the cause of this bug, fwiw: <a href="https://bugs.edge.launchpad.net/ubuntu/+source/linux-linaro/+bug/627779">https://bugs.edge.launchpad.net/ubuntu/+source/linux-lina...</a><br> </div> Mon, 18 Oct 2010 20:19:03 +0000 ARM's multiply-mapped memory mess https://lwn.net/Articles/410334/ https://lwn.net/Articles/410334/ oak <div class="FormattedComment"> If it triggers user visible issues only rarely, in seemingly random circumstances (like some of the memory corruption bugs do) i.e. it's not reproducible, it's very well possible that nobody's identified what's causing "all those crashes", or that they're related.<br> <p> </div> Sun, 17 Oct 2010 15:58:44 +0000 ARM's multiply-mapped memory mess https://lwn.net/Articles/410325/ https://lwn.net/Articles/410325/ marcH <div class="FormattedComment"> <font class="QuotedText">&gt; gets() is still in the C language,</font><br> <p> ... whereas ioremap() is a Linux internal.<br> <p> <font class="QuotedText">&gt; despite it being next to impossible to use safely. </font><br> <p> ... whereas using ioremap() safely is not a problem.<br> <p> <font class="QuotedText">&gt; Removing it is an API/ABI change.</font><br> <p> ... whereas no one suggests removing ioremap().<br> <p> <font class="QuotedText">&gt; In some ways, the situation with ARM's memory remapping sounds similar</font><br> <p> Not really.<br> <p> </div> Sun, 17 Oct 2010 13:04:03 +0000 ARM's multiply-mapped memory mess https://lwn.net/Articles/410305/ https://lwn.net/Articles/410305/ jzbiciak <P><TT>gets()</TT> is still in the C language, despite it being next to impossible to use safely. But if you link against it, some platforms give you a big scary warning. If you're standards-conforming, you have to have it though. Removing it is an API/ABI change.</P> <P>In some ways, the situation with ARM's memory remapping sounds similar: a dangerous practice that seems to work suitably, despite the potential for it to go pear shaped when you least expect.</P> Sat, 16 Oct 2010 22:33:11 +0000 ARM's multiply-mapped memory mess https://lwn.net/Articles/410235/ https://lwn.net/Articles/410235/ gnb <div class="FormattedComment"> That in turn depends on the licence: most of their customers (sorry, partners) licence an implementation. They get given either synthesizable code or a hard macro that implements the core (+MMU +cache as appropriate) to drop into their chip. Modulo bugs, all chips of this sort with the same core IP should behave the same. A few large partners (Marvell, Ti?) have architecture licences that cover changing the implementation provided it still matches the spec. . In those cases all bets are off for behaviour that the spec. doesn't define.<br> <br> </div> Fri, 15 Oct 2010 22:17:44 +0000 ARM's multiply-mapped memory mess https://lwn.net/Articles/410194/ https://lwn.net/Articles/410194/ dlang <div class="FormattedComment"> that depsnds on exactly how detailed the specs are. I believe that the ARM specs are not behavior (i.e. must implement these commands these ways), but are instead a much lower level (arrange logic gates in this way)<br> </div> Fri, 15 Oct 2010 18:34:15 +0000 ARM's multiply-mapped memory mess https://lwn.net/Articles/410121/ https://lwn.net/Articles/410121/ drag <div class="FormattedComment"> One of the problems your going to face with ARM is that there is no one single implementation of the hardware, nor all the available hardware now is going to reflect all the hardware that is going to be.<br> <p> <p> ARM 6 is essentially a specification for a processor and not a real processor. Using the memory in the way the kernel does is 'unspecified'. It could work on today's processors made by Ti, but it could completely backfire on tomorrow's processors made by Marvel. <br> <p> It's impossible to know and if it does start corrupting memory in the kernel then it's going to be 100% ok as far as the processor designers are concerned because they are still following the specification.<br> <p> It's similar to having the kernel rely on unspecified GCC features were once a user chooses a GCC version they are forced to use it for ever and cannot change it no matter how badly it works with Linux.<br> </div> Fri, 15 Oct 2010 12:53:30 +0000 ARM's multiply-mapped memory mess https://lwn.net/Articles/409978/ https://lwn.net/Articles/409978/ felixfix <div class="FormattedComment"> This puzzles me too. I guessed as marcH does, in the first answer to your question. It sure sounds spooky, but if it's been running this way for some time (years?), it must be one of those things that the manufacturer might want to use themselves someday for something different, so they put out a vague "undefined" warning while knowing that it does work.<br> </div> Thu, 14 Oct 2010 15:19:02 +0000 ARM's multiply-mapped memory mess https://lwn.net/Articles/409974/ https://lwn.net/Articles/409974/ marcH <div class="FormattedComment"> <font class="QuotedText">&gt; Furthermore, Russell's patch looks to them like an API change,..</font><br> <p> Finally rejecting memory corruption is an API change? I can imagine such a logic backfiring and making his author not look serious.<br> <p> </div> Thu, 14 Oct 2010 15:08:33 +0000 ARM's multiply-mapped memory mess https://lwn.net/Articles/409972/ https://lwn.net/Articles/409972/ marcH <div class="FormattedComment"> The other possibility is that the behaviour "undefined" in the spec is actually very well defined in practice.<br> <p> </div> Thu, 14 Oct 2010 15:00:10 +0000 ARM's multiply-mapped memory mess https://lwn.net/Articles/409951/ https://lwn.net/Articles/409951/ NAR <div class="FormattedComment"> In a similar vein: my impression from the article is that there's been a memory corruption bug on the ARM architecture for at least half a year, yet nobody has been actually bit by it. Is there anybody who's actually using this kernel on version 6 ARM hardware?<br> </div> Thu, 14 Oct 2010 13:24:31 +0000 ARM's multiply-mapped memory mess https://lwn.net/Articles/409900/ https://lwn.net/Articles/409900/ dlang <div class="FormattedComment"> warning for one cycle will do very little good. it generally takes longer than that for any distros to start using a kernel and get it into the hands of the users (and in the embedded space where ARM is so strong, it's even worse)<br> <p> but even if it only took a week for a distro to QA and ship a kernel, and users started putting pressure on immediately, there is no chance for any development work to take place and still make it into the mainline kernel before the merge window closes.<br> <p> it will probably take multiple kernel cycles before the warning is seen by any users who don't compile their own kernels, and then more time for the pressure from the users to build up, and then development time to fix the problem, and then time to merge the fixes upstream.<br> <p> I don't see this taking place in less than a year, and probably a lot longer before everything is fixed.<br> </div> Thu, 14 Oct 2010 06:42:24 +0000 Puzzled https://lwn.net/Articles/409898/ https://lwn.net/Articles/409898/ ebiederm <div class="FormattedComment"> With PAT on x86 we don't seem to have that limitation.<br> <p> Can't the ARM guys just generalize the hard work that happened on x86 to guarantee to pages never get mapped to userspace with different attributes?<br> <p> </div> Thu, 14 Oct 2010 06:24:45 +0000 Followup https://lwn.net/Articles/409885/ https://lwn.net/Articles/409885/ corbet Since the article was posted, Linus has merged a patch re-enabling <tt>ioremap()</tt> on system RAM which emits a big, scary warning. Thu, 14 Oct 2010 03:05:45 +0000