Re: [PATCH] ubifs: Fix build errors as symbol undefined

From: Lihua (lihua, ran)
Date: Mon Nov 21 2022 - 04:32:20 EST


Follow your suggestion, I will push a new patch,Thanks.

在 2022/11/21 16:00, Richard Weinberger 写道:
----- Ursprüngliche Mail -----
Von: "Lihua" <hucool.lihua@xxxxxxxxxx>
An: "richard" <richard@xxxxxx>
CC: "Sascha Hauer" <s.hauer@xxxxxxxxxxxxxx>, "linux-mtd" <linux-mtd@xxxxxxxxxxxxxxxxxxx>, "linux-kernel"
<linux-kernel@xxxxxxxxxxxxxxx>, "Wei Yongjun" <weiyongjun1@xxxxxxxxxx>, "yusongping" <yusongping@xxxxxxxxxx>
Gesendet: Montag, 21. November 2022 02:54:53
Betreff: Re: [PATCH] ubifs: Fix build errors as symbol undefined

You can verify it with the config in the attachment. TKS :D

Thanks for your .config, I was able to identify the problem.
When CONFIG_CC_OPTIMIZE_FOR_SIZE is set the compiler does not optimize this construct:

err = ubifs_node_check_hash(c, buf, zbr->hash);
if (err) {
ubifs_bad_hash(c, buf, zbr->hash, lnum, offs);
return 0;
}

With CONFIG_UBIFS_FS_AUTHENTICATION not set, the compiler can assume that
ubifs_node_check_hash() is never true and drops the call to ubifs_bad_hash().
Is CONFIG_CC_OPTIMIZE_FOR_SIZE enabled this optimization does not happen anymore.

So we need a no-op ubifs_bad_hash() for the CONFIG_UBIFS_FS_AUTHENTICATION=n case.

Thanks,
//richard

.