Re: BUG: Null pointer dereference in fs/open.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 23 Apr 2007, Andrew Morton wrote:
On Tue, 24 Apr 2007 05:10:04 +0000 (GMT) William Heimbigner <[email protected]> wrote:

--- a/drivers/block/pktcdvd.c~packet-fix-error-handling
+++ a/drivers/block/pktcdvd.c
@@ -777,7 +777,8 @@ static int pkt_generic_packet(struct pkt
		rq->cmd_flags |= REQ_QUIET;

	blk_execute_rq(rq->q, pd->bdev->bd_disk, rq, 0);
-	ret = rq->errors;
+	if (rq->errors)
+		ret = -EIO;
out:
	blk_put_request(rq);
	return ret;
_

This patch fixes (or conceals?) the oops.


Fixes.  But does the packet driver actually work OK for you?  Writes
files and stuff like that?

Short answer, no.

Long answer:
# pktsetup 0 /dev/hdc
[11508.006818] =============================================
[11508.028248] [ INFO: possible recursive locking detected ]
[11508.044413] 2.6.21-rc7-git5 #23
[11508.053818] ---------------------------------------------
[11508.069989] vol_id/4315 is trying to acquire lock:
[11508.084332] (&bdev->bd_mutex){--..}, at: [<c019a82f>] do_open+0x4f/0x2c0
[11508.104867]
[11508.104868] but task is already holding lock:
[11508.122359] (&bdev->bd_mutex){--..}, at: [<c019a82f>] do_open+0x4f/0x2c0
[11508.142862]
[11508.142863] other info that might help us debug this:
[11508.162460] 2 locks held by vol_id/4315:
[11508.174212] #0: (&bdev->bd_mutex){--..}, at: [<c019a82f>] do_open+0x4f/0x2c0 [11508.196066] #1: (&ctl_mutex#2){--..}, at: [<c04c221c>] mutex_lock+0x1c/0x20
[11508.217720]
[11508.217721] stack backtrace:
[11508.230821]  [<c010521a>] show_trace_log_lvl+0x1a/0x30
[11508.246255]  [<c0105952>] show_trace+0x12/0x20
[11508.259619]  [<c0105a46>] dump_stack+0x16/0x20
[11508.272974]  [<c013e410>] __lock_acquire+0xbc0/0x1040
[11508.288157]  [<c013e900>] lock_acquire+0x70/0x90
[11508.302035]  [<c04c229e>] mutex_lock_nested+0x7e/0x2e0
[11508.317475]  [<c019a82f>] do_open+0x4f/0x2c0
[11508.330314]  [<c019ab19>] __blkdev_get+0x79/0x90
[11508.344189]  [<c019ab45>] blkdev_get+0x15/0x20
[11508.357554]  [<c03298f7>] pkt_open+0xb7/0xd80
[11508.370651]  [<c019a865>] do_open+0x85/0x2c0
[11508.383491]  [<c019acc3>] blkdev_open+0x33/0x70
[11508.397107]  [<c0173ce4>] __dentry_open+0xf4/0x220
[11508.411509]  [<c0173eb5>] nameidata_to_filp+0x35/0x40
[11508.426684]  [<c0173f09>] do_filp_open+0x49/0x50
[11508.440567]  [<c0173f57>] do_sys_open+0x47/0xd0
[11508.454188]  [<c017401c>] sys_open+0x1c/0x20
[11508.467023]  [<c01041c6>] sysenter_past_esp+0x5f/0x99
[11508.482202]  =======================
[11508.520800] pktcdvd: pkt_get_last_written failed

# mkudffs /dev/pktcdvd/0
[11539.953560] pktcdvd: pkt_get_last_written failed
trying to change type of multiple extents

I get the same error with /dev/hdd as well (hdc and hdd are both dvd burners, hdd has a cd-rw and hdc had a dvd-rw)


William Heimbigner
[email protected]
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux