exofs: Fix CRASH on very early IO errors.
authorBoaz Harrosh <bharrosh@panasas.com>
Wed, 16 May 2012 11:22:21 +0000 (14:22 +0300)
committerBoaz Harrosh <bharrosh@panasas.com>
Sun, 20 May 2012 16:42:41 +0000 (19:42 +0300)
commit6abe4a87f7bc7978705c386dbba0ca0c7790b3ec
tree02f99246491cc2a76bdb592860537c63ee0ef480
parent36be50515fe2aef61533b516fa2576a2c7fe7664
exofs: Fix CRASH on very early IO errors.

If at exofs_fill_super() we had an early termination
do to any error, like an IO error while reading the
super-block. We would crash inside exofs_free_sbi().

This is because sbi->oc.numdevs was set to 1, before
we actually have a device table at all.

Fix it by moving the sbi->oc.numdevs = 1 to after the
allocation of the device table.

Reported-by: Johannes Schild <JSchild@gmx.de>
Stable: This is a bug since v3.2.0
CC: Stable Tree <stable@kernel.org>
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
fs/exofs/super.c