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: <4829A4BD.3020007@bull.net>
Date:	Tue, 13 May 2008 16:25:01 +0200
From:	Benjamin Thery <benjamin.thery@...l.net>
To:	"Eric W. Biederman" <ebiederm@...ssion.com>
Cc:	Greg KH <greg@...ah.com>, Randy Dunlap <randy.dunlap@...cle.com>,
	Greg KH <gregkh@...e.de>,
	Andrew Morton <akpm@...ux-foundation.org>,
	linux-kernel@...r.kernel.org, Tejun Heo <htejun@...il.com>,
	Al Viro <viro@....linux.org.uk>,
	Daniel Lezcano <dlezcano@...ibm.com>,
	"Serge E. Hallyn" <serue@...ibm.com>,
	Pavel Emelyanov <xemul@...nvz.org>, netdev@...r.kernel.org
Subject: Re: kobject: Fix kobject_rename and !CONFIG_SYSFS

Eric W. Biederman wrote:
> Greg KH <greg@...ah.com> writes:
> 
>> Eric, Randy Dunlap has found that this patch breaks the build when
>> CONFIG_SYSFS is not enabled.  Can you please fix it up before I send it
>> to Linus?
>>
>> The exact error is:
>> In file included from /local/linsrc/next-20080509/include/linux/kobject.h:21,
>>                  from /local/linsrc/next-20080509/include/linux/module.h:16,
>>                  from /local/linsrc/next-20080509/include/linux/crypto.h:21,
>>                  from
>> /local/linsrc/next-20080509/arch/x86/kernel/asm-offsets_64.c:7,
>>                  from
>> /local/linsrc/next-20080509/arch/x86/kernel/asm-offsets.c:4:
>> /local/linsrc/next-20080509/include/linux/sysfs.h: In function
>> 'sysfs_rename_dir':
>> /local/linsrc/next-20080509/include/linux/sysfs.h:142: error: implicit
>> declaration of function 'kobject_set_name'
> 
> I will take a look in the morning and see if I can see what is wrong.
> 
> Which tree was this error against?  I thought I tested this case,
> and I'm wondering if there might be another patch that is hiding
> kobject_set_name.

Argh, headers "cross-dependencies":

* linux/kobject.h includes linux/sysfs.h before defining
   kobject_set_name()

* linux/sysfs.h needs to include linux/kobject.h to find
   kobject_set_name() definition (for inlined sysfs_rename_dir() when
   CONFIG_SYSFS=n)


sysfs_rename_dir() is only called by kobject.c, kobject_rename().
I guess this kind of patch is not acceptable to fix the depency?


Index: linux-2.6/lib/kobject.c
===================================================================
--- linux-2.6.orig/lib/kobject.c        2008-05-13 15:14:38.000000000 +0200
+++ linux-2.6/lib/kobject.c     2008-05-13 15:58:37.000000000 +0200
@@ -416,8 +416,11 @@ int kobject_rename(struct kobject *kobj,
         envp[0] = devpath_string;
         envp[1] = NULL;

+#ifdef CONFIG_SYSFS
         error = sysfs_rename_dir(kobj, new_name);
-
+#else
+       error = kobject_set_name(kobj, "%s", new_name);
+#endif
         /* This function is mostly/only used for network interface.
          * Some hotplug package track interfaces by their name and
          * therefore want to know when the name is changed by the user. */


-Benjamin

> 
> Eric
> 
> 


-- 
B e n j a m i n   T h e r y  - BULL/DT/Open Software R&D

    http://www.bull.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ