1. 28 Aug, 2019 1 commit
  2. 27 Aug, 2019 15 commits
  3. 25 Aug, 2019 7 commits
  4. 24 Aug, 2019 1 commit
    • Gao Xiang's avatar
      erofs: move erofs out of staging · 47e4937a
      Gao Xiang authored
      EROFS filesystem has been merged into linux-staging for a year.
      
      EROFS is designed to be a better solution of saving extra storage
      space with guaranteed end-to-end performance for read-only files
      with the help of reduced metadata, fixed-sized output compression
      and decompression inplace technologies.
      
      In the past year, EROFS was greatly improved by many people as
      a staging driver, self-tested, betaed by a large number of our
      internal users, successfully applied to almost all in-service
      HUAWEI smartphones as the part of EMUI 9.1 and proven to be stable
      enough to be moved out of staging.
      
      EROFS is a self-contained filesystem driver. Although there are
      still some TODOs to be more generic, we have a dedicated team
      actively keeping on working on EROFS in order to make it better
      with the evolution of Linux kernel as the other in-kernel filesystems.
      
      As Pavel suggested, it's better to do as one commit since git
      can do moves and all histories will be saved in this way.
      
      Let's promote it from staging and enhance it more actively as
      a "real" part of kernel for more wider scenarios!
      
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Cc: Theodore Ts'o <tytso@mit.edu>
      Cc: Pavel Machek <pavel@denx.de>
      Cc: David Sterba <dsterba@suse.cz>
      Cc: Amir Goldstein <amir73il@gmail.com>
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: Darrick J . Wong <darrick.wong@oracle.com>
      Cc: Dave Chinner <david@fromorbit.com>
      Cc: Jaegeuk Kim <jaegeuk@kernel.org>
      Cc: Jan Kara <jack@suse.cz>
      Cc: Richard Weinberger <richard@nod.at>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Chao Yu <yuchao0@huawei.com>
      Cc: Miao Xie <miaoxie@huawei.com>
      Cc: Li Guifu <bluce.liguifu@huawei.com>
      Cc: Fang Wei <fangwei1@huawei.com>
      Signed-off-by: default avatarGao Xiang <gaoxiang25@huawei.com>
      Link: https://lore.kernel.org/r/20190822213659.5501-1-hsiangkao@aol.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      47e4937a
  5. 21 Aug, 2019 16 commits
    • Stephen Brennan's avatar
      staging: rtl8192u: fix spacing in ieee80211 · f401441d
      Stephen Brennan authored
      Checkpatch emits several errors, warnings, and checks about spacing.
      Apply checkpatch's suggested spacing rules.
      Signed-off-by: default avatarStephen Brennan <stephen@brennan.io>
      Link: https://lore.kernel.org/r/20190821143540.4501-4-stephen@brennan.ioSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      f401441d
    • Stephen Brennan's avatar
      staging: rtl8192u: fix macro alignment in ieee80211 · 2b1d4c42
      Stephen Brennan authored
      Several macros display unaligned, due to mixes of tabs and spaces. These
      can be fixed by making spacing consistent, do this.
      Signed-off-by: default avatarStephen Brennan <stephen@brennan.io>
      Link: https://lore.kernel.org/r/20190821143540.4501-3-stephen@brennan.ioSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      2b1d4c42
    • Stephen Brennan's avatar
      staging: rtl8192u: fix OPEN_BRACE errors in ieee80211 · ee16d7d3
      Stephen Brennan authored
      Checkpatch emits several errors regarding braces being on the incorrect
      line. These can be fixed by moving the brace, do this. In a few cases,
      some comments were moved to facilitate this.
      Signed-off-by: default avatarStephen Brennan <stephen@brennan.io>
      Link: https://lore.kernel.org/r/20190821143540.4501-2-stephen@brennan.ioSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      ee16d7d3
    • YueHaibing's avatar
      staging: rtl8192e: remove set but not used variable 'data_len' · 6808f8cf
      YueHaibing authored
      Fixes gcc '-Wunused-but-set-variable' warning:
      
       In function ieee80211_ccmp_encrypt:
      drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_ccmp.c:162:6:
       warning: variable data_len set but not used [-Wunused-but-set-variable]
      
      It is not used since commit 5ee52656 ("staging:
      rtl8192e: rtllib_crypt_ccmp.c: Use crypto API ccm(aes)")
      Reported-by: default avatarHulk Robot <hulkci@huawei.com>
      Signed-off-by: default avatarYueHaibing <yuehaibing@huawei.com>
      Link: https://lore.kernel.org/r/20190821122802.44028-1-yuehaibing@huawei.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      6808f8cf
    • YueHaibing's avatar
      staging: rtl8192e: remove two set but not used variables · 4a67342e
      YueHaibing authored
      Fixes gcc '-Wunused-but-set-variable' warning:
      
       In function '_rtl92e_dm_tx_power_tracking_callback_tssi':
      drivers/staging/rtl8192e/rtl8192e/rtl_dm.c:621:7:
       warning: variable 'bHighpowerstate' set but not used [-Wunused-but-set-variable]
       In function '_rtl92e_dm_rx_path_sel_byrssi':
      drivers/staging/rtl8192e/rtl8192e/rtl_dm.c:1904:32:
       warning: variable 'cck_rx_ver2_min_index' set but not used [-Wunused-but-set-variable]
      
      They are never used, so can be removed.
      Reported-by: default avatarHulk Robot <hulkci@huawei.com>
      Signed-off-by: default avatarYueHaibing <yuehaibing@huawei.com>
      Link: https://lore.kernel.org/r/20190821122556.37636-1-yuehaibing@huawei.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      4a67342e
    • YueHaibing's avatar
      staging: rtl8192u: ieee80211: remove set but not used variable 'data_len' · 68772c84
      YueHaibing authored
      Fixes gcc '-Wunused-but-set-variable' warning:
      
      drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_ccmp.c:
       In function ieee80211_ccmp_encrypt:
      drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_ccmp.c:162:6:
       warning: variable data_len set but not used [-Wunused-but-set-variable]
      
      It is not used since commit eb0e7bf3 ("staging:
      rtl8192u: ieee80211: ieee80211_crypt_ccmp.c: Use crypto API ccm(aes)")
      Reported-by: default avatarHulk Robot <hulkci@huawei.com>
      Signed-off-by: default avatarYueHaibing <yuehaibing@huawei.com>
      Link: https://lore.kernel.org/r/20190821122250.71404-1-yuehaibing@huawei.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      68772c84
    • Gao Xiang's avatar
      staging: erofs: detect potential multiref due to corrupted images · e12a0ce2
      Gao Xiang authored
      As reported by erofs-utils fuzzer, currently, multiref
      (ondisk deduplication) hasn't been supported for now,
      we should forbid it properly.
      
      Fixes: 3883a79a ("staging: erofs: introduce VLE decompression support")
      Cc: <stable@vger.kernel.org> # 4.19+
      Signed-off-by: default avatarGao Xiang <gaoxiang25@huawei.com>
      Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
      Link: https://lore.kernel.org/r/20190821140152.229648-1-gaoxiang25@huawei.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      e12a0ce2
    • Colin Ian King's avatar
      staging: rts5208: remove redundant assignment to retval · 8467c3b4
      Colin Ian King authored
      Variable retval is initialized to a value that is never read and it
      is re-assigned later. The initialization is redundant and can be
      removed.
      
      Addresses-Coverity: ("Unused value")
      Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
      Link: https://lore.kernel.org/r/20190818184649.13828-1-colin.king@canonical.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      8467c3b4
    • Eduardo Barretto's avatar
      staging: kpc2000: kpc2000_i2c: Fix different address spaces warnings · 1327d35a
      Eduardo Barretto authored
      This patch fixes the following sparse warnings:
      
      kpc2000_i2c.c:137: warning: incorrect type in argument 1
                                         (different address spaces)
      kpc2000_i2c.c:137:    expected void const volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:137:    got void *
      kpc2000_i2c.c:146: warning: incorrect type in argument 2
                                         (different address spaces)
      kpc2000_i2c.c:146:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:146:    got void *
      kpc2000_i2c.c:147: warning: incorrect type in argument 1
                                         (different address spaces)
      kpc2000_i2c.c:147:    expected void const volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:147:    got void *
      kpc2000_i2c.c:166: warning: incorrect type in argument 1
                                         (different address spaces)
      kpc2000_i2c.c:166:    expected void const volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:166:    got void *
      kpc2000_i2c.c:166: warning: incorrect type in argument 2
                                        (different address spaces)
      kpc2000_i2c.c:166:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:166:    got void *
      kpc2000_i2c.c:168: warning: incorrect type in argument 1
                                         (different address spaces)
      kpc2000_i2c.c:168:    expected void const volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:168:    got void *
      kpc2000_i2c.c:168: warning: incorrect type in argument 2
                                         (different address spaces)
      kpc2000_i2c.c:168:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:168:    got void *
      kpc2000_i2c.c:171: warning: incorrect type in argument 1
                                         (different address spaces)
      kpc2000_i2c.c:171:    expected void const volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:171:    got void *
      kpc2000_i2c.c:174: warning: incorrect type in argument 2
                                         (different address spaces)
      kpc2000_i2c.c:174:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:174:    got void *
      kpc2000_i2c.c:193: warning: incorrect type in argument 2
                                         (different address spaces)
      kpc2000_i2c.c:193:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:193:    got void *
      kpc2000_i2c.c:194: warning: incorrect type in argument 1
                                         (different address spaces)
      kpc2000_i2c.c:194:    expected void const volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:194:    got void *
      kpc2000_i2c.c:214: warning: incorrect type in argument 2
                                        (different address spaces)
      kpc2000_i2c.c:214:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:214:    got void *
      kpc2000_i2c.c:219: warning: incorrect type in argument 1
                                        (different address spaces)
      kpc2000_i2c.c:219:    expected void const volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:219:    got void *
      kpc2000_i2c.c:226: warning: incorrect type in argument 2
                                        (different address spaces)
      kpc2000_i2c.c:226:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:226:    got void *
      kpc2000_i2c.c:238: warning: incorrect type in argument 1
                                         (different address spaces)
      kpc2000_i2c.c:238:    expected void const volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:238:    got void *
      kpc2000_i2c.c:244: warning: incorrect type in argument 2
                                        (different address spaces)
      kpc2000_i2c.c:244:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:244:    got void *
      kpc2000_i2c.c:252: warning: incorrect type in argument 1
                                        (different address spaces)
      kpc2000_i2c.c:252:    expected void const volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:252:    got void *
      kpc2000_i2c.c:257: warning: incorrect type in argument 2
                                        (different address spaces)
      kpc2000_i2c.c:257:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:257:    got void *
      kpc2000_i2c.c:259: warning: incorrect type in argument 2
      				   (different address spaces)
      kpc2000_i2c.c:259:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:259:    got void *
      kpc2000_i2c.c:267: warning: incorrect type in argument 1
                                         (different address spaces)
      kpc2000_i2c.c:267:    expected void const volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:267:    got void *
      kpc2000_i2c.c:273: warning: incorrect type in argument 1
                                         (different address spaces)
      kpc2000_i2c.c:273:    expected void const volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:273:    got void *
      kpc2000_i2c.c:293: warning: incorrect type in argument 2
                                         (different address spaces)
      kpc2000_i2c.c:293:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:293:    got void *
      kpc2000_i2c.c:294: warning: incorrect type in argument 2
                                         (different address spaces)
      kpc2000_i2c.c:294:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:294:    got void *
      kpc2000_i2c.c:309: warning: incorrect type in argument 2
                                         (different address spaces)
      kpc2000_i2c.c:309:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:309:    got void *
      kpc2000_i2c.c:312: warning: incorrect type in argument 2
                                         (different address spaces)
      kpc2000_i2c.c:312:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:312:    got void *
      kpc2000_i2c.c:317: warning: incorrect type in argument 1
                                         (different address spaces)
      kpc2000_i2c.c:317:    expected void const volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:317:    got void *
      kpc2000_i2c.c:324: warning: incorrect type in argument 1
                                         (different address spaces)
      kpc2000_i2c.c:324:    expected void const volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:324:    got void *
      kpc2000_i2c.c:328: warning: incorrect type in argument 1
                                         (different address spaces)
      kpc2000_i2c.c:328:    expected void const volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:328:    got void *
      kpc2000_i2c.c:329: warning: incorrect type in argument 2
                                         (different address spaces)
      kpc2000_i2c.c:329:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:329:    got void *
      kpc2000_i2c.c:330: warning: incorrect type in argument 2
                                         (different address spaces)
      kpc2000_i2c.c:330:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:330:    got void *
      kpc2000_i2c.c:338: warning: incorrect type in argument 1
                                         (different address spaces)
      kpc2000_i2c.c:338:    expected void const volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:338:    got void *
      kpc2000_i2c.c:340: warning: incorrect type in argument 2
                                         (different address spaces)
      kpc2000_i2c.c:340:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:340:    got void *
      kpc2000_i2c.c:342: warning: incorrect type in argument 2
                                         (different address spaces)
      kpc2000_i2c.c:342:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:342:    got void *
      kpc2000_i2c.c:350: warning: incorrect type in argument 1
                                        (different address spaces)
      kpc2000_i2c.c:350:    expected void const volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:350:    got void *
      kpc2000_i2c.c:350: warning: incorrect type in argument 2
                                        (different address spaces)
      kpc2000_i2c.c:350:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:350:    got void *
      kpc2000_i2c.c:351: warning: incorrect type in argument 1
                                         (different address spaces)
      kpc2000_i2c.c:351:    expected void const volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:351:    got void *
      kpc2000_i2c.c:414: warning: incorrect type in argument 2
                                         (different address spaces)
      kpc2000_i2c.c:414:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:414:    got void *
      kpc2000_i2c.c:420: warning: incorrect type in argument 2
                                         (different address spaces)
      kpc2000_i2c.c:420:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:420:    got void *
      kpc2000_i2c.c:422: warning: incorrect type in argument 2
                                         (different address spaces)
      kpc2000_i2c.c:422:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:422:    got void *
      kpc2000_i2c.c:427: warning: incorrect type in argument 2
                                         (different address spaces)
      kpc2000_i2c.c:427:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:427:    got void *
      kpc2000_i2c.c:428: warning: incorrect type in argument 2
                                         (different address spaces)
      kpc2000_i2c.c:428:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:428:    got void *
      kpc2000_i2c.c:430: warning: incorrect type in argument 2
                                         (different address spaces)
      kpc2000_i2c.c:430:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:430:    got void *
      kpc2000_i2c.c:435: warning: incorrect type in argument 2
                                         (different address spaces)
      kpc2000_i2c.c:435:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:435:    got void *
      kpc2000_i2c.c:436: warning: incorrect type in argument 2
                                         (different address spaces)
      kpc2000_i2c.c:436:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:436:    got void *
      kpc2000_i2c.c:438: warning: incorrect type in argument 2
                                         (different address spaces)
      kpc2000_i2c.c:438:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:438:    got void *
      kpc2000_i2c.c:439: warning: incorrect type in argument 2
                                         (different address spaces)
      kpc2000_i2c.c:439:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:439:    got void *
      kpc2000_i2c.c:445: warning: incorrect type in argument 2
                                         (different address spaces)
      kpc2000_i2c.c:445:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:445:    got void *
      kpc2000_i2c.c:446: warning: incorrect type in argument 2
                                         (different address spaces)
      kpc2000_i2c.c:446:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:446:    got void *
      kpc2000_i2c.c:454: warning: incorrect type in argument 2
                                         (different address spaces)
      kpc2000_i2c.c:454:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:454:    got void *
      kpc2000_i2c.c:459: warning: incorrect type in argument 2
                                         (different address spaces)
      kpc2000_i2c.c:459:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:459:    got void *
      kpc2000_i2c.c:461: warning: incorrect type in argument 2
                                         (different address spaces)
      kpc2000_i2c.c:461:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:461:    got void *
      kpc2000_i2c.c:472: warning: incorrect type in argument 1
                                         (different address spaces)
      kpc2000_i2c.c:472:    expected void const volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:472:    got void *
      kpc2000_i2c.c:472: warning: incorrect type in argument 2
                                         (different address spaces)
      kpc2000_i2c.c:472:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:472:    got void *
      kpc2000_i2c.c:475: warning: incorrect type in argument 1
                                         (different address spaces)
      kpc2000_i2c.c:475:    expected void const volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:475:    got void *
      kpc2000_i2c.c:475: warning: incorrect type in argument 2
                                         (different address spaces)
      kpc2000_i2c.c:475:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:475:    got void *
      kpc2000_i2c.c:493: warning: incorrect type in argument 1
                                         (different address spaces)
      kpc2000_i2c.c:493:    expected void const volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:493:    got void *
      kpc2000_i2c.c:493: warning: incorrect type in argument 2
                                         (different address spaces)
      kpc2000_i2c.c:493:    expected void volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:493:    got void *
      kpc2000_i2c.c:512: warning: incorrect type in argument 1
                                         (different address spaces)
      kpc2000_i2c.c:512:    expected void const volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:512:    got void *
      kpc2000_i2c.c:516: warning: incorrect type in argument 1
                                         (different address spaces)
      kpc2000_i2c.c:516:    expected void const volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:516:    got void *
      kpc2000_i2c.c:516: warning: incorrect type in argument 1
                                         (different address spaces)
      kpc2000_i2c.c:516:    expected void const volatile [noderef] <asn:2> *addr
      kpc2000_i2c.c:516:    got void *
      Signed-off-by: default avatarEduardo Barretto <edusbarretto@gmail.com>
      Link: https://lore.kernel.org/r/20190818183555.7167-1-edusbarretto@gmail.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      1327d35a
    • Donald Yandt's avatar
      staging: android: Remove ion device tree bindings from the TODO · be237202
      Donald Yandt authored
      Commit 23a4388f ("staging: android: ion: Remove file ion_chunk_heap.c")
      and eadbf7a3 ("staging: android: ion: Remove file ion_carveout_heap.c")
      removed the chunk and carveout heaps from ion but left behind the device
      tree bindings for them in the TODO, this patch removes it.
      Signed-off-by: default avatarDonald Yandt <donald.yandt@gmail.com>
      Link: https://lore.kernel.org/r/20190818152023.891-1-donald.yandt@gmail.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      be237202
    • Christophe JAILLET's avatar
      staging: rtl8712: Improve naming of include hearder guards · f55ef00e
      Christophe JAILLET authored
      Choose a better name for the include hearder guard used in rtl871x_io.h.
      '_IO_H_' is to generic and does not match the comment after the #endif.
      Use '_RTL871X_IO_H_' instead.
      
      Also make the comments in the #endif /* XXX */ match the name used in
      #ifndef.
      Signed-off-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
      Link: https://lore.kernel.org/r/20190818150609.3376-1-christophe.jaillet@wanadoo.frSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      f55ef00e
    • Gao Xiang's avatar
      staging: erofs: avoid loop in submit chains · bfc4ccb1
      Gao Xiang authored
      As reported by erofs-utils fuzzer, 2 conditions
      can happen in corrupted images, which can cause
      unexpected behaviors.
       - access the same pcluster one more time;
       - access the tail end pcluster again, e.g.
                  _ access again (will trigger tail merging)
                 |
           1 2 3 1 2             ->   1 2 3 1
           |_ tail end of the chain    \___/ (unexpected behavior)
      Let's detect and avoid them now.
      Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarGao Xiang <gaoxiang25@huawei.com>
      Link: https://lore.kernel.org/r/20190821030908.40282-1-gaoxiang25@huawei.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      bfc4ccb1
    • Hariprasad Kelam's avatar
    • Masanari Iida's avatar
    • Gao Xiang's avatar
      staging: erofs: avoid endless loop of invalid lookback distance 0 · 598bb891
      Gao Xiang authored
      As reported by erofs-utils fuzzer, Lookback distance should
      be a positive number, so it should be actually looked back
      rather than spinning.
      
      Fixes: 02827e17 ("staging: erofs: add erofs_map_blocks_iter")
      Cc: <stable@vger.kernel.org> # 4.19+
      Signed-off-by: default avatarGao Xiang <gaoxiang25@huawei.com>
      Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
      Link: https://lore.kernel.org/r/20190819103426.87579-7-gaoxiang25@huawei.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      598bb891
    • Gao Xiang's avatar
      staging: erofs: add two missing erofs_workgroup_put for corrupted images · 138e1a09
      Gao Xiang authored
      As reported by erofs-utils fuzzer, these error handling
      path will be entered to handle corrupted images.
      
      Lack of erofs_workgroup_puts will cause unmounting
      unsuccessfully.
      
      Fix these return values to EFSCORRUPTED as well.
      
      Fixes: 3883a79a ("staging: erofs: introduce VLE decompression support")
      Cc: <stable@vger.kernel.org> # 4.19+
      Signed-off-by: default avatarGao Xiang <gaoxiang25@huawei.com>
      Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
      Link: https://lore.kernel.org/r/20190819103426.87579-4-gaoxiang25@huawei.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      138e1a09