Re: 2.6.23-rc4-mm1: git-block.patch broke pktcdvd
Le 14.09.2007 13:06, Jens Axboe a écrit : > On Fri, Sep 14 2007, Jens Axboe wrote: >> On Fri, Sep 14 2007, Laurent Riffard wrote: >>> Le 10.09.2007 22:19, Laurent Riffard a écrit : Jens, git-block.patch broke pktcdvd, I've got an Oops while syncing: [snip] >>> I dig through git-block.patch and the culprit seems to be commit >>> c94f1c4ac87862675c8d70941973bc3a69aff5d8 "bio: use memset() in >>> bio_init()". >>> >>> Maybe the real bug is a bad bio initialization in pktcdvd driver, >>> which is revealed by this commit ? >> At least pktcdvd doesn't expect bio->bi_io_vec[] to be cleared, that's >> why it's oopsing now. I'll revert this bit for now, thanks for the >> report. > > Rethinking this, I think bio_init() is doing the right thing, only > pktcdvd seems to rely on it preserving some members. So I'd rather fixup > pktcdvd instead. > > Does this work for you? Well, it's better: I was able to mount the DVD-RW, sync, and write data, but kernel oopsed when I unmounted the drive: [ 529.295829] BUG: unable to handle kernel NULL pointer dereference at virtual address [ 529.296490] printing eip: *pde = [ 529.297106] Oops: [#1] PREEMPT [ 529.297702] last sysfs file: /block/pktcdvd0/range [ 529.298284] Modules linked in: udf binfmt_misc pktcdvd radeon drm lp nls_iso8859_1 nls_cp850 vfat fat reiser4 lzo_decompress lzo_compress eeprom w83781d hwmon_vid snd_ens1371 gameport snd_ac97_codec ac97_bus snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_oss snd_seq_midi snd_rawmidi snd_seq_midi_event firewire_ohci firewire_core snd_seq crc_itu_t sg snd_timer snd_seq_device 8250_pnp snd sr_mod cdrom rtc ohci1394 i2c_viapro 8250 serial_core uhci_hcd soundcore snd_page_alloc floppy pcspkr ne2k_pci 8390 parport_pc via686a ieee1394 usbcore parport ata_generic via_agp agpgart evdev reiserfs sd_mod pata_via libata scsi_mod dm_mirror dm_mod [ 529.302127] [ 529.302785] Pid: 3718, comm: umount Not tainted (2.6.23-rc4-mm1 #73) [ 529.303493] EIP: 0060:[<>] EFLAGS: 00010202 CPU: 0 [ 529.304207] EIP is at _stext+0x3feff000/0x19 [ 529.304911] EAX: c30ded90 EBX: cb110da8 ECX: EDX: c30ded90 [ 529.305640] ESI: 0001 EDI: cb0c7748 EBP: cb1dfe98 ESP: cb1dfe90 [ 529.306389] DS: 007b ES: 007b FS: GS: 0033 SS: 0068 [ 529.307136] Process umount (pid: 3718, ti=cb1df000 task=c27157b0 task.ti=cb1df000) [ 529.307213] Stack: c017b4bf cb1dfeb0 e1c0e57a cb1115d8 cb0c7748 c1e4a828 c26663c8 [ 529.308122]cb1dfec4 e1c0e650 cb1dfec4 c017c15f cb1dfee4 c017c8f3 c1e4a834 [ 529.309040] c1e4a8bc c1e4a828 e1f12ea0 cb1dfeec c017c9ab cb1dfef8 [ 529.309972] Call Trace: [ 529.311464] [show_trace_log_lvl+26/47] show_trace_log_lvl+0x1a/0x2f [ 529.312264] [show_stack_log_lvl+155/163] show_stack_log_lvl+0x9b/0xa3 [ 529.313056] [show_registers+160/482] show_registers+0xa0/0x1e2 [ 529.313840] [die+261/567] die+0x105/0x237 [ 529.314611] [do_page_fault+1127/1349] do_page_fault+0x467/0x545 [ 529.315396] [error_code+106/112] error_code+0x6a/0x70 [ 529.316186] [] pkt_shrink_pktlist+0x29/0x79 [pktcdvd] [ 529.317007] [] pkt_close+0x86/0x97 [pktcdvd] [ 529.317816] [__blkdev_put+95/269] __blkdev_put+0x5f/0x10d [ 529.318630] [blkdev_put+10/12] blkdev_put+0xa/0xc [ 529.319436] [close_bdev_excl+18/21] close_bdev_excl+0x12/0x15 [ 529.320260] [kill_block_super+29/32] kill_block_super+0x1d/0x20 [ 529.321095] [deactivate_super+63/81] deactivate_super+0x3f/0x51 [ 529.321933] [mntput_no_expire+73/102] mntput_no_expire+0x49/0x66 [ 529.322782] [path_release_on_umount+21/24] path_release_on_umount+0x15/0x18 [ 529.323641] [sys_umount+461/501] sys_umount+0x1cd/0x1f5 [ 529.324499] [sys_oldumount+25/27] sys_oldumount+0x19/0x1b [ 529.325361] [sysenter_past_esp+95/133] sysenter_past_esp+0x5f/0x85 [ 529.326248] === [ 529.327094] Code: Bad EIP value. [ 529.327969] EIP: [<>] _stext+0x3feff000/0x19 SS:ESP 0068:cb1dfe90 > diff --git a/drivers/block/pktcdvd.c b/drivers/block/pktcdvd.c > index fadbfd8..98343a1 100644 > --- a/drivers/block/pktcdvd.c > +++ b/drivers/block/pktcdvd.c > @@ -1142,16 +1142,20 @@ static void pkt_gather_data(struct pktcdvd_device > *pd, struct packet_data *pkt) >* Schedule reads for missing parts of the packet. >*/ > for (f = 0; f < pkt->frames; f++) { > + struct bio_vec *vec; > + > int p, offset; > if (written[f]) > continue; > bio = pkt->r_bios[f]; > + vec = bio->bi_io_vec; > bio_init(bio); > bio->bi_max_vecs = 1; > bio->bi_sector = pkt->sector + f * (CD_FRAMESIZE >> 9); > bio->bi_bdev = pd->bdev; > bio->bi_end_io = pkt_end_io_read; > bio->bi_private = pkt; > + bio->bi_io_vec = vec; > > p = (f * CD_FRAMESIZE) / PAGE_SIZE; >
Re: 2.6.23-rc4-mm1: git-block.patch broke pktcdvd
On Fri, Sep 14 2007, Jens Axboe wrote: > On Fri, Sep 14 2007, Laurent Riffard wrote: > > Le 10.09.2007 22:19, Laurent Riffard a écrit : > > > Le 01.09.2007 06:58, Andrew Morton a écrit : > > >> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-rc4/2.6.23-rc4-mm1/ > > > [...] > > > > > > Jens, > > > > > > git-block.patch broke pktcdvd, I've got an Oops while syncing: > > > > > >> [ 713.014888] pktcdvd: Fixed packets, 16 blocks, Mode-1 disc > > >> [ 713.021844] pktcdvd: write speed 2770kB/s > > >> [ 718.401761] pktcdvd: 4595774kB available on disc > > >> [ 721.175644] UDF-fs INFO UDF 0.9.8.1 (2004/29/09) Mounting volume > > >> 'LinuxUDF', timestamp 2006/10/08 21:17 (1078) > > >> [ 721.213784] mount used greatest stack depth: 460 bytes left > > >> [ 752.634402] BUG: unable to handle kernel NULL pointer dereference at > > >> virtual address > > >> [ 752.635711] printing eip: c017b69e *pde = > > >> [ 752.636983] Oops: 0002 [#1] PREEMPT > > >> [ 752.638240] last sysfs file: > > >> /devices/pci:00/:00:0d.0/modalias > > >> [ 752.639477] Modules linked in: udf binfmt_misc pktcdvd radeon drm lp > > >> nls_iso8859_1 nls_cp850 vfat fat reiser4 lzo_decompress lzo_compress > > >> eeprom w83781d hwmon_vid snd_ens1371 gameport snd_ac97_codec ac97_bus > > >> snd_pcm_oss snd_mixer_oss snd_pcm sg firewire_ohci firewire_core sr_mod > > >> cdrom crc_itu_t snd_seq_oss snd_seq_midi snd_rawmidi snd_seq_midi_event > > >> snd_seq snd_timer snd_seq_device snd 8250_pnp i2c_viapro via_agp floppy > > >> ohci1394 soundcore 8250 serial_core ata_generic uhci_hcd agpgart > > >> ne2k_pci 8390 ieee1394 snd_page_alloc rtc pcspkr via686a usbcore > > >> parport_pc parport evdev reiserfs sd_mod pata_via libata scsi_mod > > >> dm_mirror dm_mod > > >> [ 752.645759] > > >> [ 752.646990] Pid: 3403, comm: pktcdvd0 Not tainted (2.6.23-rc4-mm1 > > >> #50) > > >> [ 752.648256] EIP: 0060:[__bio_add_page+212/355] EFLAGS: 00010246 CPU: > > >> 0 > > >> [ 752.649515] EIP is at __bio_add_page+0xd4/0x163 > > >> [ 752.650750] EAX: EBX: ECX: c26ca400 EDX: > > >> [ 752.651984] ESI: cba3cf48 EDI: c1174be0 EBP: cb01cef4 ESP: cb01cee4 > > >> [ 752.653219] DS: 007b ES: 007b FS: GS: SS: 0068 > > >> [ 752.654446] Process pktcdvd0 (pid: 3403, ti=cb01c000 task=c1b9cdb0 > > >> task.ti=cb01c000) > > >> [ 752.654526] Stack: c26ca400 cba3cf48 c1174be0 0001 cb01cf10 > > >> c017b763 0800 0800 > > >> [ 752.655908]0040 cba3cf48 cb06e120 cb01cfd0 e1d94044 > > >> 0800 0004 cb09b8a0 > > >> [ 752.657297]c1853ce0 0800 0001 > > >> > > >> [ 752.658695] Call Trace: > > >> [ 752.661126] [show_trace_log_lvl+26/47] show_trace_log_lvl+0x1a/0x2f > > >> [ 752.662383] [show_stack_log_lvl+155/163] > > >> show_stack_log_lvl+0x9b/0xa3 > > >> [ 752.663626] [show_registers+160/482] show_registers+0xa0/0x1e2 > > >> [ 752.664868] [die+261/567] die+0x105/0x237 > > >> [ 752.666072] [do_page_fault+1127/1349] do_page_fault+0x467/0x545 > > >> [ 752.667274] [error_code+106/112] error_code+0x6a/0x70 > > >> [ 752.668477] [bio_add_page+54/61] bio_add_page+0x36/0x3d > > >> [ 752.669669] [] kcdrwd+0x5a5/0x9ba [pktcdvd] > > >> [ 752.670856] [kthread+57/97] kthread+0x39/0x61 > > >> [ 752.672024] [kernel_thread_helper+7/16] > > >> kernel_thread_helper+0x7/0x10 > > >> [ 752.673197] === > > >> [ 752.674336] Code: ba 01 00 00 00 8b 4d f0 8b 46 18 66 3b 81 50 01 00 > > >> 00 73 da 66 8b 46 1a 66 3b 81 52 01 00 00 73 cd 0f > > >> b7 46 14 6b d8 0c 03 5e 2c <89> 3b 8b 45 08 89 43 04 8b 4d 0c 89 4b 08 > > >> 8b 45 f0 8b 78 68 85 > > >> [ 752.677879] EIP: [__bio_add_page+212/355] __bio_add_page+0xd4/0x163 > > >> SS:ESP 0068:cb01cee4 > > > > I dig through git-block.patch and the culprit seems to be commit > > c94f1c4ac87862675c8d70941973bc3a69aff5d8 "bio: use memset() in > > bio_init()". > > > > Maybe the real bug is a bad bio initialization in pktcdvd driver, > > which is revealed by this commit ? > > At least pktcdvd doesn't expect bio->bi_io_vec[] to be cleared, that's > why it's oopsing now. I'll revert this bit for now, thanks for the > report. Rethinking this, I think bio_init() is doing the right thing, only pktcdvd seems to rely on it preserving some members. So I'd rather fixup pktcdvd instead. Does this work for you? diff --git a/drivers/block/pktcdvd.c b/drivers/block/pktcdvd.c index fadbfd8..98343a1 100644 --- a/drivers/block/pktcdvd.c +++ b/drivers/block/pktcdvd.c @@ -1142,16 +1142,20 @@ static void pkt_gather_data(struct pktcdvd_device *pd, struct packet_data *pkt) * Schedule reads for missing parts of the packet. */ for (f = 0; f < pkt->frames; f++) { + struct bio_vec *vec; + int p, offset; if (written[f])
Re: 2.6.23-rc4-mm1: git-block.patch broke pktcdvd
On Fri, Sep 14 2007, Laurent Riffard wrote: > Le 10.09.2007 22:19, Laurent Riffard a écrit : > > Le 01.09.2007 06:58, Andrew Morton a écrit : > >> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-rc4/2.6.23-rc4-mm1/ > > [...] > > > > Jens, > > > > git-block.patch broke pktcdvd, I've got an Oops while syncing: > > > >> [ 713.014888] pktcdvd: Fixed packets, 16 blocks, Mode-1 disc > >> [ 713.021844] pktcdvd: write speed 2770kB/s > >> [ 718.401761] pktcdvd: 4595774kB available on disc > >> [ 721.175644] UDF-fs INFO UDF 0.9.8.1 (2004/29/09) Mounting volume > >> 'LinuxUDF', timestamp 2006/10/08 21:17 (1078) > >> [ 721.213784] mount used greatest stack depth: 460 bytes left > >> [ 752.634402] BUG: unable to handle kernel NULL pointer dereference at > >> virtual address > >> [ 752.635711] printing eip: c017b69e *pde = > >> [ 752.636983] Oops: 0002 [#1] PREEMPT > >> [ 752.638240] last sysfs file: /devices/pci:00/:00:0d.0/modalias > >> [ 752.639477] Modules linked in: udf binfmt_misc pktcdvd radeon drm lp > >> nls_iso8859_1 nls_cp850 vfat fat reiser4 lzo_decompress lzo_compress > >> eeprom w83781d hwmon_vid snd_ens1371 gameport snd_ac97_codec ac97_bus > >> snd_pcm_oss snd_mixer_oss snd_pcm sg firewire_ohci firewire_core sr_mod > >> cdrom crc_itu_t snd_seq_oss snd_seq_midi snd_rawmidi snd_seq_midi_event > >> snd_seq snd_timer snd_seq_device snd 8250_pnp i2c_viapro via_agp floppy > >> ohci1394 soundcore 8250 serial_core ata_generic uhci_hcd agpgart ne2k_pci > >> 8390 ieee1394 snd_page_alloc rtc pcspkr via686a usbcore parport_pc parport > >> evdev reiserfs sd_mod pata_via libata scsi_mod dm_mirror dm_mod > >> [ 752.645759] > >> [ 752.646990] Pid: 3403, comm: pktcdvd0 Not tainted (2.6.23-rc4-mm1 #50) > >> [ 752.648256] EIP: 0060:[__bio_add_page+212/355] EFLAGS: 00010246 CPU: 0 > >> [ 752.649515] EIP is at __bio_add_page+0xd4/0x163 > >> [ 752.650750] EAX: EBX: ECX: c26ca400 EDX: > >> [ 752.651984] ESI: cba3cf48 EDI: c1174be0 EBP: cb01cef4 ESP: cb01cee4 > >> [ 752.653219] DS: 007b ES: 007b FS: GS: SS: 0068 > >> [ 752.654446] Process pktcdvd0 (pid: 3403, ti=cb01c000 task=c1b9cdb0 > >> task.ti=cb01c000) > >> [ 752.654526] Stack: c26ca400 cba3cf48 c1174be0 0001 cb01cf10 > >> c017b763 0800 0800 > >> [ 752.655908]0040 cba3cf48 cb06e120 cb01cfd0 e1d94044 > >> 0800 0004 cb09b8a0 > >> [ 752.657297]c1853ce0 0800 0001 > >> > >> [ 752.658695] Call Trace: > >> [ 752.661126] [show_trace_log_lvl+26/47] show_trace_log_lvl+0x1a/0x2f > >> [ 752.662383] [show_stack_log_lvl+155/163] show_stack_log_lvl+0x9b/0xa3 > >> [ 752.663626] [show_registers+160/482] show_registers+0xa0/0x1e2 > >> [ 752.664868] [die+261/567] die+0x105/0x237 > >> [ 752.666072] [do_page_fault+1127/1349] do_page_fault+0x467/0x545 > >> [ 752.667274] [error_code+106/112] error_code+0x6a/0x70 > >> [ 752.668477] [bio_add_page+54/61] bio_add_page+0x36/0x3d > >> [ 752.669669] [] kcdrwd+0x5a5/0x9ba [pktcdvd] > >> [ 752.670856] [kthread+57/97] kthread+0x39/0x61 > >> [ 752.672024] [kernel_thread_helper+7/16] kernel_thread_helper+0x7/0x10 > >> [ 752.673197] === > >> [ 752.674336] Code: ba 01 00 00 00 8b 4d f0 8b 46 18 66 3b 81 50 01 00 > >> 00 73 da 66 8b 46 1a 66 3b 81 52 01 00 00 73 cd 0f > >> b7 46 14 6b d8 0c 03 5e 2c <89> 3b 8b 45 08 89 43 04 8b 4d 0c 89 4b 08 8b > >> 45 f0 8b 78 68 85 > >> [ 752.677879] EIP: [__bio_add_page+212/355] __bio_add_page+0xd4/0x163 > >> SS:ESP 0068:cb01cee4 > > I dig through git-block.patch and the culprit seems to be commit > c94f1c4ac87862675c8d70941973bc3a69aff5d8 "bio: use memset() in > bio_init()". > > Maybe the real bug is a bad bio initialization in pktcdvd driver, > which is revealed by this commit ? At least pktcdvd doesn't expect bio->bi_io_vec[] to be cleared, that's why it's oopsing now. I'll revert this bit for now, thanks for the report. -- Jens Axboe - 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/
Re: 2.6.23-rc4-mm1: git-block.patch broke pktcdvd
On Fri, Sep 14 2007, Jens Axboe wrote: > On Thu, Sep 13 2007, Andrew Morton wrote: > > On Fri, 14 Sep 2007 00:50:25 +0200 > > Laurent Riffard <[EMAIL PROTECTED]> wrote: > > > > > I dig through git-block.patch and the culprit seems to be commit > > > c94f1c4ac87862675c8d70941973bc3a69aff5d8 "bio: use memset() in > > > bio_init()". > > > > I think I'll be dropping git-block. There were a number of problems > > in rc4-mm1 (for which I have a sprinkling of messy-looking patches > > somewhere ahead of my current cursor) and nothing seems to have > > happened in the git tree for a month or so. > > Huh? It's not even two weeks old. And here we go again, git-block is > getting dropped and you'll be complaining about lack of testing next. > I'll update the branches today as discussed with Tomo, that should work > fine. Branches updated with the scsi host template addition and the qla sg chaining fix. -- Jens Axboe - 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/
Re: 2.6.23-rc4-mm1: git-block.patch broke pktcdvd
On Thu, Sep 13 2007, Andrew Morton wrote: > On Fri, 14 Sep 2007 00:50:25 +0200 > Laurent Riffard <[EMAIL PROTECTED]> wrote: > > > I dig through git-block.patch and the culprit seems to be commit > > c94f1c4ac87862675c8d70941973bc3a69aff5d8 "bio: use memset() in > > bio_init()". > > I think I'll be dropping git-block. There were a number of problems > in rc4-mm1 (for which I have a sprinkling of messy-looking patches > somewhere ahead of my current cursor) and nothing seems to have > happened in the git tree for a month or so. Huh? It's not even two weeks old. And here we go again, git-block is getting dropped and you'll be complaining about lack of testing next. I'll update the branches today as discussed with Tomo, that should work fine. -- Jens Axboe - 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/
Re: 2.6.23-rc4-mm1: git-block.patch broke pktcdvd
On Thu, Sep 13 2007, Andrew Morton wrote: On Fri, 14 Sep 2007 00:50:25 +0200 Laurent Riffard [EMAIL PROTECTED] wrote: I dig through git-block.patch and the culprit seems to be commit c94f1c4ac87862675c8d70941973bc3a69aff5d8 bio: use memset() in bio_init(). I think I'll be dropping git-block. There were a number of problems in rc4-mm1 (for which I have a sprinkling of messy-looking patches somewhere ahead of my current cursor) and nothing seems to have happened in the git tree for a month or so. Huh? It's not even two weeks old. And here we go again, git-block is getting dropped and you'll be complaining about lack of testing next. I'll update the branches today as discussed with Tomo, that should work fine. -- Jens Axboe - 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/
Re: 2.6.23-rc4-mm1: git-block.patch broke pktcdvd
On Fri, Sep 14 2007, Jens Axboe wrote: On Thu, Sep 13 2007, Andrew Morton wrote: On Fri, 14 Sep 2007 00:50:25 +0200 Laurent Riffard [EMAIL PROTECTED] wrote: I dig through git-block.patch and the culprit seems to be commit c94f1c4ac87862675c8d70941973bc3a69aff5d8 bio: use memset() in bio_init(). I think I'll be dropping git-block. There were a number of problems in rc4-mm1 (for which I have a sprinkling of messy-looking patches somewhere ahead of my current cursor) and nothing seems to have happened in the git tree for a month or so. Huh? It's not even two weeks old. And here we go again, git-block is getting dropped and you'll be complaining about lack of testing next. I'll update the branches today as discussed with Tomo, that should work fine. Branches updated with the scsi host template addition and the qla sg chaining fix. -- Jens Axboe - 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/
Re: 2.6.23-rc4-mm1: git-block.patch broke pktcdvd
On Fri, Sep 14 2007, Laurent Riffard wrote: Le 10.09.2007 22:19, Laurent Riffard a écrit : Le 01.09.2007 06:58, Andrew Morton a écrit : ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-rc4/2.6.23-rc4-mm1/ [...] Jens, git-block.patch broke pktcdvd, I've got an Oops while syncing: [ 713.014888] pktcdvd: Fixed packets, 16 blocks, Mode-1 disc [ 713.021844] pktcdvd: write speed 2770kB/s [ 718.401761] pktcdvd: 4595774kB available on disc [ 721.175644] UDF-fs INFO UDF 0.9.8.1 (2004/29/09) Mounting volume 'LinuxUDF', timestamp 2006/10/08 21:17 (1078) [ 721.213784] mount used greatest stack depth: 460 bytes left [ 752.634402] BUG: unable to handle kernel NULL pointer dereference at virtual address [ 752.635711] printing eip: c017b69e *pde = [ 752.636983] Oops: 0002 [#1] PREEMPT [ 752.638240] last sysfs file: /devices/pci:00/:00:0d.0/modalias [ 752.639477] Modules linked in: udf binfmt_misc pktcdvd radeon drm lp nls_iso8859_1 nls_cp850 vfat fat reiser4 lzo_decompress lzo_compress eeprom w83781d hwmon_vid snd_ens1371 gameport snd_ac97_codec ac97_bus snd_pcm_oss snd_mixer_oss snd_pcm sg firewire_ohci firewire_core sr_mod cdrom crc_itu_t snd_seq_oss snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq snd_timer snd_seq_device snd 8250_pnp i2c_viapro via_agp floppy ohci1394 soundcore 8250 serial_core ata_generic uhci_hcd agpgart ne2k_pci 8390 ieee1394 snd_page_alloc rtc pcspkr via686a usbcore parport_pc parport evdev reiserfs sd_mod pata_via libata scsi_mod dm_mirror dm_mod [ 752.645759] [ 752.646990] Pid: 3403, comm: pktcdvd0 Not tainted (2.6.23-rc4-mm1 #50) [ 752.648256] EIP: 0060:[__bio_add_page+212/355] EFLAGS: 00010246 CPU: 0 [ 752.649515] EIP is at __bio_add_page+0xd4/0x163 [ 752.650750] EAX: EBX: ECX: c26ca400 EDX: [ 752.651984] ESI: cba3cf48 EDI: c1174be0 EBP: cb01cef4 ESP: cb01cee4 [ 752.653219] DS: 007b ES: 007b FS: GS: SS: 0068 [ 752.654446] Process pktcdvd0 (pid: 3403, ti=cb01c000 task=c1b9cdb0 task.ti=cb01c000) [ 752.654526] Stack: c26ca400 cba3cf48 c1174be0 0001 cb01cf10 c017b763 0800 0800 [ 752.655908]0040 cba3cf48 cb06e120 cb01cfd0 e1d94044 0800 0004 cb09b8a0 [ 752.657297]c1853ce0 0800 0001 [ 752.658695] Call Trace: [ 752.661126] [show_trace_log_lvl+26/47] show_trace_log_lvl+0x1a/0x2f [ 752.662383] [show_stack_log_lvl+155/163] show_stack_log_lvl+0x9b/0xa3 [ 752.663626] [show_registers+160/482] show_registers+0xa0/0x1e2 [ 752.664868] [die+261/567] die+0x105/0x237 [ 752.666072] [do_page_fault+1127/1349] do_page_fault+0x467/0x545 [ 752.667274] [error_code+106/112] error_code+0x6a/0x70 [ 752.668477] [bio_add_page+54/61] bio_add_page+0x36/0x3d [ 752.669669] [e1d94044] kcdrwd+0x5a5/0x9ba [pktcdvd] [ 752.670856] [kthread+57/97] kthread+0x39/0x61 [ 752.672024] [kernel_thread_helper+7/16] kernel_thread_helper+0x7/0x10 [ 752.673197] === [ 752.674336] Code: ba 01 00 00 00 8b 4d f0 8b 46 18 66 3b 81 50 01 00 00 73 da 66 8b 46 1a 66 3b 81 52 01 00 00 73 cd 0f b7 46 14 6b d8 0c 03 5e 2c 89 3b 8b 45 08 89 43 04 8b 4d 0c 89 4b 08 8b 45 f0 8b 78 68 85 [ 752.677879] EIP: [__bio_add_page+212/355] __bio_add_page+0xd4/0x163 SS:ESP 0068:cb01cee4 I dig through git-block.patch and the culprit seems to be commit c94f1c4ac87862675c8d70941973bc3a69aff5d8 bio: use memset() in bio_init(). Maybe the real bug is a bad bio initialization in pktcdvd driver, which is revealed by this commit ? At least pktcdvd doesn't expect bio-bi_io_vec[] to be cleared, that's why it's oopsing now. I'll revert this bit for now, thanks for the report. -- Jens Axboe - 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/
Re: 2.6.23-rc4-mm1: git-block.patch broke pktcdvd
On Fri, Sep 14 2007, Jens Axboe wrote: On Fri, Sep 14 2007, Laurent Riffard wrote: Le 10.09.2007 22:19, Laurent Riffard a écrit : Le 01.09.2007 06:58, Andrew Morton a écrit : ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-rc4/2.6.23-rc4-mm1/ [...] Jens, git-block.patch broke pktcdvd, I've got an Oops while syncing: [ 713.014888] pktcdvd: Fixed packets, 16 blocks, Mode-1 disc [ 713.021844] pktcdvd: write speed 2770kB/s [ 718.401761] pktcdvd: 4595774kB available on disc [ 721.175644] UDF-fs INFO UDF 0.9.8.1 (2004/29/09) Mounting volume 'LinuxUDF', timestamp 2006/10/08 21:17 (1078) [ 721.213784] mount used greatest stack depth: 460 bytes left [ 752.634402] BUG: unable to handle kernel NULL pointer dereference at virtual address [ 752.635711] printing eip: c017b69e *pde = [ 752.636983] Oops: 0002 [#1] PREEMPT [ 752.638240] last sysfs file: /devices/pci:00/:00:0d.0/modalias [ 752.639477] Modules linked in: udf binfmt_misc pktcdvd radeon drm lp nls_iso8859_1 nls_cp850 vfat fat reiser4 lzo_decompress lzo_compress eeprom w83781d hwmon_vid snd_ens1371 gameport snd_ac97_codec ac97_bus snd_pcm_oss snd_mixer_oss snd_pcm sg firewire_ohci firewire_core sr_mod cdrom crc_itu_t snd_seq_oss snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq snd_timer snd_seq_device snd 8250_pnp i2c_viapro via_agp floppy ohci1394 soundcore 8250 serial_core ata_generic uhci_hcd agpgart ne2k_pci 8390 ieee1394 snd_page_alloc rtc pcspkr via686a usbcore parport_pc parport evdev reiserfs sd_mod pata_via libata scsi_mod dm_mirror dm_mod [ 752.645759] [ 752.646990] Pid: 3403, comm: pktcdvd0 Not tainted (2.6.23-rc4-mm1 #50) [ 752.648256] EIP: 0060:[__bio_add_page+212/355] EFLAGS: 00010246 CPU:0 [ 752.649515] EIP is at __bio_add_page+0xd4/0x163 [ 752.650750] EAX: EBX: ECX: c26ca400 EDX: [ 752.651984] ESI: cba3cf48 EDI: c1174be0 EBP: cb01cef4 ESP: cb01cee4 [ 752.653219] DS: 007b ES: 007b FS: GS: SS: 0068 [ 752.654446] Process pktcdvd0 (pid: 3403, ti=cb01c000 task=c1b9cdb0 task.ti=cb01c000) [ 752.654526] Stack: c26ca400 cba3cf48 c1174be0 0001 cb01cf10 c017b763 0800 0800 [ 752.655908]0040 cba3cf48 cb06e120 cb01cfd0 e1d94044 0800 0004 cb09b8a0 [ 752.657297]c1853ce0 0800 0001 [ 752.658695] Call Trace: [ 752.661126] [show_trace_log_lvl+26/47] show_trace_log_lvl+0x1a/0x2f [ 752.662383] [show_stack_log_lvl+155/163] show_stack_log_lvl+0x9b/0xa3 [ 752.663626] [show_registers+160/482] show_registers+0xa0/0x1e2 [ 752.664868] [die+261/567] die+0x105/0x237 [ 752.666072] [do_page_fault+1127/1349] do_page_fault+0x467/0x545 [ 752.667274] [error_code+106/112] error_code+0x6a/0x70 [ 752.668477] [bio_add_page+54/61] bio_add_page+0x36/0x3d [ 752.669669] [e1d94044] kcdrwd+0x5a5/0x9ba [pktcdvd] [ 752.670856] [kthread+57/97] kthread+0x39/0x61 [ 752.672024] [kernel_thread_helper+7/16] kernel_thread_helper+0x7/0x10 [ 752.673197] === [ 752.674336] Code: ba 01 00 00 00 8b 4d f0 8b 46 18 66 3b 81 50 01 00 00 73 da 66 8b 46 1a 66 3b 81 52 01 00 00 73 cd 0f b7 46 14 6b d8 0c 03 5e 2c 89 3b 8b 45 08 89 43 04 8b 4d 0c 89 4b 08 8b 45 f0 8b 78 68 85 [ 752.677879] EIP: [__bio_add_page+212/355] __bio_add_page+0xd4/0x163 SS:ESP 0068:cb01cee4 I dig through git-block.patch and the culprit seems to be commit c94f1c4ac87862675c8d70941973bc3a69aff5d8 bio: use memset() in bio_init(). Maybe the real bug is a bad bio initialization in pktcdvd driver, which is revealed by this commit ? At least pktcdvd doesn't expect bio-bi_io_vec[] to be cleared, that's why it's oopsing now. I'll revert this bit for now, thanks for the report. Rethinking this, I think bio_init() is doing the right thing, only pktcdvd seems to rely on it preserving some members. So I'd rather fixup pktcdvd instead. Does this work for you? diff --git a/drivers/block/pktcdvd.c b/drivers/block/pktcdvd.c index fadbfd8..98343a1 100644 --- a/drivers/block/pktcdvd.c +++ b/drivers/block/pktcdvd.c @@ -1142,16 +1142,20 @@ static void pkt_gather_data(struct pktcdvd_device *pd, struct packet_data *pkt) * Schedule reads for missing parts of the packet. */ for (f = 0; f pkt-frames; f++) { + struct bio_vec *vec; + int p, offset; if (written[f]) continue; bio = pkt-r_bios[f]; + vec = bio-bi_io_vec; bio_init(bio); bio-bi_max_vecs = 1; bio-bi_sector = pkt-sector + f * (CD_FRAMESIZE 9); bio-bi_bdev = pd-bdev;
Re: 2.6.23-rc4-mm1: git-block.patch broke pktcdvd
Le 14.09.2007 13:06, Jens Axboe a écrit : On Fri, Sep 14 2007, Jens Axboe wrote: On Fri, Sep 14 2007, Laurent Riffard wrote: Le 10.09.2007 22:19, Laurent Riffard a écrit : Jens, git-block.patch broke pktcdvd, I've got an Oops while syncing: [snip] I dig through git-block.patch and the culprit seems to be commit c94f1c4ac87862675c8d70941973bc3a69aff5d8 bio: use memset() in bio_init(). Maybe the real bug is a bad bio initialization in pktcdvd driver, which is revealed by this commit ? At least pktcdvd doesn't expect bio-bi_io_vec[] to be cleared, that's why it's oopsing now. I'll revert this bit for now, thanks for the report. Rethinking this, I think bio_init() is doing the right thing, only pktcdvd seems to rely on it preserving some members. So I'd rather fixup pktcdvd instead. Does this work for you? Well, it's better: I was able to mount the DVD-RW, sync, and write data, but kernel oopsed when I unmounted the drive: [ 529.295829] BUG: unable to handle kernel NULL pointer dereference at virtual address [ 529.296490] printing eip: *pde = [ 529.297106] Oops: [#1] PREEMPT [ 529.297702] last sysfs file: /block/pktcdvd0/range [ 529.298284] Modules linked in: udf binfmt_misc pktcdvd radeon drm lp nls_iso8859_1 nls_cp850 vfat fat reiser4 lzo_decompress lzo_compress eeprom w83781d hwmon_vid snd_ens1371 gameport snd_ac97_codec ac97_bus snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_oss snd_seq_midi snd_rawmidi snd_seq_midi_event firewire_ohci firewire_core snd_seq crc_itu_t sg snd_timer snd_seq_device 8250_pnp snd sr_mod cdrom rtc ohci1394 i2c_viapro 8250 serial_core uhci_hcd soundcore snd_page_alloc floppy pcspkr ne2k_pci 8390 parport_pc via686a ieee1394 usbcore parport ata_generic via_agp agpgart evdev reiserfs sd_mod pata_via libata scsi_mod dm_mirror dm_mod [ 529.302127] [ 529.302785] Pid: 3718, comm: umount Not tainted (2.6.23-rc4-mm1 #73) [ 529.303493] EIP: 0060:[] EFLAGS: 00010202 CPU: 0 [ 529.304207] EIP is at _stext+0x3feff000/0x19 [ 529.304911] EAX: c30ded90 EBX: cb110da8 ECX: EDX: c30ded90 [ 529.305640] ESI: 0001 EDI: cb0c7748 EBP: cb1dfe98 ESP: cb1dfe90 [ 529.306389] DS: 007b ES: 007b FS: GS: 0033 SS: 0068 [ 529.307136] Process umount (pid: 3718, ti=cb1df000 task=c27157b0 task.ti=cb1df000) [ 529.307213] Stack: c017b4bf cb1dfeb0 e1c0e57a cb1115d8 cb0c7748 c1e4a828 c26663c8 [ 529.308122]cb1dfec4 e1c0e650 cb1dfec4 c017c15f cb1dfee4 c017c8f3 c1e4a834 [ 529.309040] c1e4a8bc c1e4a828 e1f12ea0 cb1dfeec c017c9ab cb1dfef8 [ 529.309972] Call Trace: [ 529.311464] [show_trace_log_lvl+26/47] show_trace_log_lvl+0x1a/0x2f [ 529.312264] [show_stack_log_lvl+155/163] show_stack_log_lvl+0x9b/0xa3 [ 529.313056] [show_registers+160/482] show_registers+0xa0/0x1e2 [ 529.313840] [die+261/567] die+0x105/0x237 [ 529.314611] [do_page_fault+1127/1349] do_page_fault+0x467/0x545 [ 529.315396] [error_code+106/112] error_code+0x6a/0x70 [ 529.316186] [e1c0e57a] pkt_shrink_pktlist+0x29/0x79 [pktcdvd] [ 529.317007] [e1c0e650] pkt_close+0x86/0x97 [pktcdvd] [ 529.317816] [__blkdev_put+95/269] __blkdev_put+0x5f/0x10d [ 529.318630] [blkdev_put+10/12] blkdev_put+0xa/0xc [ 529.319436] [close_bdev_excl+18/21] close_bdev_excl+0x12/0x15 [ 529.320260] [kill_block_super+29/32] kill_block_super+0x1d/0x20 [ 529.321095] [deactivate_super+63/81] deactivate_super+0x3f/0x51 [ 529.321933] [mntput_no_expire+73/102] mntput_no_expire+0x49/0x66 [ 529.322782] [path_release_on_umount+21/24] path_release_on_umount+0x15/0x18 [ 529.323641] [sys_umount+461/501] sys_umount+0x1cd/0x1f5 [ 529.324499] [sys_oldumount+25/27] sys_oldumount+0x19/0x1b [ 529.325361] [sysenter_past_esp+95/133] sysenter_past_esp+0x5f/0x85 [ 529.326248] === [ 529.327094] Code: Bad EIP value. [ 529.327969] EIP: [] _stext+0x3feff000/0x19 SS:ESP 0068:cb1dfe90 diff --git a/drivers/block/pktcdvd.c b/drivers/block/pktcdvd.c index fadbfd8..98343a1 100644 --- a/drivers/block/pktcdvd.c +++ b/drivers/block/pktcdvd.c @@ -1142,16 +1142,20 @@ static void pkt_gather_data(struct pktcdvd_device *pd, struct packet_data *pkt) * Schedule reads for missing parts of the packet. */ for (f = 0; f pkt-frames; f++) { + struct bio_vec *vec; + int p, offset; if (written[f]) continue; bio = pkt-r_bios[f]; + vec = bio-bi_io_vec; bio_init(bio); bio-bi_max_vecs = 1; bio-bi_sector = pkt-sector + f * (CD_FRAMESIZE 9); bio-bi_bdev = pd-bdev; bio-bi_end_io = pkt_end_io_read; bio-bi_private = pkt; + bio-bi_io_vec = vec; p = (f * CD_FRAMESIZE) / PAGE_SIZE; offset = (f * CD_FRAMESIZE) % PAGE_SIZE; @@ -1448,6 +1452,7 @@ static void
Re: 2.6.23-rc4-mm1: git-block.patch broke pktcdvd
On Fri, 14 Sep 2007 00:50:25 +0200 Laurent Riffard <[EMAIL PROTECTED]> wrote: > I dig through git-block.patch and the culprit seems to be commit > c94f1c4ac87862675c8d70941973bc3a69aff5d8 "bio: use memset() in > bio_init()". I think I'll be dropping git-block. There were a number of problems in rc4-mm1 (for which I have a sprinkling of messy-looking patches somewhere ahead of my current cursor) and nothing seems to have happened in the git tree for a month or so. - 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/
Re: 2.6.23-rc4-mm1: git-block.patch broke pktcdvd
Le 10.09.2007 22:19, Laurent Riffard a écrit : > Le 01.09.2007 06:58, Andrew Morton a écrit : >> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-rc4/2.6.23-rc4-mm1/ > [...] > > Jens, > > git-block.patch broke pktcdvd, I've got an Oops while syncing: > >> [ 713.014888] pktcdvd: Fixed packets, 16 blocks, Mode-1 disc >> [ 713.021844] pktcdvd: write speed 2770kB/s >> [ 718.401761] pktcdvd: 4595774kB available on disc >> [ 721.175644] UDF-fs INFO UDF 0.9.8.1 (2004/29/09) Mounting volume >> 'LinuxUDF', timestamp 2006/10/08 21:17 (1078) >> [ 721.213784] mount used greatest stack depth: 460 bytes left >> [ 752.634402] BUG: unable to handle kernel NULL pointer dereference at >> virtual address >> [ 752.635711] printing eip: c017b69e *pde = >> [ 752.636983] Oops: 0002 [#1] PREEMPT >> [ 752.638240] last sysfs file: /devices/pci:00/:00:0d.0/modalias >> [ 752.639477] Modules linked in: udf binfmt_misc pktcdvd radeon drm lp >> nls_iso8859_1 nls_cp850 vfat fat reiser4 lzo_decompress lzo_compress eeprom >> w83781d hwmon_vid snd_ens1371 gameport snd_ac97_codec ac97_bus snd_pcm_oss >> snd_mixer_oss snd_pcm sg firewire_ohci firewire_core sr_mod cdrom crc_itu_t >> snd_seq_oss snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq snd_timer >> snd_seq_device snd 8250_pnp i2c_viapro via_agp floppy ohci1394 soundcore >> 8250 serial_core ata_generic uhci_hcd agpgart ne2k_pci 8390 ieee1394 >> snd_page_alloc rtc pcspkr via686a usbcore parport_pc parport evdev reiserfs >> sd_mod pata_via libata scsi_mod dm_mirror dm_mod >> [ 752.645759] >> [ 752.646990] Pid: 3403, comm: pktcdvd0 Not tainted (2.6.23-rc4-mm1 #50) >> [ 752.648256] EIP: 0060:[__bio_add_page+212/355] EFLAGS: 00010246 CPU: 0 >> [ 752.649515] EIP is at __bio_add_page+0xd4/0x163 >> [ 752.650750] EAX: EBX: ECX: c26ca400 EDX: >> [ 752.651984] ESI: cba3cf48 EDI: c1174be0 EBP: cb01cef4 ESP: cb01cee4 >> [ 752.653219] DS: 007b ES: 007b FS: GS: SS: 0068 >> [ 752.654446] Process pktcdvd0 (pid: 3403, ti=cb01c000 task=c1b9cdb0 >> task.ti=cb01c000) >> [ 752.654526] Stack: c26ca400 cba3cf48 c1174be0 0001 cb01cf10 c017b763 >> 0800 0800 >> [ 752.655908]0040 cba3cf48 cb06e120 cb01cfd0 e1d94044 0800 >> 0004 cb09b8a0 >> [ 752.657297]c1853ce0 0800 0001 >> >> [ 752.658695] Call Trace: >> [ 752.661126] [show_trace_log_lvl+26/47] show_trace_log_lvl+0x1a/0x2f >> [ 752.662383] [show_stack_log_lvl+155/163] show_stack_log_lvl+0x9b/0xa3 >> [ 752.663626] [show_registers+160/482] show_registers+0xa0/0x1e2 >> [ 752.664868] [die+261/567] die+0x105/0x237 >> [ 752.666072] [do_page_fault+1127/1349] do_page_fault+0x467/0x545 >> [ 752.667274] [error_code+106/112] error_code+0x6a/0x70 >> [ 752.668477] [bio_add_page+54/61] bio_add_page+0x36/0x3d >> [ 752.669669] [] kcdrwd+0x5a5/0x9ba [pktcdvd] >> [ 752.670856] [kthread+57/97] kthread+0x39/0x61 >> [ 752.672024] [kernel_thread_helper+7/16] kernel_thread_helper+0x7/0x10 >> [ 752.673197] === >> [ 752.674336] Code: ba 01 00 00 00 8b 4d f0 8b 46 18 66 3b 81 50 01 00 00 >> 73 da 66 8b 46 1a 66 3b 81 52 01 00 00 73 cd 0f >> b7 46 14 6b d8 0c 03 5e 2c <89> 3b 8b 45 08 89 43 04 8b 4d 0c 89 4b 08 8b 45 >> f0 8b 78 68 85 >> [ 752.677879] EIP: [__bio_add_page+212/355] __bio_add_page+0xd4/0x163 >> SS:ESP 0068:cb01cee4 I dig through git-block.patch and the culprit seems to be commit c94f1c4ac87862675c8d70941973bc3a69aff5d8 "bio: use memset() in bio_init()". Maybe the real bug is a bad bio initialization in pktcdvd driver, which is revealed by this commit ? > 2.6.23-rc4 and 2.6.23-rc3-mm1 work fine. > > Steps to reproduce: > $ pktsetup /dev/pktcdvd/0 /dev/sr0 > # put an UDF-formatted DVD-RW in the drive > $ mount -o noatime,nodiratime,rw /dev/pktcdvd/0 /media/pkt > $ sync > > /dev/sr0 drive is a LG-branded DVD burner: > Vendor: HL-DT-ST Model: DVDRAM GSA-4165B Rev: DL03 > - 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/
Re: 2.6.23-rc4-mm1: git-block.patch broke pktcdvd
Le 10.09.2007 22:19, Laurent Riffard a écrit : Le 01.09.2007 06:58, Andrew Morton a écrit : ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-rc4/2.6.23-rc4-mm1/ [...] Jens, git-block.patch broke pktcdvd, I've got an Oops while syncing: [ 713.014888] pktcdvd: Fixed packets, 16 blocks, Mode-1 disc [ 713.021844] pktcdvd: write speed 2770kB/s [ 718.401761] pktcdvd: 4595774kB available on disc [ 721.175644] UDF-fs INFO UDF 0.9.8.1 (2004/29/09) Mounting volume 'LinuxUDF', timestamp 2006/10/08 21:17 (1078) [ 721.213784] mount used greatest stack depth: 460 bytes left [ 752.634402] BUG: unable to handle kernel NULL pointer dereference at virtual address [ 752.635711] printing eip: c017b69e *pde = [ 752.636983] Oops: 0002 [#1] PREEMPT [ 752.638240] last sysfs file: /devices/pci:00/:00:0d.0/modalias [ 752.639477] Modules linked in: udf binfmt_misc pktcdvd radeon drm lp nls_iso8859_1 nls_cp850 vfat fat reiser4 lzo_decompress lzo_compress eeprom w83781d hwmon_vid snd_ens1371 gameport snd_ac97_codec ac97_bus snd_pcm_oss snd_mixer_oss snd_pcm sg firewire_ohci firewire_core sr_mod cdrom crc_itu_t snd_seq_oss snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq snd_timer snd_seq_device snd 8250_pnp i2c_viapro via_agp floppy ohci1394 soundcore 8250 serial_core ata_generic uhci_hcd agpgart ne2k_pci 8390 ieee1394 snd_page_alloc rtc pcspkr via686a usbcore parport_pc parport evdev reiserfs sd_mod pata_via libata scsi_mod dm_mirror dm_mod [ 752.645759] [ 752.646990] Pid: 3403, comm: pktcdvd0 Not tainted (2.6.23-rc4-mm1 #50) [ 752.648256] EIP: 0060:[__bio_add_page+212/355] EFLAGS: 00010246 CPU: 0 [ 752.649515] EIP is at __bio_add_page+0xd4/0x163 [ 752.650750] EAX: EBX: ECX: c26ca400 EDX: [ 752.651984] ESI: cba3cf48 EDI: c1174be0 EBP: cb01cef4 ESP: cb01cee4 [ 752.653219] DS: 007b ES: 007b FS: GS: SS: 0068 [ 752.654446] Process pktcdvd0 (pid: 3403, ti=cb01c000 task=c1b9cdb0 task.ti=cb01c000) [ 752.654526] Stack: c26ca400 cba3cf48 c1174be0 0001 cb01cf10 c017b763 0800 0800 [ 752.655908]0040 cba3cf48 cb06e120 cb01cfd0 e1d94044 0800 0004 cb09b8a0 [ 752.657297]c1853ce0 0800 0001 [ 752.658695] Call Trace: [ 752.661126] [show_trace_log_lvl+26/47] show_trace_log_lvl+0x1a/0x2f [ 752.662383] [show_stack_log_lvl+155/163] show_stack_log_lvl+0x9b/0xa3 [ 752.663626] [show_registers+160/482] show_registers+0xa0/0x1e2 [ 752.664868] [die+261/567] die+0x105/0x237 [ 752.666072] [do_page_fault+1127/1349] do_page_fault+0x467/0x545 [ 752.667274] [error_code+106/112] error_code+0x6a/0x70 [ 752.668477] [bio_add_page+54/61] bio_add_page+0x36/0x3d [ 752.669669] [e1d94044] kcdrwd+0x5a5/0x9ba [pktcdvd] [ 752.670856] [kthread+57/97] kthread+0x39/0x61 [ 752.672024] [kernel_thread_helper+7/16] kernel_thread_helper+0x7/0x10 [ 752.673197] === [ 752.674336] Code: ba 01 00 00 00 8b 4d f0 8b 46 18 66 3b 81 50 01 00 00 73 da 66 8b 46 1a 66 3b 81 52 01 00 00 73 cd 0f b7 46 14 6b d8 0c 03 5e 2c 89 3b 8b 45 08 89 43 04 8b 4d 0c 89 4b 08 8b 45 f0 8b 78 68 85 [ 752.677879] EIP: [__bio_add_page+212/355] __bio_add_page+0xd4/0x163 SS:ESP 0068:cb01cee4 I dig through git-block.patch and the culprit seems to be commit c94f1c4ac87862675c8d70941973bc3a69aff5d8 bio: use memset() in bio_init(). Maybe the real bug is a bad bio initialization in pktcdvd driver, which is revealed by this commit ? 2.6.23-rc4 and 2.6.23-rc3-mm1 work fine. Steps to reproduce: $ pktsetup /dev/pktcdvd/0 /dev/sr0 # put an UDF-formatted DVD-RW in the drive $ mount -o noatime,nodiratime,rw /dev/pktcdvd/0 /media/pkt $ sync /dev/sr0 drive is a LG-branded DVD burner: Vendor: HL-DT-ST Model: DVDRAM GSA-4165B Rev: DL03 - 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/
Re: 2.6.23-rc4-mm1: git-block.patch broke pktcdvd
On Fri, 14 Sep 2007 00:50:25 +0200 Laurent Riffard [EMAIL PROTECTED] wrote: I dig through git-block.patch and the culprit seems to be commit c94f1c4ac87862675c8d70941973bc3a69aff5d8 bio: use memset() in bio_init(). I think I'll be dropping git-block. There were a number of problems in rc4-mm1 (for which I have a sprinkling of messy-looking patches somewhere ahead of my current cursor) and nothing seems to have happened in the git tree for a month or so. - 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/
Re: 2.6.23-rc4-mm1: git-block.patch broke pktcdvd
Le 01.09.2007 06:58, Andrew Morton a écrit : > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-rc4/2.6.23-rc4-mm1/ [...] Jens, git-block.patch broke pktcdvd, I've got an Oops while syncing: > [ 713.014888] pktcdvd: Fixed packets, 16 blocks, Mode-1 disc > [ 713.021844] pktcdvd: write speed 2770kB/s > [ 718.401761] pktcdvd: 4595774kB available on disc > [ 721.175644] UDF-fs INFO UDF 0.9.8.1 (2004/29/09) Mounting volume > 'LinuxUDF', timestamp 2006/10/08 21:17 (1078) > [ 721.213784] mount used greatest stack depth: 460 bytes left > [ 752.634402] BUG: unable to handle kernel NULL pointer dereference at > virtual address > [ 752.635711] printing eip: c017b69e *pde = > [ 752.636983] Oops: 0002 [#1] PREEMPT > [ 752.638240] last sysfs file: /devices/pci:00/:00:0d.0/modalias > [ 752.639477] Modules linked in: udf binfmt_misc pktcdvd radeon drm lp > nls_iso8859_1 nls_cp850 vfat fat reiser4 lzo_decompress lzo_compress eeprom > w83781d hwmon_vid snd_ens1371 gameport snd_ac97_codec ac97_bus snd_pcm_oss > snd_mixer_oss snd_pcm sg firewire_ohci firewire_core sr_mod cdrom crc_itu_t > snd_seq_oss snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq snd_timer > snd_seq_device snd 8250_pnp i2c_viapro via_agp floppy ohci1394 soundcore 8250 > serial_core ata_generic uhci_hcd agpgart ne2k_pci 8390 ieee1394 > snd_page_alloc rtc pcspkr via686a usbcore parport_pc parport evdev reiserfs > sd_mod pata_via libata scsi_mod dm_mirror dm_mod > [ 752.645759] > [ 752.646990] Pid: 3403, comm: pktcdvd0 Not tainted (2.6.23-rc4-mm1 #50) > [ 752.648256] EIP: 0060:[__bio_add_page+212/355] EFLAGS: 00010246 CPU: 0 > [ 752.649515] EIP is at __bio_add_page+0xd4/0x163 > [ 752.650750] EAX: EBX: ECX: c26ca400 EDX: > [ 752.651984] ESI: cba3cf48 EDI: c1174be0 EBP: cb01cef4 ESP: cb01cee4 > [ 752.653219] DS: 007b ES: 007b FS: GS: SS: 0068 > [ 752.654446] Process pktcdvd0 (pid: 3403, ti=cb01c000 task=c1b9cdb0 > task.ti=cb01c000) > [ 752.654526] Stack: c26ca400 cba3cf48 c1174be0 0001 cb01cf10 c017b763 > 0800 0800 > [ 752.655908]0040 cba3cf48 cb06e120 cb01cfd0 e1d94044 0800 > 0004 cb09b8a0 > [ 752.657297]c1853ce0 0800 0001 > > [ 752.658695] Call Trace: > [ 752.661126] [show_trace_log_lvl+26/47] show_trace_log_lvl+0x1a/0x2f > [ 752.662383] [show_stack_log_lvl+155/163] show_stack_log_lvl+0x9b/0xa3 > [ 752.663626] [show_registers+160/482] show_registers+0xa0/0x1e2 > [ 752.664868] [die+261/567] die+0x105/0x237 > [ 752.666072] [do_page_fault+1127/1349] do_page_fault+0x467/0x545 > [ 752.667274] [error_code+106/112] error_code+0x6a/0x70 > [ 752.668477] [bio_add_page+54/61] bio_add_page+0x36/0x3d > [ 752.669669] [] kcdrwd+0x5a5/0x9ba [pktcdvd] > [ 752.670856] [kthread+57/97] kthread+0x39/0x61 > [ 752.672024] [kernel_thread_helper+7/16] kernel_thread_helper+0x7/0x10 > [ 752.673197] === > [ 752.674336] Code: ba 01 00 00 00 8b 4d f0 8b 46 18 66 3b 81 50 01 00 00 > 73 da 66 8b 46 1a 66 3b 81 52 01 00 00 73 cd 0f > b7 46 14 6b d8 0c 03 5e 2c <89> 3b 8b 45 08 89 43 04 8b 4d 0c 89 4b 08 8b 45 > f0 8b 78 68 85 > [ 752.677879] EIP: [__bio_add_page+212/355] __bio_add_page+0xd4/0x163 > SS:ESP 0068:cb01cee4 2.6.23-rc4 and 2.6.23-rc3-mm1 work fine. Steps to reproduce: $ pktsetup /dev/pktcdvd/0 /dev/sr0 # put an UDF-formatted DVD-RW in the drive $ mount -o noatime,nodiratime,rw /dev/pktcdvd/0 /media/pkt $ sync /dev/sr0 drive is a LG-branded DVD burner: Vendor: HL-DT-ST Model: DVDRAM GSA-4165B Rev: DL03 .config is attached. ~~ laurent # # Automatically generated make config: don't edit # Linux kernel version: 2.6.23-rc4-mm1 # Sat Sep 1 23:24:40 2007 # CONFIG_X86_32=y CONFIG_GENERIC_TIME=y CONFIG_GENERIC_CMOS_UPDATE=y CONFIG_CLOCKSOURCE_WATCHDOG=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y CONFIG_LOCKDEP_SUPPORT=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_SEMAPHORE_SLEEPERS=y CONFIG_X86=y CONFIG_MMU=y CONFIG_ZONE_DMA=y CONFIG_QUICKLIST=y CONFIG_GENERIC_ISA_DMA=y CONFIG_GENERIC_IOMAP=y CONFIG_GENERIC_BUG=y CONFIG_GENERIC_HWEIGHT=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y CONFIG_DMI=y CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" # # General setup # CONFIG_EXPERIMENTAL=y CONFIG_BROKEN_ON_SMP=y CONFIG_LOCK_KERNEL=y CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_LOCALVERSION="" CONFIG_LOCALVERSION_AUTO=y CONFIG_SWAP=y CONFIG_SYSVIPC=y CONFIG_SYSVIPC_SYSCTL=y CONFIG_POSIX_MQUEUE=y # CONFIG_BSD_PROCESS_ACCT is not set # CONFIG_TASKSTATS is not set # CONFIG_USER_NS is not set # CONFIG_AUDIT is not set # CONFIG_IKCONFIG is not set CONFIG_LOG_BUF_SHIFT=15 # CONFIG_CONTAINERS is not set CONFIG_SYSFS_DEPRECATED=y # CONFIG_RELAY is not set CONFIG_BLK_DEV_INITRD=y CONFIG_INITRAMFS_SOURCE="" CONFIG_CC_OPTIMIZE_FOR_SIZE=y CONFIG_SYSCTL=y CONFIG_EMBEDDED=y
Re: 2.6.23-rc4-mm1: git-block.patch broke pktcdvd
Le 01.09.2007 06:58, Andrew Morton a écrit : ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-rc4/2.6.23-rc4-mm1/ [...] Jens, git-block.patch broke pktcdvd, I've got an Oops while syncing: [ 713.014888] pktcdvd: Fixed packets, 16 blocks, Mode-1 disc [ 713.021844] pktcdvd: write speed 2770kB/s [ 718.401761] pktcdvd: 4595774kB available on disc [ 721.175644] UDF-fs INFO UDF 0.9.8.1 (2004/29/09) Mounting volume 'LinuxUDF', timestamp 2006/10/08 21:17 (1078) [ 721.213784] mount used greatest stack depth: 460 bytes left [ 752.634402] BUG: unable to handle kernel NULL pointer dereference at virtual address [ 752.635711] printing eip: c017b69e *pde = [ 752.636983] Oops: 0002 [#1] PREEMPT [ 752.638240] last sysfs file: /devices/pci:00/:00:0d.0/modalias [ 752.639477] Modules linked in: udf binfmt_misc pktcdvd radeon drm lp nls_iso8859_1 nls_cp850 vfat fat reiser4 lzo_decompress lzo_compress eeprom w83781d hwmon_vid snd_ens1371 gameport snd_ac97_codec ac97_bus snd_pcm_oss snd_mixer_oss snd_pcm sg firewire_ohci firewire_core sr_mod cdrom crc_itu_t snd_seq_oss snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq snd_timer snd_seq_device snd 8250_pnp i2c_viapro via_agp floppy ohci1394 soundcore 8250 serial_core ata_generic uhci_hcd agpgart ne2k_pci 8390 ieee1394 snd_page_alloc rtc pcspkr via686a usbcore parport_pc parport evdev reiserfs sd_mod pata_via libata scsi_mod dm_mirror dm_mod [ 752.645759] [ 752.646990] Pid: 3403, comm: pktcdvd0 Not tainted (2.6.23-rc4-mm1 #50) [ 752.648256] EIP: 0060:[__bio_add_page+212/355] EFLAGS: 00010246 CPU: 0 [ 752.649515] EIP is at __bio_add_page+0xd4/0x163 [ 752.650750] EAX: EBX: ECX: c26ca400 EDX: [ 752.651984] ESI: cba3cf48 EDI: c1174be0 EBP: cb01cef4 ESP: cb01cee4 [ 752.653219] DS: 007b ES: 007b FS: GS: SS: 0068 [ 752.654446] Process pktcdvd0 (pid: 3403, ti=cb01c000 task=c1b9cdb0 task.ti=cb01c000) [ 752.654526] Stack: c26ca400 cba3cf48 c1174be0 0001 cb01cf10 c017b763 0800 0800 [ 752.655908]0040 cba3cf48 cb06e120 cb01cfd0 e1d94044 0800 0004 cb09b8a0 [ 752.657297]c1853ce0 0800 0001 [ 752.658695] Call Trace: [ 752.661126] [show_trace_log_lvl+26/47] show_trace_log_lvl+0x1a/0x2f [ 752.662383] [show_stack_log_lvl+155/163] show_stack_log_lvl+0x9b/0xa3 [ 752.663626] [show_registers+160/482] show_registers+0xa0/0x1e2 [ 752.664868] [die+261/567] die+0x105/0x237 [ 752.666072] [do_page_fault+1127/1349] do_page_fault+0x467/0x545 [ 752.667274] [error_code+106/112] error_code+0x6a/0x70 [ 752.668477] [bio_add_page+54/61] bio_add_page+0x36/0x3d [ 752.669669] [e1d94044] kcdrwd+0x5a5/0x9ba [pktcdvd] [ 752.670856] [kthread+57/97] kthread+0x39/0x61 [ 752.672024] [kernel_thread_helper+7/16] kernel_thread_helper+0x7/0x10 [ 752.673197] === [ 752.674336] Code: ba 01 00 00 00 8b 4d f0 8b 46 18 66 3b 81 50 01 00 00 73 da 66 8b 46 1a 66 3b 81 52 01 00 00 73 cd 0f b7 46 14 6b d8 0c 03 5e 2c 89 3b 8b 45 08 89 43 04 8b 4d 0c 89 4b 08 8b 45 f0 8b 78 68 85 [ 752.677879] EIP: [__bio_add_page+212/355] __bio_add_page+0xd4/0x163 SS:ESP 0068:cb01cee4 2.6.23-rc4 and 2.6.23-rc3-mm1 work fine. Steps to reproduce: $ pktsetup /dev/pktcdvd/0 /dev/sr0 # put an UDF-formatted DVD-RW in the drive $ mount -o noatime,nodiratime,rw /dev/pktcdvd/0 /media/pkt $ sync /dev/sr0 drive is a LG-branded DVD burner: Vendor: HL-DT-ST Model: DVDRAM GSA-4165B Rev: DL03 .config is attached. ~~ laurent # # Automatically generated make config: don't edit # Linux kernel version: 2.6.23-rc4-mm1 # Sat Sep 1 23:24:40 2007 # CONFIG_X86_32=y CONFIG_GENERIC_TIME=y CONFIG_GENERIC_CMOS_UPDATE=y CONFIG_CLOCKSOURCE_WATCHDOG=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y CONFIG_LOCKDEP_SUPPORT=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_SEMAPHORE_SLEEPERS=y CONFIG_X86=y CONFIG_MMU=y CONFIG_ZONE_DMA=y CONFIG_QUICKLIST=y CONFIG_GENERIC_ISA_DMA=y CONFIG_GENERIC_IOMAP=y CONFIG_GENERIC_BUG=y CONFIG_GENERIC_HWEIGHT=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y CONFIG_DMI=y CONFIG_DEFCONFIG_LIST=/lib/modules/$UNAME_RELEASE/.config # # General setup # CONFIG_EXPERIMENTAL=y CONFIG_BROKEN_ON_SMP=y CONFIG_LOCK_KERNEL=y CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_LOCALVERSION= CONFIG_LOCALVERSION_AUTO=y CONFIG_SWAP=y CONFIG_SYSVIPC=y CONFIG_SYSVIPC_SYSCTL=y CONFIG_POSIX_MQUEUE=y # CONFIG_BSD_PROCESS_ACCT is not set # CONFIG_TASKSTATS is not set # CONFIG_USER_NS is not set # CONFIG_AUDIT is not set # CONFIG_IKCONFIG is not set CONFIG_LOG_BUF_SHIFT=15 # CONFIG_CONTAINERS is not set CONFIG_SYSFS_DEPRECATED=y # CONFIG_RELAY is not set CONFIG_BLK_DEV_INITRD=y CONFIG_INITRAMFS_SOURCE= CONFIG_CC_OPTIMIZE_FOR_SIZE=y CONFIG_SYSCTL=y CONFIG_EMBEDDED=y CONFIG_UID16=y CONFIG_SYSCTL_SYSCALL=y CONFIG_KALLSYMS=y #