public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/10] Enhance /dev/mem to allow read/write of arbitrary physical addresses
@ 2011-06-17  8:38 Petr Tesarik
  2011-06-17  8:43 ` [PATCH 01/10] Return EOF on out-of-bounds read from /dev/mem Petr Tesarik
                   ` (10 more replies)
  0 siblings, 11 replies; 51+ messages in thread
From: Petr Tesarik @ 2011-06-17  8:38 UTC (permalink / raw)
  To: Andrew Morton, Fenghua Yu, H. Peter Anvin, Ingo Molnar,
	Paul Mundt, Russell King, Thomas Gleixner, Tony Luck, x86,
	linux-arm-kernel, linux-ia64, linux-sh
  Cc: linux-kernel

This patch series enhances /dev/mem, so that read and write is possible
at any address. The patchset includes actual implementation for x86.

Petr Tesarik (10):
  Return EOF on out-of-bounds read from /dev/mem
  (un)xlate_dev_mem_ptr: use phys_addr_t for the @phys parameter
  x86: translate highmem /dev/mem pointers
  ia64: change xlate_dev_mem_ptr's argument to phys_addr_t
  valid_phys_addr_range: use phys_addr_t for the @addr parameter
  sh: change valid_phys_addr_range's @addr param to phys_addr_t
  arm: change valid_phys_addr_range's @addr param to phys_addr_t
  ia64: change valid_phys_addr_range's @addr param to phys_addr_t
  x86: provide arch-specific valid_phys_addr_range()
  Allow reading/writing all memory through /dev/mem

 arch/arm/include/asm/io.h       |    2 +-
 arch/arm/mm/mmap.c              |    2 +-
 arch/ia64/include/asm/io.h      |    2 +-
 arch/ia64/include/asm/uaccess.h |    2 +-
 arch/ia64/kernel/efi.c          |    2 +-
 arch/sh/include/asm/io.h        |    2 +-
 arch/sh/mm/mmap.c               |    2 +-
 arch/x86/include/asm/io.h       |   15 +++++++++++++--
 arch/x86/mm/ioremap.c           |   24 ++++++++++++++++++------
 drivers/char/mem.c              |   14 ++++++++++----
 10 files changed, 48 insertions(+), 19 deletions(-)

-- 
1.7.3.4


^ permalink raw reply	[flat|nested] 51+ messages in thread
* Re: [PATCH 00/10] Enhance /dev/mem to allow read/write of arbitrary physical addresses
@ 2011-06-20 13:24 Dave Anderson
  2011-06-21  2:52 ` Cong Wang
  0 siblings, 1 reply; 51+ messages in thread
From: Dave Anderson @ 2011-06-20 13:24 UTC (permalink / raw)
  To: amwang; +Cc: Linux Kernel Mailing List

> On Mon, Jun 20, 2011 at 10:42:47, Amerigo Wang <amwang@redhat.com> wrote:
>> On Fri, Jun 17, 2011 at 5:55 PM, Petr Tesarik <ptesarik@suse.cz> wrote:
>> Dne Pá 17. června 2011 11:30:32 Ingo Molnar napsal(a):
>>> * Petr Tesarik <ptesarik@suse.cz> wrote:
>>> > This patch series enhances /dev/mem, so that read and write is
>>> > possible at any address. The patchset includes actual
>>> > implementation for x86.
>>>
>>> This series lacks a description of why this is desired.
>>
>> Hi Ingo,
>>
>>> My strong opinion is that it's not desired at all: /dev/mem never
>>> worked beyond 4G addresses so by today it has become largely obsolete
>>> and is on the way out really.
>>>
>>> I'm aware of these current /dev/mem uses:
>>>
>>>  - Xorg maps below 4G non-RAM addresses and the video BIOS
>>>
>>>  - It used to have some debugging role but these days kexec and kgdb
>>>    has largely taken over that role - partly due to the 4G limit.
>>
>> It is still used as a "memory source" by Dave Anderson's crash utility for
>> live examination of a running system. Redhat has "overcome" the /dev/mem
>> deficiencies by writing an out-of-tree re-implementation of /dev/mem, which
>> uses /dev/crash instead. As it is an "unnecessary duplication of an existing
>> driver", this method was rejected by the project manager here at SUSE.
>>
>> The suggested alternative was to enhance (or fix) the existing driver. Without
>> this patch series there is no way to access high memory. In conjunction with
>> CONFIG_HIGHPTE, it makes the crash utility near to useless on anything with
>> high memory, because crash can no longer translate virtual to physical
>> addresses.
>>
>
> How about /proc/kcore? AFAIK, it can access highmem, but Dave didn't consider
> it for some reason.

I don't know what you mean by I "didn't consider it", because 
the crash utility does support using /proc/kcore as an alternative
live memory source.

The problem is that /proc/kcore can only access highmem if it
is mapped as kernel virtual address.  So it cannot read 32-bit 
highmem PTE's, user-space memory, etc.

Dave


^ permalink raw reply	[flat|nested] 51+ messages in thread

end of thread, other threads:[~2011-07-05 22:39 UTC | newest]

Thread overview: 51+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-17  8:38 [PATCH 00/10] Enhance /dev/mem to allow read/write of arbitrary physical addresses Petr Tesarik
2011-06-17  8:43 ` [PATCH 01/10] Return EOF on out-of-bounds read from /dev/mem Petr Tesarik
2011-06-17  8:44 ` [PATCH 02/10] (un)xlate_dev_mem_ptr: use phys_addr_t for the @phys parameter Petr Tesarik
2011-06-17  8:45 ` [PATCH 03/10] x86: translate highmem /dev/mem pointers Petr Tesarik
2011-06-17  8:45 ` [PATCH 04/10] ia64: change xlate_dev_mem_ptr's argument to phys_addr_t Petr Tesarik
2011-06-17  8:45 ` [PATCH 05/10] valid_phys_addr_range: use phys_addr_t for the @addr parameter Petr Tesarik
2011-06-17  8:46 ` [PATCH 06/10] sh: change valid_phys_addr_range's @addr param to phys_addr_t Petr Tesarik
2011-06-17  8:46 ` [PATCH 07/10] arm: " Petr Tesarik
2011-06-17  8:47 ` [PATCH 08/10] ia64: " Petr Tesarik
2011-06-17  8:48 ` [PATCH 09/10] x86: provide arch-specific valid_phys_addr_range() Petr Tesarik
2011-06-17  8:48 ` [PATCH 10/10] Allow reading/writing all memory through /dev/mem Petr Tesarik
2011-06-17  9:30 ` [PATCH 00/10] Enhance /dev/mem to allow read/write of arbitrary physical addresses Ingo Molnar
2011-06-17  9:41   ` Russell King - ARM Linux
2011-06-17  9:55   ` Petr Tesarik
2011-06-20  2:42     ` Américo Wang
2011-06-27  7:46       ` Petr Tesarik
2011-06-19 23:02   ` Ryan Mallon
2011-06-19 23:44     ` H. Peter Anvin
2011-06-20  7:41       ` Ingo Molnar
2011-06-20 15:59         ` H. Peter Anvin
2011-06-20 16:40           ` Ingo Molnar
2011-06-20 16:44             ` H. Peter Anvin
2011-06-21  6:55           ` Srivatsa Vaddagiri
2011-06-20  0:42     ` Matthew Wilcox
2011-06-20  0:46       ` Ryan Mallon
2011-06-20  0:52         ` Matthew Wilcox
2011-06-20  1:02           ` Ryan Mallon
2011-06-20  7:31     ` Ingo Molnar
2011-06-20  8:03       ` Ryan Mallon
2011-06-20 17:10     ` Ray Lee
2011-06-29  9:05   ` Petr Tesarik
2011-07-01 12:58     ` Ingo Molnar
2011-07-01 13:43       ` Petr Tesarik
2011-07-01 13:47       ` Christoph Hellwig
2011-07-01 14:37         ` Ingo Molnar
2011-07-01 14:41           ` Christoph Hellwig
2011-07-01 14:46             ` Ingo Molnar
2011-07-01 14:54               ` Petr Tesarik
2011-07-01 15:36                 ` Ingo Molnar
2011-07-01 16:00                   ` H. Peter Anvin
2011-07-01 16:13                     ` Ingo Molnar
2011-07-01 19:34                       ` Petr Tesarik
2011-07-01 19:56                         ` Ingo Molnar
2011-07-01 20:44                           ` Petr Tesarik
2011-07-03 19:46                             ` Ingo Molnar
2011-07-05 17:49                               ` Matthew Garrett
2011-07-05 17:56                                 ` H. Peter Anvin
2011-07-05 22:34                                 ` H. Peter Anvin
  -- strict thread matches above, loose matches on Subject: below --
2011-06-20 13:24 Dave Anderson
2011-06-21  2:52 ` Cong Wang
2011-06-21 13:03   ` Dave Anderson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox