* [PATCH 1/3] lib/kobject: simplify the kobject_init function
@ 2013-03-19 6:46 Dong Hao
2013-03-19 6:47 ` [PATCH 2/3] lib/kobject: Panic when kobj or ktype is not properly assigned Dong Hao
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Dong Hao @ 2013-03-19 6:46 UTC (permalink / raw)
To: gregkh; +Cc: xiaoguangrong, shangw, weiyang, linux-kernel, Dong Hao
From: Dong Hao <haodong@linux.vnet.ibm.com>
The printk() function at the end of function kobject_init() already had '\n',
so remove the duplicated one.
Signed-off-by: Dong Hao <haodong@linux.vnet.ibm.com>
---
lib/kobject.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/kobject.c b/lib/kobject.c
index e07ee1f..279a172 100644
--- a/lib/kobject.c
+++ b/lib/kobject.c
@@ -274,7 +274,7 @@ void kobject_init(struct kobject *kobj, struct kobj_type *ktype)
goto error;
}
if (!ktype) {
- err_str = "must have a ktype to be initialized properly!\n";
+ err_str = "must have a ktype to be initialized properly!";
goto error;
}
if (kobj->state_initialized) {
--
1.7.9.5
^ permalink raw reply related [flat|nested] 9+ messages in thread* [PATCH 2/3] lib/kobject: Panic when kobj or ktype is not properly assigned
2013-03-19 6:46 [PATCH 1/3] lib/kobject: simplify the kobject_init function Dong Hao
@ 2013-03-19 6:47 ` Dong Hao
2013-03-19 6:58 ` Xiao Guangrong
2013-03-19 13:29 ` Greg KH
2013-03-19 6:47 ` [PATCH 3/3] lib/kobject: WARN_ON corresponds to BUG_ON Dong Hao
2013-03-19 13:31 ` [PATCH 1/3] lib/kobject: simplify the kobject_init function Greg KH
2 siblings, 2 replies; 9+ messages in thread
From: Dong Hao @ 2013-03-19 6:47 UTC (permalink / raw)
To: gregkh; +Cc: xiaoguangrong, shangw, weiyang, linux-kernel, Dong Hao
From: Dong Hao <haodong@linux.vnet.ibm.com>
kobj and ktype are two important attributes which will be used after kobject_init(),
and (!kobj)|(!ktype) may cause FS corruption which could not be recovered.
Panic instead of dump_stack() when neither kobj nor ktype is properly assigned to
detect the bug early.
Signed-off-by: Dong Hao <haodong@linux.vnet.ibm.com>
---
lib/kobject.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/kobject.c b/lib/kobject.c
index 279a172..ff9b3c3 100644
--- a/lib/kobject.c
+++ b/lib/kobject.c
@@ -290,7 +290,7 @@ void kobject_init(struct kobject *kobj, struct kobj_type *ktype)
error:
printk(KERN_ERR "kobject (%p): %s\n", kobj, err_str);
- dump_stack();
+ BUG_ON(1);
}
EXPORT_SYMBOL(kobject_init);
--
1.7.9.5
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 2/3] lib/kobject: Panic when kobj or ktype is not properly assigned
2013-03-19 6:47 ` [PATCH 2/3] lib/kobject: Panic when kobj or ktype is not properly assigned Dong Hao
@ 2013-03-19 6:58 ` Xiao Guangrong
2013-03-19 13:29 ` Greg KH
1 sibling, 0 replies; 9+ messages in thread
From: Xiao Guangrong @ 2013-03-19 6:58 UTC (permalink / raw)
To: Dong Hao; +Cc: gregkh, shangw, weiyang, linux-kernel
On 03/19/2013 02:47 PM, Dong Hao wrote:
> From: Dong Hao <haodong@linux.vnet.ibm.com>
>
> kobj and ktype are two important attributes which will be used after kobject_init(),
> and (!kobj)|(!ktype) may cause FS corruption which could not be recovered.
delete this line, i am not very convinced about corruption ...
> Panic instead of dump_stack() when neither kobj nor ktype is properly assigned to
> detect the bug early.
>
> Signed-off-by: Dong Hao <haodong@linux.vnet.ibm.com>
> ---
> lib/kobject.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/kobject.c b/lib/kobject.c
> index 279a172..ff9b3c3 100644
> --- a/lib/kobject.c
> +++ b/lib/kobject.c
> @@ -290,7 +290,7 @@ void kobject_init(struct kobject *kobj, struct kobj_type *ktype)
>
> error:
> printk(KERN_ERR "kobject (%p): %s\n", kobj, err_str);
> - dump_stack();
> + BUG_ON(1);
> }
> EXPORT_SYMBOL(kobject_init);
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/3] lib/kobject: Panic when kobj or ktype is not properly assigned
2013-03-19 6:47 ` [PATCH 2/3] lib/kobject: Panic when kobj or ktype is not properly assigned Dong Hao
2013-03-19 6:58 ` Xiao Guangrong
@ 2013-03-19 13:29 ` Greg KH
1 sibling, 0 replies; 9+ messages in thread
From: Greg KH @ 2013-03-19 13:29 UTC (permalink / raw)
To: Dong Hao; +Cc: xiaoguangrong, shangw, weiyang, linux-kernel
On Tue, Mar 19, 2013 at 02:47:00PM +0800, Dong Hao wrote:
> From: Dong Hao <haodong@linux.vnet.ibm.com>
>
> kobj and ktype are two important attributes which will be used after kobject_init(),
> and (!kobj)|(!ktype) may cause FS corruption which could not be recovered.
> Panic instead of dump_stack() when neither kobj nor ktype is properly assigned to
> detect the bug early.
>
> Signed-off-by: Dong Hao <haodong@linux.vnet.ibm.com>
> ---
> lib/kobject.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/kobject.c b/lib/kobject.c
> index 279a172..ff9b3c3 100644
> --- a/lib/kobject.c
> +++ b/lib/kobject.c
> @@ -290,7 +290,7 @@ void kobject_init(struct kobject *kobj, struct kobj_type *ktype)
>
> error:
> printk(KERN_ERR "kobject (%p): %s\n", kobj, err_str);
> - dump_stack();
> + BUG_ON(1);
You just crashed the machine. That's horrible, and unacceptable.
*plonk*
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 3/3] lib/kobject: WARN_ON corresponds to BUG_ON
2013-03-19 6:46 [PATCH 1/3] lib/kobject: simplify the kobject_init function Dong Hao
2013-03-19 6:47 ` [PATCH 2/3] lib/kobject: Panic when kobj or ktype is not properly assigned Dong Hao
@ 2013-03-19 6:47 ` Dong Hao
2013-03-19 7:03 ` Xiao Guangrong
2013-03-19 13:31 ` Greg KH
2013-03-19 13:31 ` [PATCH 1/3] lib/kobject: simplify the kobject_init function Greg KH
2 siblings, 2 replies; 9+ messages in thread
From: Dong Hao @ 2013-03-19 6:47 UTC (permalink / raw)
To: gregkh; +Cc: xiaoguangrong, shangw, weiyang, linux-kernel, Dong Hao
From: Dong Hao <haodong@linux.vnet.ibm.com>
WARN_ON corresponds to BUG_ON and also gets more info.
Signed-off-by: Dong Hao <haodong@linux.vnet.ibm.com>
---
lib/kobject.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/kobject.c b/lib/kobject.c
index ff9b3c3..f7d9f31 100644
--- a/lib/kobject.c
+++ b/lib/kobject.c
@@ -281,7 +281,7 @@ void kobject_init(struct kobject *kobj, struct kobj_type *ktype)
/* do not error out as sometimes we can recover */
printk(KERN_ERR "kobject (%p): tried to init an initialized "
"object, something is seriously wrong.\n", kobj);
- dump_stack();
+ WARN_ON(1);
}
kobject_init_internal(kobj);
--
1.7.9.5
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 3/3] lib/kobject: WARN_ON corresponds to BUG_ON
2013-03-19 6:47 ` [PATCH 3/3] lib/kobject: WARN_ON corresponds to BUG_ON Dong Hao
@ 2013-03-19 7:03 ` Xiao Guangrong
2013-03-19 7:05 ` Xiao Guangrong
2013-03-19 13:31 ` Greg KH
1 sibling, 1 reply; 9+ messages in thread
From: Xiao Guangrong @ 2013-03-19 7:03 UTC (permalink / raw)
To: Dong Hao; +Cc: gregkh, shangw, weiyang, linux-kernel
On 03/19/2013 02:47 PM, Dong Hao wrote:
> From: Dong Hao <haodong@linux.vnet.ibm.com>
>
> WARN_ON corresponds to BUG_ON and also gets more info.
Change the log like this:
like the comments said, double initialize a kobj is wrong
but can be recoverd, using WARN_ON to warn the developer also
it can get more info.
(Or you refine the code by yourself.)
>
> Signed-off-by: Dong Hao <haodong@linux.vnet.ibm.com>
> ---
> lib/kobject.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/kobject.c b/lib/kobject.c
> index ff9b3c3..f7d9f31 100644
> --- a/lib/kobject.c
> +++ b/lib/kobject.c
> @@ -281,7 +281,7 @@ void kobject_init(struct kobject *kobj, struct kobj_type *ktype)
> /* do not error out as sometimes we can recover */
> printk(KERN_ERR "kobject (%p): tried to init an initialized "
> "object, something is seriously wrong.\n", kobj);
> - dump_stack();
> + WARN_ON(1);
> }
>
> kobject_init_internal(kobj);
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 3/3] lib/kobject: WARN_ON corresponds to BUG_ON
2013-03-19 7:03 ` Xiao Guangrong
@ 2013-03-19 7:05 ` Xiao Guangrong
0 siblings, 0 replies; 9+ messages in thread
From: Xiao Guangrong @ 2013-03-19 7:05 UTC (permalink / raw)
To: Xiao Guangrong; +Cc: Dong Hao, gregkh, shangw, weiyang, linux-kernel
On 03/19/2013 03:03 PM, Xiao Guangrong wrote:
> On 03/19/2013 02:47 PM, Dong Hao wrote:
>> From: Dong Hao <haodong@linux.vnet.ibm.com>
>>
>> WARN_ON corresponds to BUG_ON and also gets more info.
>
> Change the log like this:
> like the comments said, double initialize a kobj is wrong
> but can be recoverd, using WARN_ON to warn the developer also
> it can get more info.
>
> (Or you refine the code by yourself.)
s/code/comment
>
>>
>> Signed-off-by: Dong Hao <haodong@linux.vnet.ibm.com>
>> ---
>> lib/kobject.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/lib/kobject.c b/lib/kobject.c
>> index ff9b3c3..f7d9f31 100644
>> --- a/lib/kobject.c
>> +++ b/lib/kobject.c
>> @@ -281,7 +281,7 @@ void kobject_init(struct kobject *kobj, struct kobj_type *ktype)
>> /* do not error out as sometimes we can recover */
>> printk(KERN_ERR "kobject (%p): tried to init an initialized "
>> "object, something is seriously wrong.\n", kobj);
>> - dump_stack();
>> + WARN_ON(1);
>> }
>>
>> kobject_init_internal(kobj);
>>
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 3/3] lib/kobject: WARN_ON corresponds to BUG_ON
2013-03-19 6:47 ` [PATCH 3/3] lib/kobject: WARN_ON corresponds to BUG_ON Dong Hao
2013-03-19 7:03 ` Xiao Guangrong
@ 2013-03-19 13:31 ` Greg KH
1 sibling, 0 replies; 9+ messages in thread
From: Greg KH @ 2013-03-19 13:31 UTC (permalink / raw)
To: Dong Hao; +Cc: xiaoguangrong, shangw, weiyang, linux-kernel
On Tue, Mar 19, 2013 at 02:47:01PM +0800, Dong Hao wrote:
> From: Dong Hao <haodong@linux.vnet.ibm.com>
>
> WARN_ON corresponds to BUG_ON and also gets more info.
Huh? No.
Please stop, don't resend these.
greg k-h
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/3] lib/kobject: simplify the kobject_init function
2013-03-19 6:46 [PATCH 1/3] lib/kobject: simplify the kobject_init function Dong Hao
2013-03-19 6:47 ` [PATCH 2/3] lib/kobject: Panic when kobj or ktype is not properly assigned Dong Hao
2013-03-19 6:47 ` [PATCH 3/3] lib/kobject: WARN_ON corresponds to BUG_ON Dong Hao
@ 2013-03-19 13:31 ` Greg KH
2 siblings, 0 replies; 9+ messages in thread
From: Greg KH @ 2013-03-19 13:31 UTC (permalink / raw)
To: Dong Hao; +Cc: xiaoguangrong, shangw, weiyang, linux-kernel
On Tue, Mar 19, 2013 at 02:46:59PM +0800, Dong Hao wrote:
> From: Dong Hao <haodong@linux.vnet.ibm.com>
>
> The printk() function at the end of function kobject_init() already had '\n',
> so remove the duplicated one.
Your subject doesn't match this description.
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2013-03-19 13:30 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-19 6:46 [PATCH 1/3] lib/kobject: simplify the kobject_init function Dong Hao
2013-03-19 6:47 ` [PATCH 2/3] lib/kobject: Panic when kobj or ktype is not properly assigned Dong Hao
2013-03-19 6:58 ` Xiao Guangrong
2013-03-19 13:29 ` Greg KH
2013-03-19 6:47 ` [PATCH 3/3] lib/kobject: WARN_ON corresponds to BUG_ON Dong Hao
2013-03-19 7:03 ` Xiao Guangrong
2013-03-19 7:05 ` Xiao Guangrong
2013-03-19 13:31 ` Greg KH
2013-03-19 13:31 ` [PATCH 1/3] lib/kobject: simplify the kobject_init function Greg KH
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.