Le 26/09/2018 à 13:46, zhong jiang a écrit :
It is safe to move dereference below a NULL test.
Signed-off-by: zhong jiang <zhongji...@huawei.com>
---
arch/powerpc/kernel/cacheinfo.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/arch/powerpc/kernel/cacheinfo.c b/arch/powerpc/kernel/cacheinfo.c
index a8f20e5..7f19714 100644
--- a/arch/powerpc/kernel/cacheinfo.c
+++ b/arch/powerpc/kernel/cacheinfo.c
@@ -401,14 +401,13 @@ static struct cache *cache_lookup_or_instantiate(struct
device_node *node,
struct cache *cache;
cache = cache_lookup_by_node(node);
+ if (!cache)
+ cache = cache_do_one_devnode(node, level);
But by doing this, you change the meaning of the following warning. Is
that what you want ? In that case the text of the WARN_ONCE() should be
changed, because the mismatch is not only on lookup now.
Christophe
WARN_ONCE(cache && cache->level != level,
"cache level mismatch on lookup (got %d, expected %d)\n",
cache->level, level);
- if (!cache)
- cache = cache_do_one_devnode(node, level);
-
return cache;
}