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;
  }

Reply via email to