lkml.org 
[lkml]   [2004]   [Nov]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [patch] 2.6.10-rc1-mm4: bttv-driver.c compile error
> kobject_register failed forBA€ÿÿÿÿ (-17)

Yet another kobject bug. It uses the varargs list twice in a illegal
way. That doesn't harm on i386 by pure luck, but blows things up on
amd64 machines. The patch below fixes it.

Enjoy,

Gerd

==============================[ cut here ]==============================
Subject: [patch] fix kobject varargs bug

Using var args list twice without calling va_start twice is illegal.

Signed-off-by: Gerd Knorr <kraxel@bytesex.org>
---
lib/kobject.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)

Index: linux-2.6.10-rc2/lib/kobject.c
===================================================================
--- linux-2.6.10-rc2.orig/lib/kobject.c 2004-11-17 18:41:43.000000000 +0100
+++ linux-2.6.10-rc2/lib/kobject.c 2004-11-18 17:37:08.851041667 +0100
@@ -232,11 +232,12 @@ int kobject_set_name(struct kobject * ko
va_list args;
char * name;

- va_start(args,fmt);
/*
* First, try the static array
*/
+ va_start(args,fmt);
need = vsnprintf(kobj->name,limit,fmt,args);
+ va_end(args);
if (need < limit)
name = kobj->name;
else {
@@ -249,7 +250,9 @@ int kobject_set_name(struct kobject * ko
error = -ENOMEM;
goto Done;
}
+ va_start(args,fmt);
need = vsnprintf(name,limit,fmt,args);
+ va_end(args);

/* Still? Give up. */
if (need >= limit) {
@@ -266,7 +269,6 @@ int kobject_set_name(struct kobject * ko
/* Now, set the new name */
kobj->k_name = name;
Done:
- va_end(args);
return error;
}

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2005-03-22 14:08    [W:0.104 / U:0.584 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site