* The use of KOBJ_NAME_LEN
@ 2007-12-04 6:45 Dave Young
2007-12-04 6:50 ` Robert P. J. Day
2007-12-04 7:46 ` Greg KH
0 siblings, 2 replies; 9+ messages in thread
From: Dave Young @ 2007-12-04 6:45 UTC (permalink / raw)
To: gregkh; +Cc: linux-kernel
Hi,
Does the KOBJ_NAME_LEN really means the limit of kobject name length? seems not . And if it's true, is the KOBJ_NAME_LEN of 20 enough to use?
In the kobject_set_name, the limit is 1024. Looks like either the comment or the code should be updated.
/**
* kobject_set_name - Set the name of an object
* @kobj: object.
* @fmt: format string used to build the name
*
* If strlen(name) >= KOBJ_NAME_LEN, then use a dynamically allocated
* string that @kobj->k_name points to. Otherwise, use the static
* @kobj->name array.
*/
Regards
dave
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: The use of KOBJ_NAME_LEN
2007-12-04 6:45 The use of KOBJ_NAME_LEN Dave Young
@ 2007-12-04 6:50 ` Robert P. J. Day
2007-12-04 7:17 ` Dave Young
2007-12-04 7:46 ` Greg KH
2007-12-04 7:46 ` Greg KH
1 sibling, 2 replies; 9+ messages in thread
From: Robert P. J. Day @ 2007-12-04 6:50 UTC (permalink / raw)
To: Dave Young; +Cc: gregkh, linux-kernel
On Tue, 4 Dec 2007, Dave Young wrote:
> Hi,
> Does the KOBJ_NAME_LEN really means the limit of kobject name length? seems not . And if it's true, is the KOBJ_NAME_LEN of 20 enough to use?
>
> In the kobject_set_name, the limit is 1024. Looks like either the comment or the code should be updated.
>
> /**
> * kobject_set_name - Set the name of an object
> * @kobj: object.
> * @fmt: format string used to build the name
> *
> * If strlen(name) >= KOBJ_NAME_LEN, then use a dynamically allocated
> * string that @kobj->k_name points to. Otherwise, use the static
> * @kobj->name array.
> */
the comment seems fairly clear -- if the name is sufficiently short,
it's stored in the static array. if not, then it's stored in
dynamically allocated space.
rday
========================================================================
Robert P. J. Day
Linux Consulting, Training and Annoying Kernel Pedantry
Waterloo, Ontario, CANADA
http://crashcourse.ca
========================================================================
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: The use of KOBJ_NAME_LEN
2007-12-04 6:50 ` Robert P. J. Day
@ 2007-12-04 7:17 ` Dave Young
2007-12-04 7:46 ` Greg KH
1 sibling, 0 replies; 9+ messages in thread
From: Dave Young @ 2007-12-04 7:17 UTC (permalink / raw)
To: Robert P. J. Day; +Cc: gregkh, linux-kernel
On Dec 4, 2007 2:50 PM, Robert P. J. Day <rpjday@crashcourse.ca> wrote:
>
> On Tue, 4 Dec 2007, Dave Young wrote:
>
> > Hi,
> > Does the KOBJ_NAME_LEN really means the limit of kobject name length? seems not . And if it's true, is the KOBJ_NAME_LEN of 20 enough to use?
> >
> > In the kobject_set_name, the limit is 1024. Looks like either the comment or the code should be updated.
> >
> > /**
> > * kobject_set_name - Set the name of an object
> > * @kobj: object.
> > * @fmt: format string used to build the name
> > *
> > * If strlen(name) >= KOBJ_NAME_LEN, then use a dynamically allocated
> > * string that @kobj->k_name points to. Otherwise, use the static
> > * @kobj->name array.
> > */
>
> the comment seems fairly clear -- if the name is sufficiently short,
> it's stored in the static array. if not, then it's stored in
> dynamically allocated space.
Yes, It's clear, but it is not the topic I talk about.
Please look at the KOBJ_NAME_LEN macro usage.
>
> rday
> ========================================================================
> Robert P. J. Day
> Linux Consulting, Training and Annoying Kernel Pedantry
> Waterloo, Ontario, CANADA
>
> http://crashcourse.ca
> ========================================================================
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: The use of KOBJ_NAME_LEN
2007-12-04 6:45 The use of KOBJ_NAME_LEN Dave Young
2007-12-04 6:50 ` Robert P. J. Day
@ 2007-12-04 7:46 ` Greg KH
2007-12-04 7:53 ` Dave Young
1 sibling, 1 reply; 9+ messages in thread
From: Greg KH @ 2007-12-04 7:46 UTC (permalink / raw)
To: Dave Young; +Cc: linux-kernel
On Tue, Dec 04, 2007 at 02:45:47PM +0800, Dave Young wrote:
> Hi,
> Does the KOBJ_NAME_LEN really means the limit of kobject name length? seems
> not . And if it's true, is the KOBJ_NAME_LEN of 20 enough to use?
No, not anymore, the kobject name is totally dynamic.
> In the kobject_set_name, the limit is 1024. Looks like either the comment or
> the code should be updated.
Here's a patch below for the comment updating it.
I also have a patch in my -mm series that takes away the 1024 character
limit, but for 2.6.24 we'll have to live with it :)
thanks,
greg k-h
---
lib/kobject.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
--- a/lib/kobject.c
+++ b/lib/kobject.c
@@ -234,13 +234,13 @@ int kobject_register(struct kobject * ko
/**
- * kobject_set_name - Set the name of an object
- * @kobj: object.
- * @fmt: format string used to build the name
+ * kobject_set_name - Set the name of a kobject
+ * @kobj: kobject to name
+ * @fmt: format string used to build the name
*
- * If strlen(name) >= KOBJ_NAME_LEN, then use a dynamically allocated
- * string that @kobj->k_name points to. Otherwise, use the static
- * @kobj->name array.
+ * This sets the name of the kobject. If you have already added the
+ * kobject to the system, you must call kobject_rename() in order to
+ * change the name of the kobject.
*/
int kobject_set_name(struct kobject * kobj, const char * fmt, ...)
{
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: The use of KOBJ_NAME_LEN
2007-12-04 6:50 ` Robert P. J. Day
2007-12-04 7:17 ` Dave Young
@ 2007-12-04 7:46 ` Greg KH
2007-12-04 8:02 ` Robert P. J. Day
1 sibling, 1 reply; 9+ messages in thread
From: Greg KH @ 2007-12-04 7:46 UTC (permalink / raw)
To: Robert P. J. Day; +Cc: Dave Young, linux-kernel
On Tue, Dec 04, 2007 at 01:50:53AM -0500, Robert P. J. Day wrote:
> On Tue, 4 Dec 2007, Dave Young wrote:
>
> > Hi,
> > Does the KOBJ_NAME_LEN really means the limit of kobject name length? seems not . And if it's true, is the KOBJ_NAME_LEN of 20 enough to use?
> >
> > In the kobject_set_name, the limit is 1024. Looks like either the comment or the code should be updated.
> >
> > /**
> > * kobject_set_name - Set the name of an object
> > * @kobj: object.
> > * @fmt: format string used to build the name
> > *
> > * If strlen(name) >= KOBJ_NAME_LEN, then use a dynamically allocated
> > * string that @kobj->k_name points to. Otherwise, use the static
> > * @kobj->name array.
> > */
>
> the comment seems fairly clear -- if the name is sufficiently short,
> it's stored in the static array. if not, then it's stored in
> dynamically allocated space.
Unfortunately, it's totally wrong, the code was updated by the comment
wasn't, sorry. See my patch to fix this.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: The use of KOBJ_NAME_LEN
2007-12-04 7:46 ` Greg KH
@ 2007-12-04 7:53 ` Dave Young
2007-12-04 8:20 ` Greg KH
0 siblings, 1 reply; 9+ messages in thread
From: Dave Young @ 2007-12-04 7:53 UTC (permalink / raw)
To: Greg KH; +Cc: linux-kernel
On Dec 4, 2007 3:46 PM, Greg KH <gregkh@suse.de> wrote:
> On Tue, Dec 04, 2007 at 02:45:47PM +0800, Dave Young wrote:
> > Hi,
> > Does the KOBJ_NAME_LEN really means the limit of kobject name length? seems
> > not . And if it's true, is the KOBJ_NAME_LEN of 20 enough to use?
>
> No, not anymore, the kobject name is totally dynamic.
Eh, Why does this macro still exist? If KOBJ_NAME_LEN is really
needed, maybe it should be renamed to something else to avoid
misleading.
>
> > In the kobject_set_name, the limit is 1024. Looks like either the comment or
> > the code should be updated.
>
> Here's a patch below for the comment updating it.
Thanks
>
> I also have a patch in my -mm series that takes away the 1024 character
> limit, but for 2.6.24 we'll have to live with it :)
>
> thanks,
>
> greg k-h
>
>
> ---
> lib/kobject.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> --- a/lib/kobject.c
> +++ b/lib/kobject.c
> @@ -234,13 +234,13 @@ int kobject_register(struct kobject * ko
>
>
> /**
> - * kobject_set_name - Set the name of an object
> - * @kobj: object.
> - * @fmt: format string used to build the name
> + * kobject_set_name - Set the name of a kobject
> + * @kobj: kobject to name
> + * @fmt: format string used to build the name
> *
> - * If strlen(name) >= KOBJ_NAME_LEN, then use a dynamically allocated
> - * string that @kobj->k_name points to. Otherwise, use the static
> - * @kobj->name array.
> + * This sets the name of the kobject. If you have already added the
> + * kobject to the system, you must call kobject_rename() in order to
> + * change the name of the kobject.
> */
> int kobject_set_name(struct kobject * kobj, const char * fmt, ...)
> {
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: The use of KOBJ_NAME_LEN
2007-12-04 7:46 ` Greg KH
@ 2007-12-04 8:02 ` Robert P. J. Day
0 siblings, 0 replies; 9+ messages in thread
From: Robert P. J. Day @ 2007-12-04 8:02 UTC (permalink / raw)
To: Greg KH; +Cc: Dave Young, linux-kernel
On Mon, 3 Dec 2007, Greg KH wrote:
> On Tue, Dec 04, 2007 at 01:50:53AM -0500, Robert P. J. Day wrote:
> > On Tue, 4 Dec 2007, Dave Young wrote:
> >
> > > Hi,
> > > Does the KOBJ_NAME_LEN really means the limit of kobject name length? seems not . And if it's true, is the KOBJ_NAME_LEN of 20 enough to use?
> > >
> > > In the kobject_set_name, the limit is 1024. Looks like either the comment or the code should be updated.
> > >
> > > /**
> > > * kobject_set_name - Set the name of an object
> > > * @kobj: object.
> > > * @fmt: format string used to build the name
> > > *
> > > * If strlen(name) >= KOBJ_NAME_LEN, then use a dynamically allocated
> > > * string that @kobj->k_name points to. Otherwise, use the static
> > > * @kobj->name array.
> > > */
> >
> > the comment seems fairly clear -- if the name is sufficiently short,
> > it's stored in the static array. if not, then it's stored in
> > dynamically allocated space.
>
> Unfortunately, it's totally wrong, the code was updated by the comment
> wasn't, sorry. See my patch to fix this.
ah, quite right, now i see what dave was talking about.
rday
========================================================================
Robert P. J. Day
Linux Consulting, Training and Annoying Kernel Pedantry
Waterloo, Ontario, CANADA
http://crashcourse.ca
========================================================================
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: The use of KOBJ_NAME_LEN
2007-12-04 7:53 ` Dave Young
@ 2007-12-04 8:20 ` Greg KH
2007-12-04 8:22 ` Dave Young
0 siblings, 1 reply; 9+ messages in thread
From: Greg KH @ 2007-12-04 8:20 UTC (permalink / raw)
To: Dave Young; +Cc: linux-kernel
On Tue, Dec 04, 2007 at 03:53:15PM +0800, Dave Young wrote:
> On Dec 4, 2007 3:46 PM, Greg KH <gregkh@suse.de> wrote:
> > On Tue, Dec 04, 2007 at 02:45:47PM +0800, Dave Young wrote:
> > > Hi,
> > > Does the KOBJ_NAME_LEN really means the limit of kobject name length? seems
> > > not . And if it's true, is the KOBJ_NAME_LEN of 20 enough to use?
> >
> > No, not anymore, the kobject name is totally dynamic.
>
> Eh, Why does this macro still exist? If KOBJ_NAME_LEN is really
> needed, maybe it should be renamed to something else to avoid
> misleading.
Right now other .h files use it also. It isn't hurting anything for
now, and Kay has some patches he is working on to get rid of the static
bus_id array, which will then let us get rid of that define entirely.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: The use of KOBJ_NAME_LEN
2007-12-04 8:20 ` Greg KH
@ 2007-12-04 8:22 ` Dave Young
0 siblings, 0 replies; 9+ messages in thread
From: Dave Young @ 2007-12-04 8:22 UTC (permalink / raw)
To: Greg KH; +Cc: linux-kernel
On Dec 4, 2007 4:20 PM, Greg KH <gregkh@suse.de> wrote:
> On Tue, Dec 04, 2007 at 03:53:15PM +0800, Dave Young wrote:
> > On Dec 4, 2007 3:46 PM, Greg KH <gregkh@suse.de> wrote:
> > > On Tue, Dec 04, 2007 at 02:45:47PM +0800, Dave Young wrote:
> > > > Hi,
> > > > Does the KOBJ_NAME_LEN really means the limit of kobject name length? seems
> > > > not . And if it's true, is the KOBJ_NAME_LEN of 20 enough to use?
> > >
> > > No, not anymore, the kobject name is totally dynamic.
> >
> > Eh, Why does this macro still exist? If KOBJ_NAME_LEN is really
> > needed, maybe it should be renamed to something else to avoid
> > misleading.
>
> Right now other .h files use it also. It isn't hurting anything for
> now, and Kay has some patches he is working on to get rid of the static
> bus_id array, which will then let us get rid of that define entirely.
>
Good to know, thanks!
> thanks,
>
> greg k-h
>
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2007-12-04 8:22 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-12-04 6:45 The use of KOBJ_NAME_LEN Dave Young
2007-12-04 6:50 ` Robert P. J. Day
2007-12-04 7:17 ` Dave Young
2007-12-04 7:46 ` Greg KH
2007-12-04 8:02 ` Robert P. J. Day
2007-12-04 7:46 ` Greg KH
2007-12-04 7:53 ` Dave Young
2007-12-04 8:20 ` Greg KH
2007-12-04 8:22 ` Dave Young
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).