Bug 128469 - accessing /dev/kmem on hugemem kernel causes oops
Summary: accessing /dev/kmem on hugemem kernel causes oops
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 3
Classification: Red Hat
Component: kernel
Version: 3.0
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Arjan van de Ven
QA Contact: Brian Brock
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2004-07-23 11:34 UTC by Neil Horman
Modified: 2007-11-30 22:07 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2004-12-20 20:55:46 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
patch to range check address in /dev/kmem (1.81 KB, patch)
2004-07-23 11:36 UTC, Neil Horman
no flags Details | Diff
alternate patch from upstream 2.6 kernel to fix /dev/kmem oops problem (861 bytes, patch)
2004-07-23 11:37 UTC, Neil Horman
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2004:550 0 normal SHIPPED_LIVE Updated kernel packages available for Red Hat Enterprise Linux 3 Update 4 2004-12-20 05:00:00 UTC

Description Neil Horman 2004-07-23 11:34:11 UTC
Description of problem:
On the hugemem kernel, reading from an invalid kernel address in
/dev/kmem causes an oops

Version-Release number of selected component (if applicable):
all RHEL3 hugemem kernels

How reproducible:
always

Steps to Reproduce:
1.Boot a RHEL3 hugemem kernel
2.su root
3.cat /dev/kmem
  
Actual results:
Kernel panic

Expected results:
kernel memory data or -EFAULT error (behavior under non-hugemem kernels

Additional info:

Comment 1 Neil Horman 2004-07-23 11:36:06 UTC
Created attachment 102169 [details]
patch to range check address in /dev/kmem

This patch should preform a valid address range check on all kernels and allow
invalid addresses to return -EFAULT when passed in.

Comment 2 Neil Horman 2004-07-23 11:37:55 UTC
Created attachment 102170 [details]
alternate patch from upstream 2.6 kernel to fix /dev/kmem oops problem

I'm uploading this backport of the 2.6 kernel solution to this problem.  I'm
doing it to be complete, but I don't think its	a good solution, as the
upstream method just makes /dev/kmem return -EPERM unconditionally on all reads
and writes weather or not you are root.  It effectively depricates /dev/kmem,
and probably isn't viable to current RHEL users.

Comment 3 Neil Horman 2004-07-23 11:41:06 UTC
Sorry, didn't see the old bug was reopened.  Marking this as a dup.

*** This bug has been marked as a duplicate of 108450 ***

Comment 4 Ernie Petrides 2004-09-04 00:46:47 UTC
A fix for this problem has just been committed to the RHEL3 U4
patch pool this evening (in kernel version 2.4.21-20.3.EL).

Thanks for your work on this, Neil.  -ernie


Comment 5 John Flanagan 2004-12-20 20:55:46 UTC
An errata has been issued which should help the problem 
described in this bug report. This report is therefore being 
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files, 
please follow the link below. You may reopen this bug report 
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2004-550.html



Note You need to log in before you can comment on or make changes to this bug.