Kernel oops when mounting UDF volume
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Medium
|
Herton R. Krzesinski | ||
Natty |
Fix Released
|
Undecided
|
Herton R. Krzesinski | ||
Oneiric |
Fix Released
|
Medium
|
Herton R. Krzesinski |
Bug Description
SRU Justification
=================
Impact
Regression after the update to 2.6.38.8, there is a possibility of crash
in block code after the change "block: don't block events on excl write
for non-optical devices", like the one reported in bug 857170
Fix
Fixed by upstream commit 4c49ff3fe128ca6
tested by the reporter in this bug.
Testcase
Report in this bug shows one way to reproduce the issue.
-------
After installing kernel version 2.6.38-
I investigated some more and realized that it was upon attempting to mount the inserted CD (with UDF) that the error was thrown.
I can reproduce this error manually with the following recipe:
- Start the computer, boot Linux with kernel 2.6.38-
- Skip graphical login and VT-switch to console one and log in.
- Attempt to mount /dev/hda (which the device assigned to the built-in DVD-RW) as UDF as in the following example:
---
$ sudo mount -t udf /dev/hda mountpoint
[ 84.594281] Unable to handle kernel paging request for data at address 0x00000320
[ 84.594303] Faulting instruction address: 0xc00000000025adbc
[ 84.594317] Oops: Kernel access of bad area, sig: 11 [#1]
[ 84.594329] SMP NR_CPUS=1024 NUMA PowerMac
[ 84.594347] last sysfs file: /sys/module/
[ 84.594360] Modules linked in: udf sha256_generic aes_generic parport_pc ppdev lp parport dm_crypt binfmt_misc rfcomm sco bnep l2cap btusb bluetooth sil164 nouveau drm_kms_helper ttm drm snd_aoa_codec_onyx snd_aoa_
[ 84.594753] NIP: c00000000025adbc LR: c00000000025ada8 CTR: c00000000053d560
[ 84.594768] REGS: c0000001726675c0 TRAP: 0300 Not tainted (2.6.38-
[ 84.594781] MSR: 9000000000009032 <EE,ME,IR,DR> CR: 24448442 XER: 20000000
[ 84.594819] DAR: 0000000000000320, DSISR: 40000000
[ 84.594830] TASK = c00000016b11d13
[ 84.594847] GPR00: 0000000000000000 c000000172667840 c000000001160190 c0000000013f58c0
[ 84.594876] GPR04: c000000179306dd0 0000000000000000 c000000000195a08 a000000000000000
[ 84.594905] GPR08: c00000017bfd4c00 c0000000013f58c8 0000000000000000 5e86cff07c1b7400
[ 84.594934] GPR12: 0000000024444428 c00000000ff60280 0000000000000000 0000000010114ec8
[ 84.594964] GPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[ 84.594993] GPR20: 00000000100231f8 0000000000000000 0000000000000000 c00000000118e580
[ 84.595022] GPR24: c000000179306da0 ffffffffffffffe2 0000000000000000 0000000000000083
[ 84.595051] GPR28: c000000179306d80 c000000179306d80 c0000000010ae9b8 c000000172667840
[ 84.595087] NIP [c00000000025adbc] .blkdev_
[ 84.595100] LR [c00000000025ada8] .blkdev_
[ 84.595111] Call Trace:
[ 84.595119] [c000000172667840] [c00000000025ada8] .blkdev_
[ 84.595141] [c000000172667900] [c00000000025b0d4] .blkdev_
[ 84.595159] [c0000001726679a0] [c000000000210970] .mount_
[ 84.595181] [c000000172667a80] [d000000001c62a2c] .udf_mount+
[ 84.595197] [c000000172667b20] [c00000000020ffac] .vfs_kern_
[ 84.595214] [c000000172667be0] [c0000000002102b4] .do_kern_
[ 84.595230] [c000000172667c90] [c00000000023ba70] .do_mount+
[ 84.595248] [c000000172667d60] [c000000000278814] .compat_
[ 84.595265] [c000000172667e30] [c0000000000085b0] syscall_
[ 84.595280] Instruction dump:
[ 84.595290] 6b5a0001 0b1a0000 3b400000 7fa3eb78 38800000 fb430051 4be7f99d 60000000
[ 84.595327] 880d01dc 2f800000 409e00f8 7c2004ac <80160320> 39200000 91370000 7809c7e3
[ 84.600364] ---[ end trace efdcc03d2a77700c ]---
---
I have verified that this problem does not occur with kernel version 2.6.38-
ProblemType: Bug
DistroRelease: Ubuntu 11.04
Package: linux-image-
ProcVersionSign
Uname: Linux 2.6.38-
AcpiTables:
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.23.
AplayDevices:
**** List of PLAYBACK Hardware Devices ****
card 0: SoundByLayout [SoundByLayout], device 0: Master []
Subdevices: 1/1
Subdevice #0: subdevice #0
Architecture: powerpc
ArecordDevices:
**** List of CAPTURE Hardware Devices ****
card 0: SoundByLayout [SoundByLayout], device 0: Master []
Subdevices: 1/1
Subdevice #0: subdevice #0
AudioDevicesInUse:
USER PID ACCESS COMMAND
/dev/snd/
CRDA: Error: [Errno 2] Filen eller katalogen finns inte
Card0.Amixer.info:
Card hw:0 'SoundByLayout'
Mixer name : 'SoundByLayout'
Components : ''
Controls : 18
Simple ctrls : 14
Date: Fri Sep 23 10:36:19 2011
EcryptfsInUse: Yes
HibernationDevice: RESUME=
InstallationMedia: Ubuntu 10.04 LTS "Lucid Lynx" - Release powerpc (20100428)
PciMultimedia:
ProcEnviron:
LANGUAGE=sv_SE:en
PATH=(custom, user)
LANG=sv_SE.utf8
SHELL=/bin/bash
ProcKernelCmdLine: root=/dev/sda7 ro quiet splash
RelatedPackageV
linux-
linux-
linux-firmware 1.52.4
SourcePackage: linux
UpgradeStatus: Upgraded to natty on 2011-05-10 (135 days ago)
Changed in linux (Ubuntu): | |
status: | New → Confirmed |
Changed in linux (Ubuntu Oneiric): | |
status: | In Progress → Fix Released |
Changed in linux (Ubuntu Natty): | |
status: | New → Fix Committed |
assignee: | nobody → Herton R. Krzesinski (herton) |
tags: | added: regression-update |
I know nothing about powerpc ISA/arch, but it seems the crash point is NIP [c00000000025adbc] .blkdev_ get+0x16c/ 0x2c0
Since there is no ddebs built for powerpc, I built myself using same natty toolchain, this is what gdb points at blkdev_get+0x16c: herton/ ubuntu- natty/fs/ block_dev. c:1270) . BLOCK_EVENTS_ ON_EXCL_ WRITE) && bd_write_ holder) { write_holder = true; events( disk);
(gdb) l *(blkdev_get+0x16c)
0xc00000000025adbc is in blkdev_get (/home/
1265 * write holder makes the write_holder state stick until
1266 * all are released. This is good enough and tracking
1267 * individual writeable reference is too fragile given the
1268 * way @mode is used in blkdev_get/put().
1269 */
1270 if ((disk->flags & GENHD_FL_
1271 !res && (mode & FMODE_WRITE) && !bdev->
1272 bdev->bd_
1273 disk_block_
1274 }
Which means likely this bug will be fixed by cherry-picking commit 4c49ff3 upstream on natty.
I'll build a test kernel on Monday with the fix and ask you try it.