As i had written here before, sometimes bio which dispatched
to the dm's target, it's bi_size could exceed
region size in dm-mirror.c, i also found similar problem in
dm-stripe.c and dm-snap.c , in such situation,
bio's bi_size could exceed strip target's chunk size and snap
target's chunk size, but in current code, we
never care about this. so in strip target we could read/write
bad position after stripe_map() function,
and cause same effect in dm-snap.c.
I think such bugs are very dangerous then kernel panic
or cracsh becasue it may destroy your data
in silence. we'd better to annonuce our linux users don't use thus
dm-targets before we correct it.
Sincerely,
Zhao Qian <zhaoqian@xxxxxxxxxxx> |