linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Laurent Riffard <laurent.riffard@free.fr>
To: Jens Axboe <jens.axboe@oracle.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	linux-kernel@vger.kernel.org, Peter Osterlund <petero2@telia.com>
Subject: [PATCH] pktcdvd: don't rely on bio_init() preserving bio->bi_destructor
Date: Thu, 20 Sep 2007 23:25:32 +0200	[thread overview]
Message-ID: <46F2E54C.3070504@free.fr> (raw)
In-Reply-To: <46EADB35.7000309@free.fr>

Le 14.09.2007 21:04, Laurent Riffard a écrit :
> 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:

Jens,

this patch, applied on top of your previous patch, solved it.



pktcdvd: don't rely on bio_init() preserving bio->bi_destructor

Signed-off-by: Laurent Riffard <laurent.riffard@free.fr>
---
 drivers/block/pktcdvd.c |    2 ++
 1 file changed, 2 insertions(+)

Index: linux-2.6-mm/drivers/block/pktcdvd.c
===================================================================
--- linux-2.6-mm.orig/drivers/block/pktcdvd.c
+++ linux-2.6-mm/drivers/block/pktcdvd.c
@@ -1156,6 +1156,7 @@ static void pkt_gather_data(struct pktcd
 		bio->bi_end_io = pkt_end_io_read;
 		bio->bi_private = pkt;
 		bio->bi_io_vec = vec;
+		bio->bi_destructor = pkt_bio_destructor;
 
 		p = (f * CD_FRAMESIZE) / PAGE_SIZE;
 		offset = (f * CD_FRAMESIZE) % PAGE_SIZE;
@@ -1453,6 +1454,7 @@ static void pkt_start_write(struct pktcd
 	pkt->w_bio->bi_end_io = pkt_end_io_packet_write;
 	pkt->w_bio->bi_private = pkt;
 	pkt->w_bio->bi_io_vec = bvec;
+	pkt->w_bio->bi_destructor = pkt_bio_destructor;
 	for (f = 0; f < pkt->frames; f++)
 		if (!bio_add_page(pkt->w_bio, bvec[f].bv_page, CD_FRAMESIZE, bvec[f].bv_offset))
 			BUG();





  reply	other threads:[~2007-09-20 21:25 UTC|newest]

Thread overview: 153+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-01  4:58 2.6.23-rc4-mm1 Andrew Morton
2007-09-01  6:53 ` 2.6.23-rc4-mm1 KAMEZAWA Hiroyuki
2007-09-01  6:58   ` 2.6.23-rc4-mm1 Andrew Morton
2007-09-01  8:54     ` 2.6.23-rc4-mm1 Herbert Xu
2007-09-01 21:09       ` 2.6.23-rc4-mm1 Satyam Sharma
2007-09-02  1:46         ` 2.6.23-rc4-mm1 Herbert Xu
2007-09-02  2:52           ` 2.6.23-rc4-mm1 Satyam Sharma
2007-09-02  3:59             ` 2.6.23-rc4-mm1 Herbert Xu
2007-09-01 11:55     ` 2.6.23-rc4-mm1 Kamalesh Babulal
2007-09-01 14:18 ` 2.6.23-rc4-mm1: geode fb compile error Adrian Bunk
2007-09-01 17:03   ` Satyam Sharma
2007-09-01 15:19 ` 2.6.23-rc4-mm1: two ktime_sub_ns() functions Adrian Bunk
2007-09-01 15:44 ` 2.6.23-rc4-mm1: mips compile error Adrian Bunk
2007-09-04  5:27   ` Mathieu Desnoyers
2007-09-04 10:21     ` Ralf Baechle
2007-09-01 16:07 ` 2.6.23-rc4-mm1 Torsten Kaiser
2007-09-01 16:16   ` 2.6.23-rc4-mm1 Andrew Morton
2007-09-01 18:13 ` 2.6.23-rc4-mm1 OOPS in forcedeth? thunder7
2007-09-01 19:05   ` Jeff Garzik
2007-09-02  0:54     ` Satyam Sharma
2007-09-02  5:36       ` thunder7
2007-09-02  6:19       ` thunder7
2007-09-02  9:55         ` Satyam Sharma
2007-09-14  3:51           ` Andrew James Wade
2007-09-17 13:57             ` Dhaval Giani
2007-09-17 14:07               ` Denis V. Lunev
2007-09-17 21:00                 ` Vlad Yasevich
2007-09-17 23:56                 ` Satyam Sharma
2007-09-01 22:06 ` 2.6.23-rc4-mm1 "no CRC" MODPOST warnings Satyam Sharma
2007-09-01 22:40   ` Adrian Bunk
2007-09-01 23:15   ` Sam Ravnborg
2007-09-01 23:12 ` [PATCH -mm] softlockup-improve-debug-output.patch fix Satyam Sharma
2007-09-02 12:37   ` [PATCH -mm][resend] " Satyam Sharma
2007-09-02 12:28     ` Ingo Molnar
2007-09-06  6:52       ` [PATCH] sched: Use show_regs() to improve __schedule_bug() output Satyam Sharma
2007-10-22 12:35         ` Ingo Molnar
2007-09-03 16:36     ` [PATCH -mm][resend] softlockup-improve-debug-output.patch fix Valdis.Kletnieks
2007-09-01 23:42 ` [PATCH -mm] drivers/acpi/tables/tbutils.c: Shut up bogus uninitialized variable warning Satyam Sharma
2007-09-02  0:19   ` Adrian Bunk
2007-09-02  1:02     ` Satyam Sharma
2007-09-02  1:30 ` [PATCH -mm] net/sched/sch_cbq.c: Shut up " Satyam Sharma
2007-09-02 11:36   ` Patrick McHardy
2007-09-02  2:36 ` 2.6.23-rc4-mm1: unpingable box and NULL dereference at tcp_rto_min() Alexey Dobriyan
2007-09-02  5:02   ` Satyam Sharma
2007-09-02 20:52   ` Andrew Morton
2007-09-02 21:19     ` Alexey Dobriyan
2007-09-02  9:14 ` 2.6.23-rc4-mm1 net bitops compile error Adrian Bunk
2007-09-04 17:53   ` Jiri Slaby
2007-09-02 11:25 ` [-mm patch] IPV6 must select XFRM Adrian Bunk
2007-09-03 10:43   ` Masahide NAKAMURA
2007-09-06 10:01     ` net-26.24 broken with XFRM off Noriaki TAKAMIYA
2007-09-02 13:00 ` [PATCH -mm] drivers/char/nozomi.c: __devexit_p usage build fix Satyam Sharma
2007-09-02 19:01 ` 2.6.23-rc4-mm1: broke pata_via cable detection Laurent Riffard
2007-09-02 19:20   ` Alan Cox
2007-09-11  1:50   ` Jeff Garzik
2007-09-02 20:39 ` 2.6.23-rc4-mm1: boot failure on HPC nx6325 Rafael J. Wysocki
2007-09-03  8:36   ` Thomas Gleixner
2007-09-03 10:15     ` Rafael J. Wysocki
2007-09-03 20:51     ` Rafael J. Wysocki
2007-09-04  1:03       ` Thomas Gleixner
2007-09-03  4:30 ` 2.6.23-rc4-mm1 Randy Dunlap
2007-09-03 19:25   ` 2.6.23-rc4-mm1 Wim Van Sebroeck
2007-09-03 22:32     ` 2.6.23-rc4-mm1 Satyam Sharma
2007-09-04 21:21       ` 2.6.23-rc4-mm1 Wim Van Sebroeck
2007-09-04 17:54 ` 2.6.23-rc4-mm1 Zach Carter
2007-09-04 21:36   ` 2.6.23-rc4-mm1 Stephen Hemminger
2007-09-05 14:37 ` 2.6.23-rc4-mm1 Valdis.Kletnieks
2007-09-05 15:12   ` 2.6.23-rc4-mm1 Andrew Morton
2007-09-05 15:20     ` 2.6.23-rc4-mm1 Balbir Singh
2007-09-05 15:58     ` 2.6.23-rc4-mm1 Valdis.Kletnieks
2007-09-05 19:46 ` 2.6.23-rc4-mm1 - git-alsa.patch breaks audio on Dell Latitude D820 Valdis.Kletnieks
2007-09-05 19:54   ` Valdis.Kletnieks
2007-09-05 20:22     ` Takashi Iwai
2007-09-05 20:11   ` Takashi Iwai
2007-09-05 20:27     ` Takashi Iwai
2007-09-05 21:16       ` Valdis.Kletnieks
2007-09-05 21:39         ` Takashi Iwai
2007-09-06 14:10           ` Valdis.Kletnieks
2007-09-06 14:17             ` Takashi Iwai
2007-09-06 19:37 ` 2.6.23-rc4-mm1 myri10ge module link error on x86_64 Mathieu Desnoyers
2007-09-06 20:40   ` David Miller
2007-09-06 20:48     ` David Miller
2007-09-07 23:59       ` Jeff Garzik
2007-09-08  0:25         ` Daniel Walker
2007-10-13 22:03         ` Avuton Olrich
2007-09-09 12:22 ` 2.6.23-rc4-mm1 Mel Gorman
2007-09-14 15:12   ` ath5k driver not working on ThinkPad Robert de Rooy
2007-09-09 20:24 ` [-mm patch] alpha bitops.h must #include <asm/barrier.h> Adrian Bunk
2007-09-09 20:24 ` [-mm patch] remove ide_get_error_location() Adrian Bunk
2007-09-11 21:27   ` Bartlomiej Zolnierkiewicz
2007-09-12  5:54     ` Jens Axboe
2007-09-09 20:24 ` [-mm patch] drivers/dma/ioat_dma.c: make 3 functions static Adrian Bunk
2007-09-09 20:25 ` [-mm patch] usb/serial/ch341.c: make 4 " Adrian Bunk
2007-09-09 20:25 ` [-mm patch] make nfs_wb_page_priority() static Adrian Bunk
2007-09-09 20:25 ` [-mm patch] kernel/kexec.c: make code static Adrian Bunk
2007-09-10  2:55   ` Ken'ichi Ohmichi
2007-09-10 12:20     ` Adrian Bunk
2007-09-11  5:53       ` Maneesh Soni
2007-09-12  7:37         ` Ken'ichi Ohmichi
2007-09-09 20:25 ` [-mm patch] really unexport do_softirq Adrian Bunk
2007-09-12 13:14   ` David Miller
2007-09-09 20:25 ` [-mm patch] unexport raise_softirq_irqoff Adrian Bunk
2007-09-09 20:41   ` Christoph Hellwig
2007-09-12 13:15     ` David Miller
2007-09-09 20:25 ` [-mm patch] mm/memcontrol.c: clenups Adrian Bunk
2007-09-10  8:23   ` Balbir Singh
2007-09-10 19:58     ` Jan Engelhardt
2007-09-10 19:59       ` Jan Engelhardt
2007-09-10 21:59     ` Adrian Bunk
2007-09-11  2:41       ` Balbir Singh
2007-09-09 20:25 ` [-mm patch] net/sctp/socket.c: make 3 variables static Adrian Bunk
2007-09-10 14:05   ` [Lksctp-developers] " Neil Horman
2007-09-12 13:18   ` David Miller
2007-09-09 20:25 ` [-mm patch] make tcp_splice_data_recv() static Adrian Bunk
2007-09-12 13:21   ` David Miller
2007-09-12 17:44     ` Jens Axboe
2007-09-09 20:26 ` [-mm patch] make do_try_to_free_pages() static Adrian Bunk
2007-09-10  8:24   ` Balbir Singh
2007-09-10 17:43 ` 2.6.23-rc4-mm1 -- powerpc per_cpu__cpu_sibling_map compile failure Andy Whitcroft
2007-09-10 17:49 ` 2.6.23-rc4-mm1 Andy Whitcroft
2007-09-10 18:19   ` 2.6.23-rc4-mm1 Andrew Morton
2007-09-10 18:59     ` 2.6.23-rc4-mm1 Torsten Kaiser
2007-09-10 19:20       ` 2.6.23-rc4-mm1 Andrew Morton
2007-09-10 19:38         ` 2.6.23-rc4-mm1 Torsten Kaiser
2007-09-10 19:42         ` 2.6.23-rc4-mm1 FUJITA Tomonori
2007-09-10 20:43           ` 2.6.23-rc4-mm1 Torsten Kaiser
2007-09-11  8:32             ` 2.6.23-rc4-mm1 Jens Axboe
2007-09-10 19:10     ` 2.6.23-rc4-mm1 FUJITA Tomonori
2007-09-13 17:34       ` 2.6.23-rc4-mm1 Andy Whitcroft
2007-09-15  4:16       ` 2.6.23-rc4-mm1 Paul Jackson
2007-09-15 10:52         ` 2.6.23-rc4-mm1 FUJITA Tomonori
2007-09-17 13:28           ` 2.6.23-rc4-mm1 Jens Axboe
2007-09-17 14:32             ` 2.6.23-rc4-mm1 FUJITA Tomonori
2007-09-18 10:18               ` 2.6.23-rc4-mm1 Jens Axboe
2007-09-18 12:25                 ` 2.6.23-rc4-mm1 FUJITA Tomonori
2007-09-18 12:51                   ` 2.6.23-rc4-mm1 Jens Axboe
2007-09-10 19:31     ` 2.6.23-rc4-mm1 FUJITA Tomonori
2007-09-14  8:10       ` 2.6.23-rc4-mm1 Andy Whitcroft
2007-09-14 13:01         ` 2.6.23-rc4-mm1 Torsten Kaiser
2007-09-14 20:15           ` 2.6.23-rc4-mm1 Andrew Morton
2007-09-10 20:19 ` 2.6.23-rc4-mm1: git-block.patch broke pktcdvd Laurent Riffard
2007-09-13 22:50   ` Laurent Riffard
2007-09-13 23:05     ` Andrew Morton
2007-09-14  8:00       ` Jens Axboe
2007-09-14  8:30         ` Jens Axboe
2007-09-14  9:33     ` Jens Axboe
2007-09-14 11:06       ` Jens Axboe
2007-09-14 19:04         ` Laurent Riffard
2007-09-20 21:25           ` Laurent Riffard [this message]
2007-09-21  5:19             ` [PATCH] pktcdvd: don't rely on bio_init() preserving bio->bi_destructor Jens Axboe
  -- strict thread matches above, loose matches on Subject: below --
2007-09-06  7:25 net-26.24 broken with XFRM off Divy Le Ray
2007-09-06  8:13 ` Eric Dumazet
2007-09-06  9:50   ` David Miller

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=46F2E54C.3070504@free.fr \
    --to=laurent.riffard@free.fr \
    --cc=akpm@linux-foundation.org \
    --cc=jens.axboe@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=petero2@telia.com \
    /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;
as well as URLs for NNTP newsgroup(s).