On Wed 2023-08-16 07:01:12, Nathan Chancellor wrote:
Hi Petr,
On Wed, Aug 16, 2023 at 01:01:46PM +0200, Petr Mladek wrote:
On Mon 2023-08-07 08:36:28, Nathan Chancellor wrote:
A recent change in clang allows it to consider more expressions as compile time constants, which causes it to point out an implicit conversion in the scanf tests:
lib/test_scanf.c:661:2: warning: implicit conversion from 'int' to 'unsigned char' changes value from -168 to 88 [-Wconstant-conversion] 661 | test_number_prefix(unsigned char, "0xA7", "%2hhx%hhx", 0, 0xa7, 2, check_uchar); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lib/test_scanf.c:609:29: note: expanded from macro 'test_number_prefix' 609 | T result[2] = {~expect[0], ~expect[1]}; \ | ~ ^~~~~~~~~~ 1 warning generated.
The result of the bitwise negation is the type of the operand after going through the integer promotion rules, so this truncation is expected but harmless, as the initial values in the result array get overwritten by _test() anyways. Add an explicit cast to the expected type in test_number_prefix() to silence the warning. There is no functional change, as all the tests still pass with GCC 13.1.0 and clang 18.0.0.
Cc: stable@vger.kernel.org Closes: https://github.com/ClangBuiltLinux/linux/issues/1899
"Closes:" is not a valid tag. It was proposed and rejected in the end. I replaced it with "Link:" as suggested by ./scripts/checkpatch.pl/
I don't really care about "Closes:" vs. "Link:", either is fine with me, but checkpatch.pl did not warn me about it and I still see commit 44c31888098a ("checkpatch: allow Closes tags with links") in mainline and -next that explicitly allows this (and even requires Closes: instead of Link: when following Reported-by:).
Good to know. It is possible that I mixed this with another tag. I recall that people wanted to add some new tags recently and Linus was strongly against it. Unfortunately, I can't find the discussion now.
It seems that the Closes: tag is acceptable. But Linus is still going to "put my foot down" when it gets misused, see https://lore.kernel.org/linux-doc/CAHk-=wh0v1EeDV3v8TzK81nDC40=XuTdY2MCr0xy3...
I called the checkpatch.pl from printk/linux.git in a branch based on 6.4. It did not have the commit 44c31888098a ("checkpatch: allow Closes tags with links").
If you do not mind, I'll keep the "Link:" tag to avoid rebase in the for-6.6 branch in printk/linug.git.
The patch has been pushed into printk/linux.git, branch for-6.6.
Thanks a lot for the review and acceptance!
You are welcome.
Best Regards, Petr