From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Carpenter Date: Thu, 21 Mar 2019 08:33:35 +0000 Subject: [PATCH] drm/i915/selftests: fix NULL vs IS_ERR() check in mock_context_barrier() Message-Id: <20190321083335.GA31210@kadam> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Jani Nikula , Chris Wilson Cc: David Airlie , intel-gfx@lists.freedesktop.org, kernel-janitors@vger.kernel.org, Matthew Auld The mock_context() function returns NULL on error, it doesn't return error pointers. Fixes: 85fddf0b0027 ("drm/i915: Introduce a context barrier callback") Signed-off-by: Dan Carpenter --- .../gpu/drm/i915/selftests/i915_gem_context.c | 4 +- drivers/staging/erofs/unzip_vle.c | 70 ++++++++++--------- 2 files changed, 38 insertions(+), 36 deletions(-) diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_context.c b/drivers/gpu/drm/i915/selftests/i915_gem_context.c index 4399ef9ebf15..a172dbd9cb9e 100644 --- a/drivers/gpu/drm/i915/selftests/i915_gem_context.c +++ b/drivers/gpu/drm/i915/selftests/i915_gem_context.c @@ -1620,8 +1620,8 @@ static int mock_context_barrier(void *arg) mutex_lock(&i915->drm.struct_mutex); ctx = mock_context(i915, "mock"); - if (IS_ERR(ctx)) { - err = PTR_ERR(ctx); + if (!ctx) { + err = -ENOMEM; goto unlock; } diff --git a/drivers/staging/erofs/unzip_vle.c b/drivers/staging/erofs/unzip_vle.c index c7b3b21123c1..a711bf61f60c 100644 --- a/drivers/staging/erofs/unzip_vle.c +++ b/drivers/staging/erofs/unzip_vle.c @@ -844,11 +844,9 @@ static void z_erofs_vle_unzip_kickoff(void *ptr, int bios) static inline void z_erofs_vle_read_endio(struct bio *bio) { const blk_status_t err = bio->bi_status; + struct erofs_sb_info *sbi = NULL; unsigned int i; struct bio_vec *bvec; -#ifdef EROFS_FS_HAS_MANAGED_CACHE - struct address_space *mc = NULL; -#endif struct bvec_iter_all iter_all; bio_for_each_segment_all(bvec, bio, i, iter_all) { @@ -858,20 +856,12 @@ static inline void z_erofs_vle_read_endio(struct bio *bio) DBG_BUGON(PageUptodate(page)); DBG_BUGON(!page->mapping); -#ifdef EROFS_FS_HAS_MANAGED_CACHE - if (unlikely(!mc && !z_erofs_is_stagingpage(page))) { - struct inode *const inode = page->mapping->host; - struct super_block *const sb = inode->i_sb; - - mc = MNGD_MAPPING(EROFS_SB(sb)); - } + if (unlikely(!sbi && !z_erofs_is_stagingpage(page))) + sbi = EROFS_SB(page->mapping->host->i_sb); - /* - * If mc has not gotten, it equals NULL, - * however, page->mapping never be NULL if working properly. - */ - cachemngd = (page->mapping = mc); -#endif + /* sbi should already be gotten if the page is managed */ + if (sbi) + cachemngd = erofs_page_is_managed(sbi, page); if (unlikely(err)) SetPageError(page); @@ -972,6 +962,7 @@ static int z_erofs_vle_unzip(struct super_block *sb, overlapped = false; compressed_pages = grp->compressed_pages; + err = 0; for (i = 0; i < clusterpages; ++i) { unsigned int pagenr; @@ -981,26 +972,37 @@ static int z_erofs_vle_unzip(struct super_block *sb, DBG_BUGON(!page); DBG_BUGON(!page->mapping); - if (z_erofs_is_stagingpage(page)) - continue; -#ifdef EROFS_FS_HAS_MANAGED_CACHE - if (page->mapping = MNGD_MAPPING(sbi)) { - DBG_BUGON(!PageUptodate(page)); - continue; - } -#endif + if (!z_erofs_is_stagingpage(page)) { + if (erofs_page_is_managed(sbi, page)) { + if (unlikely(!PageUptodate(page))) + err = -EIO; + continue; + } + + /* + * only if non-head page can be selected + * for inplace decompression + */ + pagenr = z_erofs_onlinepage_index(page); - /* only non-head page could be reused as a compressed page */ - pagenr = z_erofs_onlinepage_index(page); + DBG_BUGON(pagenr >= nr_pages); + DBG_BUGON(pages[pagenr]); + ++sparsemem_pages; + pages[pagenr] = page; - DBG_BUGON(pagenr >= nr_pages); - DBG_BUGON(pages[pagenr]); - ++sparsemem_pages; - pages[pagenr] = page; + overlapped = true; + } - overlapped = true; + /* PG_error needs checking for inplaced and staging pages */ + if (unlikely(PageError(page))) { + DBG_BUGON(PageUptodate(page)); + err = -EIO; + } } + if (unlikely(err)) + goto out; + llen = (nr_pages << PAGE_SHIFT) - work->pageofs; if (z_erofs_vle_workgrp_fmt(grp) = Z_EROFS_VLE_WORKGRP_FMT_PLAIN) { @@ -1044,10 +1046,9 @@ static int z_erofs_vle_unzip(struct super_block *sb, for (i = 0; i < clusterpages; ++i) { page = compressed_pages[i]; -#ifdef EROFS_FS_HAS_MANAGED_CACHE - if (page->mapping = MNGD_MAPPING(sbi)) + if (erofs_page_is_managed(sbi, page)) continue; -#endif + /* recycle all individual staging pages */ (void)z_erofs_gather_if_stagingpage(page_pool, page); @@ -1198,6 +1199,7 @@ pickup_page_for_submission(struct z_erofs_vle_workgroup *grp, if (page->mapping = mc) { WRITE_ONCE(grp->compressed_pages[nr], page); + ClearPageError(page); if (!PagePrivate(page)) { /* * impossible to be !PagePrivate(page) for -- 2.17.1 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Carpenter Subject: [PATCH] drm/i915/selftests: fix NULL vs IS_ERR() check in mock_context_barrier() Date: Thu, 21 Mar 2019 11:33:35 +0300 Message-ID: <20190321083335.GA31210@kadam> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from aserp2130.oracle.com (aserp2130.oracle.com [141.146.126.79]) by gabe.freedesktop.org (Postfix) with ESMTPS id E6B1B89E1A for ; Thu, 21 Mar 2019 08:33:56 +0000 (UTC) Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula , Chris Wilson Cc: David Airlie , intel-gfx@lists.freedesktop.org, kernel-janitors@vger.kernel.org, Matthew Auld List-Id: intel-gfx@lists.freedesktop.org VGhlIG1vY2tfY29udGV4dCgpIGZ1bmN0aW9uIHJldHVybnMgTlVMTCBvbiBlcnJvciwgaXQgZG9l c24ndCByZXR1cm4KZXJyb3IgcG9pbnRlcnMuCgpGaXhlczogODVmZGRmMGIwMDI3ICgiZHJtL2k5 MTU6IEludHJvZHVjZSBhIGNvbnRleHQgYmFycmllciBjYWxsYmFjayIpClNpZ25lZC1vZmYtYnk6 IERhbiBDYXJwZW50ZXIgPGRhbi5jYXJwZW50ZXJAb3JhY2xlLmNvbT4KLS0tCiAuLi4vZ3B1L2Ry bS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9jb250ZXh0LmMgfCAgNCArLQogZHJpdmVycy9zdGFn aW5nL2Vyb2ZzL3VuemlwX3ZsZS5jICAgICAgICAgICAgIHwgNzAgKysrKysrKysrKy0tLS0tLS0t LQogMiBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCAzNiBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fY29udGV4 dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2NvbnRleHQuYwpp bmRleCA0Mzk5ZWY5ZWJmMTUuLmExNzJkYmQ5Y2I5ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2NvbnRleHQuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fY29udGV4dC5jCkBAIC0xNjIwLDggKzE2MjAsOCBA QCBzdGF0aWMgaW50IG1vY2tfY29udGV4dF9iYXJyaWVyKHZvaWQgKmFyZykKIAltdXRleF9sb2Nr KCZpOTE1LT5kcm0uc3RydWN0X211dGV4KTsKIAogCWN0eCA9IG1vY2tfY29udGV4dChpOTE1LCAi bW9jayIpOwotCWlmIChJU19FUlIoY3R4KSkgewotCQllcnIgPSBQVFJfRVJSKGN0eCk7CisJaWYg KCFjdHgpIHsKKwkJZXJyID0gLUVOT01FTTsKIAkJZ290byB1bmxvY2s7CiAJfQogCmRpZmYgLS1n aXQgYS9kcml2ZXJzL3N0YWdpbmcvZXJvZnMvdW56aXBfdmxlLmMgYi9kcml2ZXJzL3N0YWdpbmcv ZXJvZnMvdW56aXBfdmxlLmMKaW5kZXggYzdiM2IyMTEyM2MxLi5hNzExYmY2MWY2MGMgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvc3RhZ2luZy9lcm9mcy91bnppcF92bGUuYworKysgYi9kcml2ZXJzL3N0 YWdpbmcvZXJvZnMvdW56aXBfdmxlLmMKQEAgLTg0NCwxMSArODQ0LDkgQEAgc3RhdGljIHZvaWQg el9lcm9mc192bGVfdW56aXBfa2lja29mZih2b2lkICpwdHIsIGludCBiaW9zKQogc3RhdGljIGlu bGluZSB2b2lkIHpfZXJvZnNfdmxlX3JlYWRfZW5kaW8oc3RydWN0IGJpbyAqYmlvKQogewogCWNv bnN0IGJsa19zdGF0dXNfdCBlcnIgPSBiaW8tPmJpX3N0YXR1czsKKwlzdHJ1Y3QgZXJvZnNfc2Jf aW5mbyAqc2JpID0gTlVMTDsKIAl1bnNpZ25lZCBpbnQgaTsKIAlzdHJ1Y3QgYmlvX3ZlYyAqYnZl YzsKLSNpZmRlZiBFUk9GU19GU19IQVNfTUFOQUdFRF9DQUNIRQotCXN0cnVjdCBhZGRyZXNzX3Nw YWNlICptYyA9IE5VTEw7Ci0jZW5kaWYKIAlzdHJ1Y3QgYnZlY19pdGVyX2FsbCBpdGVyX2FsbDsK IAogCWJpb19mb3JfZWFjaF9zZWdtZW50X2FsbChidmVjLCBiaW8sIGksIGl0ZXJfYWxsKSB7CkBA IC04NTgsMjAgKzg1NiwxMiBAQCBzdGF0aWMgaW5saW5lIHZvaWQgel9lcm9mc192bGVfcmVhZF9l bmRpbyhzdHJ1Y3QgYmlvICpiaW8pCiAJCURCR19CVUdPTihQYWdlVXB0b2RhdGUocGFnZSkpOwog CQlEQkdfQlVHT04oIXBhZ2UtPm1hcHBpbmcpOwogCi0jaWZkZWYgRVJPRlNfRlNfSEFTX01BTkFH RURfQ0FDSEUKLQkJaWYgKHVubGlrZWx5KCFtYyAmJiAhel9lcm9mc19pc19zdGFnaW5ncGFnZShw YWdlKSkpIHsKLQkJCXN0cnVjdCBpbm9kZSAqY29uc3QgaW5vZGUgPSBwYWdlLT5tYXBwaW5nLT5o b3N0OwotCQkJc3RydWN0IHN1cGVyX2Jsb2NrICpjb25zdCBzYiA9IGlub2RlLT5pX3NiOwotCi0J CQltYyA9IE1OR0RfTUFQUElORyhFUk9GU19TQihzYikpOwotCQl9CisJCWlmICh1bmxpa2VseSgh c2JpICYmICF6X2Vyb2ZzX2lzX3N0YWdpbmdwYWdlKHBhZ2UpKSkKKwkJCXNiaSA9IEVST0ZTX1NC KHBhZ2UtPm1hcHBpbmctPmhvc3QtPmlfc2IpOwogCi0JCS8qCi0JCSAqIElmIG1jIGhhcyBub3Qg Z290dGVuLCBpdCBlcXVhbHMgTlVMTCwKLQkJICogaG93ZXZlciwgcGFnZS0+bWFwcGluZyBuZXZl ciBiZSBOVUxMIGlmIHdvcmtpbmcgcHJvcGVybHkuCi0JCSAqLwotCQljYWNoZW1uZ2QgPSAocGFn ZS0+bWFwcGluZyA9PSBtYyk7Ci0jZW5kaWYKKwkJLyogc2JpIHNob3VsZCBhbHJlYWR5IGJlIGdv dHRlbiBpZiB0aGUgcGFnZSBpcyBtYW5hZ2VkICovCisJCWlmIChzYmkpCisJCQljYWNoZW1uZ2Qg PSBlcm9mc19wYWdlX2lzX21hbmFnZWQoc2JpLCBwYWdlKTsKIAogCQlpZiAodW5saWtlbHkoZXJy KSkKIAkJCVNldFBhZ2VFcnJvcihwYWdlKTsKQEAgLTk3Miw2ICs5NjIsNyBAQCBzdGF0aWMgaW50 IHpfZXJvZnNfdmxlX3VuemlwKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsCiAJb3ZlcmxhcHBlZCA9 IGZhbHNlOwogCWNvbXByZXNzZWRfcGFnZXMgPSBncnAtPmNvbXByZXNzZWRfcGFnZXM7CiAKKwll cnIgPSAwOwogCWZvciAoaSA9IDA7IGkgPCBjbHVzdGVycGFnZXM7ICsraSkgewogCQl1bnNpZ25l ZCBpbnQgcGFnZW5yOwogCkBAIC05ODEsMjYgKzk3MiwzNyBAQCBzdGF0aWMgaW50IHpfZXJvZnNf dmxlX3VuemlwKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsCiAJCURCR19CVUdPTighcGFnZSk7CiAJ CURCR19CVUdPTighcGFnZS0+bWFwcGluZyk7CiAKLQkJaWYgKHpfZXJvZnNfaXNfc3RhZ2luZ3Bh Z2UocGFnZSkpCi0JCQljb250aW51ZTsKLSNpZmRlZiBFUk9GU19GU19IQVNfTUFOQUdFRF9DQUNI RQotCQlpZiAocGFnZS0+bWFwcGluZyA9PSBNTkdEX01BUFBJTkcoc2JpKSkgewotCQkJREJHX0JV R09OKCFQYWdlVXB0b2RhdGUocGFnZSkpOwotCQkJY29udGludWU7Ci0JCX0KLSNlbmRpZgorCQlp ZiAoIXpfZXJvZnNfaXNfc3RhZ2luZ3BhZ2UocGFnZSkpIHsKKwkJCWlmIChlcm9mc19wYWdlX2lz X21hbmFnZWQoc2JpLCBwYWdlKSkgeworCQkJCWlmICh1bmxpa2VseSghUGFnZVVwdG9kYXRlKHBh Z2UpKSkKKwkJCQkJZXJyID0gLUVJTzsKKwkJCQljb250aW51ZTsKKwkJCX0KKworCQkJLyoKKwkJ CSAqIG9ubHkgaWYgbm9uLWhlYWQgcGFnZSBjYW4gYmUgc2VsZWN0ZWQKKwkJCSAqIGZvciBpbnBs YWNlIGRlY29tcHJlc3Npb24KKwkJCSAqLworCQkJcGFnZW5yID0gel9lcm9mc19vbmxpbmVwYWdl X2luZGV4KHBhZ2UpOwogCi0JCS8qIG9ubHkgbm9uLWhlYWQgcGFnZSBjb3VsZCBiZSByZXVzZWQg YXMgYSBjb21wcmVzc2VkIHBhZ2UgKi8KLQkJcGFnZW5yID0gel9lcm9mc19vbmxpbmVwYWdlX2lu ZGV4KHBhZ2UpOworCQkJREJHX0JVR09OKHBhZ2VuciA+PSBucl9wYWdlcyk7CisJCQlEQkdfQlVH T04ocGFnZXNbcGFnZW5yXSk7CisJCQkrK3NwYXJzZW1lbV9wYWdlczsKKwkJCXBhZ2VzW3BhZ2Vu cl0gPSBwYWdlOwogCi0JCURCR19CVUdPTihwYWdlbnIgPj0gbnJfcGFnZXMpOwotCQlEQkdfQlVH T04ocGFnZXNbcGFnZW5yXSk7Ci0JCSsrc3BhcnNlbWVtX3BhZ2VzOwotCQlwYWdlc1twYWdlbnJd ID0gcGFnZTsKKwkJCW92ZXJsYXBwZWQgPSB0cnVlOworCQl9CiAKLQkJb3ZlcmxhcHBlZCA9IHRy dWU7CisJCS8qIFBHX2Vycm9yIG5lZWRzIGNoZWNraW5nIGZvciBpbnBsYWNlZCBhbmQgc3RhZ2lu ZyBwYWdlcyAqLworCQlpZiAodW5saWtlbHkoUGFnZUVycm9yKHBhZ2UpKSkgeworCQkJREJHX0JV R09OKFBhZ2VVcHRvZGF0ZShwYWdlKSk7CisJCQllcnIgPSAtRUlPOworCQl9CiAJfQogCisJaWYg KHVubGlrZWx5KGVycikpCisJCWdvdG8gb3V0OworCiAJbGxlbiA9IChucl9wYWdlcyA8PCBQQUdF X1NISUZUKSAtIHdvcmstPnBhZ2VvZnM7CiAKIAlpZiAoel9lcm9mc192bGVfd29ya2dycF9mbXQo Z3JwKSA9PSBaX0VST0ZTX1ZMRV9XT1JLR1JQX0ZNVF9QTEFJTikgewpAQCAtMTA0NCwxMCArMTA0 Niw5IEBAIHN0YXRpYyBpbnQgel9lcm9mc192bGVfdW56aXAoc3RydWN0IHN1cGVyX2Jsb2NrICpz YiwKIAlmb3IgKGkgPSAwOyBpIDwgY2x1c3RlcnBhZ2VzOyArK2kpIHsKIAkJcGFnZSA9IGNvbXBy ZXNzZWRfcGFnZXNbaV07CiAKLSNpZmRlZiBFUk9GU19GU19IQVNfTUFOQUdFRF9DQUNIRQotCQlp ZiAocGFnZS0+bWFwcGluZyA9PSBNTkdEX01BUFBJTkcoc2JpKSkKKwkJaWYgKGVyb2ZzX3BhZ2Vf aXNfbWFuYWdlZChzYmksIHBhZ2UpKQogCQkJY29udGludWU7Ci0jZW5kaWYKKwogCQkvKiByZWN5 Y2xlIGFsbCBpbmRpdmlkdWFsIHN0YWdpbmcgcGFnZXMgKi8KIAkJKHZvaWQpel9lcm9mc19nYXRo ZXJfaWZfc3RhZ2luZ3BhZ2UocGFnZV9wb29sLCBwYWdlKTsKIApAQCAtMTE5OCw2ICsxMTk5LDcg QEAgcGlja3VwX3BhZ2VfZm9yX3N1Ym1pc3Npb24oc3RydWN0IHpfZXJvZnNfdmxlX3dvcmtncm91 cCAqZ3JwLAogCWlmIChwYWdlLT5tYXBwaW5nID09IG1jKSB7CiAJCVdSSVRFX09OQ0UoZ3JwLT5j b21wcmVzc2VkX3BhZ2VzW25yXSwgcGFnZSk7CiAKKwkJQ2xlYXJQYWdlRXJyb3IocGFnZSk7CiAJ CWlmICghUGFnZVByaXZhdGUocGFnZSkpIHsKIAkJCS8qCiAJCQkgKiBpbXBvc3NpYmxlIHRvIGJl ICFQYWdlUHJpdmF0ZShwYWdlKSBmb3IKLS0gCjIuMTcuMQoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4