lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240717003432.xbb3zs3iednce6vf@master>
Date: Wed, 17 Jul 2024 00:34:32 +0000
From: Wei Yang <richard.weiyang@...il.com>
To: "Liam R. Howlett" <Liam.Howlett@...cle.com>
Cc: Wei Yang <richard.weiyang@...il.com>,
	Matthew Wilcox <willy@...radead.org>, akpm@...ux-foundation.org,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/2] radix tree test suite: include kconfig.h with
 incomplete path

On Tue, Jul 16, 2024 at 11:54:47AM -0400, Liam R. Howlett wrote:
>* Wei Yang <richard.weiyang@...il.com> [240716 03:56]:
>> On Tue, Jul 16, 2024 at 03:31:06AM +0100, Matthew Wilcox wrote:
>> >On Tue, Jul 16, 2024 at 02:15:43AM +0000, Wei Yang wrote:
>> >> If you think my understanding is correct, I would send a v2 with proper
>> >> changelog to describe it.
>> >
>> >It seems like you're trying to change something that isn't broken.
>> 
>> Currently we don't find the problem because these two kconfig.h is similar.
>> The only difference is the one in tools/ doesn't include "generated/autoconf.h".
>
>We need that include.
>

I see your point, but I find current code has a chance not does do this.

>> 
>> And in related files, like include/linux/xarray.h, includes the correct
>> kconfig.h.
>> 
>> It is not broken, but doesn't mean it is correct, IMO.
>
>This is really annoying because it works today and your change was
>correct enough to look right, but it doesn't include the
>generated/autoconf.h  - so it's not right.  It took a lot of time to
>figure out that it isn't right.
>

I am not sure you have read my second mail.

Here is what I find.

I add a warning in tools/include/linux/kconfig.h.

diff --git a/tools/include/linux/kconfig.h b/tools/include/linux/kconfig.h
index 13b86bd3b746..12d3ed5f16b2 100644
--- a/tools/include/linux/kconfig.h
+++ b/tools/include/linux/kconfig.h
@@ -2,6 +2,8 @@
 #ifndef _TOOLS_LINUX_KCONFIG_H
 #define _TOOLS_LINUX_KCONFIG_H
 
+#warning include local kconfig.h
+

Then I run the command:

$make maple.o
cc -I. -I../../include -I../../../lib -g -Og -Wall -D_LGPL_SOURCE -fsanitize=address -fsanitize=undefined   -c -o maple.o maple.c
In file included from ./linux/kernel.h:14,
                 from ../../include/linux/list.h:7,
                 from ./linux/../../../../include/linux/radix-tree.h:13,
                 from ./linux/radix-tree.h:5,
                 from test.h:4,
                 from maple.c:11:
./linux/../../../include/linux/kconfig.h:5:2: warning: #warning include local kconfig.h [-Wcpp]
    5 | #warning include local kconfig.h
      |  ^~~~~~~

This means current code may include tools/include/linux/kconfig.h, which doesn't
include generated/autoconf.h.

After I change to <linux/kconfig.h> in kernel.h, the warning message is gone.

Current behavior is not what you expected, right? We have a chance to include
the kconfig.h which doesn't include generated/autoconf.h. 

Hope not waste your time.

-- 
Wei Yang
Help you, Help me

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ