diff options
Diffstat (limited to 'for-next/v3_20230217_zyytlz_wz_bcache_remove_some_unnecessary_null_point_check_for_the_return_value_of___bch_.mbx')
-rw-r--r-- | for-next/v3_20230217_zyytlz_wz_bcache_remove_some_unnecessary_null_point_check_for_the_return_value_of___bch_.mbx | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/for-next/v3_20230217_zyytlz_wz_bcache_remove_some_unnecessary_null_point_check_for_the_return_value_of___bch_.mbx b/for-next/v3_20230217_zyytlz_wz_bcache_remove_some_unnecessary_null_point_check_for_the_return_value_of___bch_.mbx new file mode 100644 index 0000000..48f99a9 --- /dev/null +++ b/for-next/v3_20230217_zyytlz_wz_bcache_remove_some_unnecessary_null_point_check_for_the_return_value_of___bch_.mbx @@ -0,0 +1,101 @@ +From git@z Thu Jan 1 00:00:00 1970 +Subject: [PATCH v3] bcache: Remove some unnecessary NULL point check for + the return value of __bch_btree_node_alloc-related pointer +From: Zheng Wang <zyytlz.wz@163.com> +Date: Fri, 17 Feb 2023 18:09:01 +0800 +Message-Id: <20230217100901.707245-1-zyytlz.wz@163.com> +MIME-Version: 1.0 +Content-Type: text/plain; charset="utf-8" +Content-Transfer-Encoding: 7bit + +Due to the previously fix of __bch_btree_node_alloc, the return value will +never be a NULL pointer. So IS_ERR is enough to handle the failure + situation. Fix it by replacing IS_ERR_OR_NULL check to IS_ERR check. + +Fixes: cafe56359144 ("bcache: A block layer cache") +Cc: stable@vger.kernel.org +Signed-off-by: Zheng Wang <zyytlz.wz@163.com> +--- +v3: +- Add Cc: stable@vger.kernel.org suggested by Eric +v2: +- Replace more checks +--- + drivers/md/bcache/btree.c | 10 +++++----- + drivers/md/bcache/super.c | 4 ++-- + 2 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/drivers/md/bcache/btree.c b/drivers/md/bcache/btree.c +index 147c493a989a..7c21e54468bf 100644 +--- a/drivers/md/bcache/btree.c ++++ b/drivers/md/bcache/btree.c +@@ -1138,7 +1138,7 @@ static struct btree *btree_node_alloc_replacement(struct btree *b, + { + struct btree *n = bch_btree_node_alloc(b->c, op, b->level, b->parent); + +- if (!IS_ERR_OR_NULL(n)) { ++ if (!IS_ERR(n)) { + mutex_lock(&n->write_lock); + bch_btree_sort_into(&b->keys, &n->keys, &b->c->sort); + bkey_copy_key(&n->key, &b->key); +@@ -1340,7 +1340,7 @@ static int btree_gc_coalesce(struct btree *b, struct btree_op *op, + memset(new_nodes, 0, sizeof(new_nodes)); + closure_init_stack(&cl); + +- while (nodes < GC_MERGE_NODES && !IS_ERR_OR_NULL(r[nodes].b)) ++ while (nodes < GC_MERGE_NODES && !IS_ERR(r[nodes].b)) + keys += r[nodes++].keys; + + blocks = btree_default_blocks(b->c) * 2 / 3; +@@ -1352,7 +1352,7 @@ static int btree_gc_coalesce(struct btree *b, struct btree_op *op, + + for (i = 0; i < nodes; i++) { + new_nodes[i] = btree_node_alloc_replacement(r[i].b, NULL); +- if (IS_ERR_OR_NULL(new_nodes[i])) ++ if (IS_ERR(new_nodes[i])) + goto out_nocoalesce; + } + +@@ -1487,7 +1487,7 @@ static int btree_gc_coalesce(struct btree *b, struct btree_op *op, + bch_keylist_free(&keylist); + + for (i = 0; i < nodes; i++) +- if (!IS_ERR_OR_NULL(new_nodes[i])) { ++ if (!IS_ERR(new_nodes[i])) { + btree_node_free(new_nodes[i]); + rw_unlock(true, new_nodes[i]); + } +@@ -1669,7 +1669,7 @@ static int bch_btree_gc_root(struct btree *b, struct btree_op *op, + if (should_rewrite) { + n = btree_node_alloc_replacement(b, NULL); + +- if (!IS_ERR_OR_NULL(n)) { ++ if (!IS_ERR(n)) { + bch_btree_node_write_sync(n); + + bch_btree_set_root(n); +diff --git a/drivers/md/bcache/super.c b/drivers/md/bcache/super.c +index ba3909bb6bea..7660962e7b8b 100644 +--- a/drivers/md/bcache/super.c ++++ b/drivers/md/bcache/super.c +@@ -1724,7 +1724,7 @@ static void cache_set_flush(struct closure *cl) + if (!IS_ERR_OR_NULL(c->gc_thread)) + kthread_stop(c->gc_thread); + +- if (!IS_ERR_OR_NULL(c->root)) ++ if (!IS_ERR(c->root)) + list_add(&c->root->list, &c->btree_cache); + + /* +@@ -2088,7 +2088,7 @@ static int run_cache_set(struct cache_set *c) + + err = "cannot allocate new btree root"; + c->root = __bch_btree_node_alloc(c, NULL, 0, true, NULL); +- if (IS_ERR_OR_NULL(c->root)) ++ if (IS_ERR(c->root)) + goto err; + + mutex_lock(&c->root->write_lock); +-- +2.25.1 + |