]> git.karo-electronics.de Git - karo-tx-linux.git/commit
bcache: Fix bch_ptr_bad()
authorKent Overstreet <kmo@daterainc.com>
Thu, 25 Jul 2013 01:14:44 +0000 (18:14 -0700)
committerKent Overstreet <kmo@daterainc.com>
Wed, 11 Sep 2013 02:03:10 +0000 (19:03 -0700)
commit313c27aee9facd8826baa2e79403dd610926434c
tree5ea9473e2ff4a92fb80bea67a5cfc09c212789d8
parentfe0ecc9971e4d7e1b49eb6a1f8640c58818f27a0
bcache: Fix bch_ptr_bad()

Previously, bch_ptr_bad() could return false when there was a pointer to
a nonexistant device... it only filtered out keys with PTR_CHECK_DEV
pointers.

This behaviour was intended for multiple cache device support; for that,
just because the device for one of the pointers has gone away doesn't
mean we want to filter out the rest of the pointers.

But we don't yet explicitly filter/check individual pointers, so without
that this behaviour was wrong - a corrupt bkey with a bad device pointer
could cause us to deref a bad pointer. Doh.

Signed-off-by: Kent Overstreet <kmo@daterainc.com>
drivers/md/bcache/bset.c