UBIFS: Missing offset relocation for compressor 'none'
authorMichael Lawnick <ml.lawnick@gmx.de>
Thu, 19 Mar 2009 09:06:41 +0000 (10:06 +0100)
committerWolfgang Denk <wd@denx.de>
Fri, 20 Mar 2009 21:39:15 +0000 (22:39 +0100)
On systems where U-Boot is linked to another address than it really lays
(e.g. backup image), calls via function pointers must be fixed with a
'+= gd->reloc_off'.
This was not done for none_compr in ubifs_compressors_init() what leads
to system crash on ubifsmount command.

Signed-off-by: Michael Lawnick <ml.lawnick@gmx.de>
Acked-by: Stefan Roese <sr@denx.de>
fs/ubifs/ubifs.c

index d9178638849b26229e4ef104cbe8a009dbbdc156..32f9ff8ed4d2c018f5ddc4662cbb4087621e1851 100644 (file)
@@ -147,7 +147,10 @@ int __init ubifs_compressors_init(void)
        if (err)
                return err;
 
-       ubifs_compressors[UBIFS_COMPR_NONE] = &none_compr;
+       err = compr_init(&none_compr);
+       if (err)
+               return err;
+
        return 0;
 }