* [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
* [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 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 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 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
* 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
* 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
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 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).