Changeset 17686


Ignore:
Timestamp:
2009-09-23T15:32:13+02:00 (7 years ago)
Author:
nbd
Message:

merge missing updates to squashfs lzma support from 2.6.30 to 2.6.31

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/generic-2.6/patches-2.6.31/053-squashfs_lzma.patch

    r17351 r17686  
    4848--- a/fs/squashfs/super.c 
    4949+++ b/fs/squashfs/super.c 
    50 @@ -48,13 +48,65 @@ 
     50@@ -48,13 +48,76 @@ 
    5151 #include "squashfs.h" 
    5252  
     
    8282+       } 
    8383+#endif 
    84   
     84+ 
    8585+       return err; 
    8686+} 
     
    9191+ 
    9292+#ifdef CONFIG_SQUASHFS_SUPPORT_LZMA 
     93+       struct { 
     94+               struct nlattr nla; 
     95+               int val; 
     96+       } params = { 
     97+               .nla = { 
     98+                       .nla_len        = nla_attr_size(sizeof(int)), 
     99+                       .nla_type       = UNLZMA_DECOMP_OUT_BUFFERS, 
     100+               }, 
     101+               .val = (msblk->block_size / PAGE_CACHE_SIZE) + 1 
     102+       }; 
     103  
    93104+       msblk->tfm = crypto_alloc_pcomp("lzma", 0, 
    94105+                                       CRYPTO_ALG_ASYNC); 
     
    98109+       } 
    99110+ 
    100 +       err = crypto_decompress_setup(msblk->tfm, NULL, 0); 
     111+       err = crypto_decompress_setup(msblk->tfm, &params, sizeof(params)); 
    101112+       if (err) { 
    102113+               ERROR("Failed to set up decompression parameters\n"); 
     
    116127        if (major < SQUASHFS_MAJOR) { 
    117128                ERROR("Major/Minor mismatch, older Squashfs %d.%d " 
    118 @@ -67,9 +119,6 @@ static int supported_squashfs_filesystem 
     129@@ -67,9 +130,6 @@ static int supported_squashfs_filesystem 
    119130                return -EINVAL; 
    120131        } 
     
    126137 } 
    127138  
    128 @@ -84,16 +133,6 @@ static int squashfs_fill_super(struct su 
     139@@ -84,16 +144,6 @@ static int squashfs_fill_super(struct su 
    129140        unsigned short flags; 
    130141        unsigned int fragments; 
     
    143154  
    144155        TRACE("Entered squashfs_fill_superblock\n"); 
    145 @@ -105,21 +144,6 @@ static int squashfs_fill_super(struct su 
     156@@ -105,21 +155,6 @@ static int squashfs_fill_super(struct su 
    146157        } 
    147158        msblk = sb->s_fs_info; 
     
    165176        if (sblk == NULL) { 
    166177                ERROR("Failed to allocate squashfs_super_block\n"); 
    167 @@ -159,8 +183,21 @@ static int squashfs_fill_super(struct su 
    168   
     178@@ -157,10 +192,28 @@ static int squashfs_fill_super(struct su 
     179                goto failed_mount; 
     180        } 
     181  
     182+       /* Check block size for sanity */ 
     183+       msblk->block_size = le32_to_cpu(sblk->block_size); 
     184+       if (msblk->block_size > SQUASHFS_FILE_MAX_SIZE) 
     185+               goto failed_mount; 
     186+ 
    169187        /* Check the MAJOR & MINOR versions and compression type */ 
    170188        err = supported_squashfs_filesystem(le16_to_cpu(sblk->s_major), 
     
    189207                goto failed_mount; 
    190208  
    191 @@ -316,21 +353,16 @@ allocate_root: 
     209@@ -180,11 +233,6 @@ static int squashfs_fill_super(struct su 
     210                        i_size_read(sb->s_bdev->bd_inode)) 
     211                goto failed_mount; 
     212  
     213-       /* Check block size for sanity */ 
     214-       msblk->block_size = le32_to_cpu(sblk->block_size); 
     215-       if (msblk->block_size > SQUASHFS_FILE_MAX_SIZE) 
     216-               goto failed_mount; 
     217- 
     218        /* 
     219         * Check the system page size is not larger than the filesystem 
     220         * block size (by default 128K).  This is currently not supported. 
     221@@ -316,21 +364,16 @@ allocate_root: 
    192222        return 0; 
    193223  
Note: See TracChangeset for help on using the changeset viewer.