From: "Diego Calleja García" <aradorlinux@yahoo.es>
To: Andrew Morton <akpm@osdl.org>
Cc: linux-kernel@vger.kernel.org
Subject: Re: 2.6.0-test4-mm4
Date: Tue, 2 Sep 2003 19:27:04 +0200 [thread overview]
Message-ID: <20030902192704.5a3dfce0.aradorlinux@yahoo.es> (raw)
In-Reply-To: <20030830161536.7e7be6d3.akpm@osdl.org>
El Sat, 30 Aug 2003 16:15:36 -0700 Andrew Morton <akpm@osdl.org> escribió:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.0-test4/2.6.0-test4-mm4/
I've found a application that triggers a 100% reproduceable bug. I don't know
if the app itself is doing something wrong...
The app is get-edid; which is supposed to get some data from the monitor:
Description: hardware information-gathering tool for VESA PnP monitors
read-edid consists of two tools; get-edid uses a VESA VBE 2 interrupt
service routine request to read a 128 byte EDID version 1 structure from
your graphics card, which retrieves this information from the monitor via
the Data Display Channel (DDC). parse-edid parses this data structure and
outputs data about the monitor suitable for inclusion into an XF86Config
file.
.
get-edid uses real-mode x86 instructions to communicate with the video
hardware; therefore, it is usable only by root, and this package is only
available for the i386 architecture.
Source is available here:
http://homepage.ntlworld.com/john.fremlin/programs/linux/read-edid/read-edid-1.4.1.tar.gz
more info at: http://homepage.ntlworld.com/john.fremlin/programs/linux/read-edid/
(under debian there's a package called 'read-edid').
Oops:
Debug: sleeping function called from invalid context at include/asm/uaccess.h:512
Call Trace:
[<c0123e41>] __might_sleep+0x61/0x80
[<c010e77e>] save_v86_state+0x6e/0x220
[<c012161a>] __wake_up_common+0x3a/0x70
[<c010f3a7>] handle_vm86_fault+0xb7/0xa10
[<c01cd9f6>] __copy_from_user_ll+0x66/0x70
[<c010c6a0>] do_general_protection+0x0/0xa0
[<c03004db>] error_code+0x2f/0x38
[<c02ffa6f>] syscall_call+0x7/0xb
strace (I don't know exactly what call triggers the bug):
execve("/usr/bin/get-edid", ["get-edid"], [/* 17 vars */]) = 0
uname({sys="Linux", node="estel", ...}) = 0
brk(0) = 0x804c000
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40014000
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=70443, ...}) = 0
old_mmap(NULL, 70443, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40015000
close(3) = 0
open("/lib/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320]\1"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1190032, ...}) = 0
old_mmap(NULL, 1199556, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40027000
old_mmap(0x40144000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x11c000) = 0x40144000
old_mmap(0x4014a000, 7620, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4014a000
close(3) = 0
munmap(0x40015000, 70443) = 0
write(2, "get-edid: get-edid version 1.4.1"..., 33get-edid: get-edid version 1.4.1
) = 33
open("/dev/zero", O_RDONLY) = 3
old_mmap(0x10000, 65536, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x10000
open("/dev/mem", O_RDWR) = 4
old_mmap(NULL, 1282, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 4, 0) = 0
old_mmap(0xa0000, 393216, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_FIXED, 4, 0xa0000) = 0xa0000
ioperm(0, 0x400, 0x1) = 0
iopl(0x3) = 0
write(2, "\n\tPerforming real mode VBE call\n", 32
Performing real mode VBE call
) = 32
write(2, "\tInterrupt 0x10 ax=0x4f00 bx=0x0"..., 40 Interrupt 0x10 ax=0x4f00 bx=0x0 cx=0x0
) = 40
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
Function supported
write(2, "\tCall successful\n\n", 18 Call successful
) = 18
write(2, "\tVBE version 300\n", 17 VBE version 300
) = 17
write(2, "\tVBE string at 0x11110 \"", 24 VBE string at 0x11110 ") = 24
write(2, "3", 13) = 1
write(2, "d", 1d) = 1
write(2, "f", 1f) = 1
write(2, "x", 1x) = 1
write(2, " ", 1 ) = 1
write(2, "I", 1I) = 1
write(2, "n", 1n) = 1
write(2, "t", 1t) = 1
write(2, "e", 1e) = 1
write(2, "r", 1r) = 1
write(2, "a", 1a) = 1
write(2, "c", 1c) = 1
write(2, "t", 1t) = 1
write(2, "i", 1i) = 1
write(2, "v", 1v) = 1
write(2, "e", 1e) = 1
write(2, ",", 1,) = 1
write(2, " ", 1 ) = 1
write(2, "I", 1I) = 1
write(2, "n", 1n) = 1
write(2, "c", 1c) = 1
write(2, ".", 1.) = 1
write(2, "\"\n", 2"
) = 2
write(2, "\nVBE/DDC service about to be cal"..., 36
VBE/DDC service about to be called
) = 36
write(2, "\tReport DDC capabilities\n", 25 Report DDC capabilities
) = 25
write(2, "\n\tPerforming real mode VBE call\n", 32
Performing real mode VBE call
) = 32
write(2, "\tInterrupt 0x10 ax=0x4f15 bx=0x0"..., 40 Interrupt 0x10 ax=0x4f15 bx=0x0 cx=0x0
) = 40
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
[tons of this]
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
Function supported
write(2, "\tCall successful\n\n", 18 Call successful
) = 18
write(2, "\tMonitor and video card combinat"..., 68 Monitor and video card combination does not support DDC1 transfers
) = 68
write(2, "\tMonitor and video card combinat"..., 60 Monitor and video card combination supports DDC2 transfers
) = 60
write(2, "\t0 seconds per 128 byte EDID blo"..., 44 0 seconds per 128 byte EDID block transfer
) = 44
write(2, "\tScreen is not blanked during DD"..., 44 Screen is not blanked during DDC transfer
) = 44
write(2, "Reading next EDID block\n", 24Reading next EDID block
) = 24
write(2, "\nVBE/DDC service about to be cal"..., 36
VBE/DDC service about to be called
) = 36
write(2, "\tRead EDID\n", 11 Read EDID
) = 11
write(2, "\n\tPerforming real mode VBE call\n", 32
Performing real mode VBE call
) = 32
write(2, "\tInterrupt 0x10 ax=0x4f15 bx=0x1"..., 40 Interrupt 0x10 ax=0x4f15 bx=0x1 cx=0x0
) = 40
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
[tons of the same...]
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
vm86old(0x804bbcc) = -1 ENOSYS (Function not implemented)
Function supported
write(2, "\tCall failed\n\n", 14 Call failed
) = 14
write(2, "The EDID data should not be trus"..., 59The EDID data should not be trusted as the VBE call failed
) = 59
write(2, "Error: output block unchanged\n", 30Error: output block unchanged
) = 30
close(1) = 0
exit_group(1) = ?
I hope it helps.
prev parent reply other threads:[~2003-09-02 17:55 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-08-30 23:15 2.6.0-test4-mm4 Andrew Morton
2003-08-31 14:41 ` 2.6.0-test4-mm4 Thomas Molina
2003-08-31 15:44 ` 2.6.0-test4-mm4 Zwane Mwaikambo
2003-09-01 1:11 ` 2.6.0-test4-mm4 Diego Calleja García
2003-09-02 17:27 ` Diego Calleja García [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20030902192704.5a3dfce0.aradorlinux@yahoo.es \
--to=aradorlinux@yahoo.es \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®