+++ This bug was initially created as a clone of Bug #457025 +++ Description of problem: cdrom_read_capacity() will blindly return the capacity from the device without sanity-checking it. This later causes code in fs/buffer.c to oops. Fix this by checking that the device is telling us sensible things. -- Additional comment from eteo on 2008-07-29 06:07 EST -- Proposed upstream patch: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=e8e7b9eb11c34ee18bde8b7011af41938d1ad667 -- Additional comment from eteo on 2008-07-29 06:10 EST -- With reference to http://lkml.org/lkml/2008/6/22/90, problem was triggered by running "genisoimage -C 16,737776 -M /dev/fd/3 -R -J foobar | builtin_dd of=/dev/dvd obs=32k seek=46111" on a ppc64 machine.
There's a follow-up patch that fixes a bug in commit e8e7b9eb11c34ee18bde8b7011af41938d1ad667. Please include commit 938bb03d188a1e688fb0bcae49788f540193e80a in your backported patch. Thanks.
Created attachment 314499 [details] Backport of mainstream patches The attached patch is the backport of the upstream git patches. On all tests I did here with RHEL4 with and without the patch, I couldn't reproduce the bug on i386. I suspect that it occurs only on some other architecture (the original report were on ppc64), or when the first DVD record has an unusual block size. The patch were posted today.
Updating PM score.
Committed in 78.24.EL . RPMS are available at http://people.redhat.com/vgoyal/rhel4/
An advisory 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 therefore 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/RHSA-2009-1024.html