From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Mosberger Date: Sat, 18 Oct 2003 00:21:13 +0000 Subject: Re: [RFC] prevent "dd if=/dev/mem" crash Message-Id: List-Id: References: In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-ia64@vger.kernel.org >>>>> On Fri, 17 Oct 2003 16:55:43 -0700, Andrew Morton said: >> If we really believe copy_*_user() must correctly handle *all* faults, >> isn't the "p >= __pa(high_memory)" test superfluous? Andrew> This code was conceived before my time and I don't recall seeing much Andrew> discussion, so this is all guesswork.. Andrew> I'd say that the high_memory test _is_ superfluous and that Andrew> if anyone cared, we would remove it and establish a Andrew> temporary pte against the address if it was outside the Andrew> direct-mapped area. But nobody cares enough to have done Andrew> anything about it. What about memory-mapped device registers? Isn't all memory physically contiguous on x86 and that's why the "p >__pa(high_memory)" test saves you from that? >> On ia64, a read to non-existent physical memory causes the processor >> to time out and take a machine check. I'm not sure it's even possible >> to recover from that. Andrew> ick. That would be very poor form. Reasonable people can disagree on that. One philosophy states that if your kernel touches random addresses, it's better to signal a visible error (machine-check) than to risk silent data corruption. --david