From: Christoph Hellwig <hch@infradead.org>
To: axboe@kernel.dk
Cc: Dmitry Monakhov <dmonakhov@openvz.org>,
fstests@vger.kernel.org, linux-fsdevel@vger.kernel.org,
linux-block@vger.kernel.org
Subject: Re: [PATCH 1/9] bio-integrity: Do not allocate integrity context for bio w/o data
Date: Sun, 21 May 2017 00:12:37 -0700 [thread overview]
Message-ID: <20170521071237.GA23226@infradead.org> (raw)
In-Reply-To: <20170511073032.GA26586@infradead.org>
On Thu, May 11, 2017 at 12:30:32AM -0700, Christoph Hellwig wrote:
> Jens, can you pick this up for 4.12?
ping?
> On Wed, May 10, 2017 at 07:20:44PM +0400, Dmitry Monakhov wrote:
> > If bio has no data, such as ones from blkdev_issue_flush(),
> > then we have nothing to protect.
> >
> > This patch prevent bugon like follows:
> >
> > kfree_debugcheck: out of range ptr ac1fa1d106742a5ah
> > kernel BUG at mm/slab.c:2773!
> > invalid opcode: 0000 [#1] SMP
> > Modules linked in: bcache
> > CPU: 0 PID: 4428 Comm: xfs_io Tainted: G W 4.11.0-rc4-ext4-00041-g2ef0043-dirty #43
> > Hardware name: Virtuozzo KVM, BIOS seabios-1.7.5-11.vz7.4 04/01/2014
> > task: ffff880137786440 task.stack: ffffc90000ba8000
> > RIP: 0010:kfree_debugcheck+0x25/0x2a
> > RSP: 0018:ffffc90000babde0 EFLAGS: 00010082
> > RAX: 0000000000000034 RBX: ac1fa1d106742a5a RCX: 0000000000000007
> > RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff88013f3ccb40
> > RBP: ffffc90000babde8 R08: 0000000000000000 R09: 0000000000000000
> > R10: 00000000fcb76420 R11: 00000000725172ed R12: 0000000000000282
> > R13: ffffffff8150e766 R14: ffff88013a145e00 R15: 0000000000000001
> > FS: 00007fb09384bf40(0000) GS:ffff88013f200000(0000) knlGS:0000000000000000
> > CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > CR2: 00007fd0172f9e40 CR3: 0000000137fa9000 CR4: 00000000000006f0
> > Call Trace:
> > kfree+0xc8/0x1b3
> > bio_integrity_free+0xc3/0x16b
> > bio_free+0x25/0x66
> > bio_put+0x14/0x26
> > blkdev_issue_flush+0x7a/0x85
> > blkdev_fsync+0x35/0x42
> > vfs_fsync_range+0x8e/0x9f
> > vfs_fsync+0x1c/0x1e
> > do_fsync+0x31/0x4a
> > SyS_fsync+0x10/0x14
> > entry_SYSCALL_64_fastpath+0x1f/0xc2
> >
> > Reviewed-by: Christoph Hellwig <hch@lst.de>
> > Reviewed-by: Hannes Reinecke <hare@suse.com>
> > Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
> > Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
> > ---
> > block/bio-integrity.c | 3 +++
> > 1 file changed, 3 insertions(+)
> >
> > diff --git a/block/bio-integrity.c b/block/bio-integrity.c
> > index 5384713..b5009a8 100644
> > --- a/block/bio-integrity.c
> > +++ b/block/bio-integrity.c
> > @@ -175,6 +175,9 @@ bool bio_integrity_enabled(struct bio *bio)
> > if (bio_op(bio) != REQ_OP_READ && bio_op(bio) != REQ_OP_WRITE)
> > return false;
> >
> > + if (!bio_sectors(bio))
> > + return false;
> > +
> > /* Already protected? */
> > if (bio_integrity(bio))
> > return false;
> > --
> > 2.9.3
> >
> ---end quoted text---
---end quoted text---
next prev parent reply other threads:[~2017-05-21 7:12 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-10 15:20 [PATCH 0/9] block: T10/DIF Fixes and cleanups v4 Dmitry Monakhov
2017-05-10 15:20 ` [PATCH 1/9] bio-integrity: Do not allocate integrity context for bio w/o data Dmitry Monakhov
2017-05-11 7:30 ` Christoph Hellwig
2017-05-21 7:12 ` Christoph Hellwig [this message]
2017-05-10 15:20 ` [PATCH 2/9] bio-integrity: bio_trim should truncate integrity vector accordingly Dmitry Monakhov
2017-05-10 15:20 ` [PATCH 3/9] bio-integrity: bio_integrity_advance must update integrity seed Dmitry Monakhov
2017-05-10 22:40 ` Martin K. Petersen
2017-05-10 15:20 ` [PATCH 4/9] bio-integrity: fix interface for bio_integrity_trim Dmitry Monakhov
2017-05-10 15:20 ` [PATCH 5/9] bio-integrity: fold bio_integrity_enabled to bio_integrity_prep Dmitry Monakhov
2017-05-10 22:42 ` Martin K. Petersen
2017-05-11 7:31 ` Christoph Hellwig
2017-05-10 15:20 ` [PATCH 6/9] T10: Move opencoded contants to common header Dmitry Monakhov
2017-05-10 22:43 ` Martin K. Petersen
2017-05-11 7:32 ` Christoph Hellwig
2017-05-10 15:20 ` [PATCH 7/9] Guard bvec iteration logic Dmitry Monakhov
2017-05-10 22:45 ` Martin K. Petersen
2017-05-11 7:32 ` Christoph Hellwig
2017-05-11 7:46 ` Ming Lei
2017-05-10 15:20 ` [PATCH 8/9] bio: add bvec_iter rewind API Dmitry Monakhov
2017-05-10 15:20 ` [PATCH 9/9] bio-integrity: Restore original iterator on verify stage Dmitry Monakhov
2017-06-16 6:44 ` [PATCH 0/9] block: T10/DIF Fixes and cleanups v4 Christoph Hellwig
-- strict thread matches above, loose matches on Subject: below --
2017-04-04 18:56 [PATCH 0/9] block: T10/DIF Fixes and cleanups v3 Dmitry Monakhov
2017-04-04 18:56 ` [PATCH 1/9] bio-integrity: Do not allocate integrity context for bio w/o data Dmitry Monakhov
2017-04-05 6:32 ` Hannes Reinecke
2017-04-05 6:32 ` Hannes Reinecke
2017-04-20 2:34 ` Martin K. Petersen
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=20170521071237.GA23226@infradead.org \
--to=hch@infradead.org \
--cc=axboe@kernel.dk \
--cc=dmonakhov@openvz.org \
--cc=fstests@vger.kernel.org \
--cc=linux-block@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.