mbox series

[0/2] partitions/aix: fix problems due to disk corruption

Message ID 20180726014629.30411-1-mfo@canonical.com (mailing list archive)
Headers show
Series partitions/aix: fix problems due to disk corruption | expand

Message

Mauricio Faria de Oliveira July 26, 2018, 1:46 a.m. UTC
We've recently received a disk image from an AIX LUN that when
attached on Linux displayed errors on console, then eventually
hung the system.

Apparently the LUN was originally installed with AIX and later
exercised with some I/O stress/overwrites which caused certain
bits to be wrong in just the right way for Linux to get a NULL
pointer and invalid data.

This is the test-case used ('--partscan' is the important bit).
  $ sudo losetup --show --find --partscan aix-lun.img

Patch 1 resolves the particular problem the disk image has.
Patch 2 improves the code a bit further (tested synthetically).

Mauricio Faria de Oliveira (2):
  partitions/aix: fix usage of uninitialized lv_info and lvname
    structures
  partitions/aix: append null character to print data from disk

 block/partitions/aix.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

Comments

Jens Axboe July 27, 2018, 3:17 p.m. UTC | #1
On 7/25/18 7:46 PM, Mauricio Faria de Oliveira wrote:
> We've recently received a disk image from an AIX LUN that when
> attached on Linux displayed errors on console, then eventually
> hung the system.
> 
> Apparently the LUN was originally installed with AIX and later
> exercised with some I/O stress/overwrites which caused certain
> bits to be wrong in just the right way for Linux to get a NULL
> pointer and invalid data.
> 
> This is the test-case used ('--partscan' is the important bit).
>   $ sudo losetup --show --find --partscan aix-lun.img
> 
> Patch 1 resolves the particular problem the disk image has.
> Patch 2 improves the code a bit further (tested synthetically).
> 
> Mauricio Faria de Oliveira (2):
>   partitions/aix: fix usage of uninitialized lv_info and lvname
>     structures
>   partitions/aix: append null character to print data from disk
> 
>  block/partitions/aix.c | 13 +++++++++----
>  1 file changed, 9 insertions(+), 4 deletions(-)

Looks good to me, I have applied for 4.19.