Re: [-mm3 patch]Warning fix: check the return value of kobject_add etc.

2007-04-11 Thread WANG Cong
On Wed, Apr 11, 2007 at 02:23:49PM +0800, Fengguang Wu wrote:
>On Sun, Apr 01, 2007 at 02:20:46PM +0800, Cong WANG wrote:
>> 2007/4/1, Andrew Morton <[EMAIL PROTECTED]>:
>> >
>> >Also, please always prepare patches in `patch -p1' form, as per
>> >http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt, thanks.
>> >
>> >
>> 
>> Sorry. I am confused with this. Does that mean I should make patches
>> _upon_ the root kernel source directory or first make a copy of the
>> original source code and then diff against the two dirs? But I was
>> told that "patches should be based _in_ the root kernel source
>> directory" and when only one file was modified just to diff it with
>> the original single file. (See Documentation/SubmittingPatches.)
>> 
>> Can you help out? And should I remake this patch? Thanks again!
>
>quilt(http://savannah.nongnu.org/projects/quilt) is your friend.
>
>cd /usr/src/linux
>quilt new my-fix.patch
>quilt edit mm/readahead.c
>quilt refresh --diffstat
>quilt diff
>...

Thanks. I will try it. ;-)

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


Re: [-mm3 patch]Warning fix: check the return value of kobject_add etc.

2007-04-11 Thread Fengguang Wu
On Sun, Apr 01, 2007 at 02:20:46PM +0800, Cong WANG wrote:
> 2007/4/1, Andrew Morton <[EMAIL PROTECTED]>:
> >
> >Also, please always prepare patches in `patch -p1' form, as per
> >http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt, thanks.
> >
> >
> 
> Sorry. I am confused with this. Does that mean I should make patches
> _upon_ the root kernel source directory or first make a copy of the
> original source code and then diff against the two dirs? But I was
> told that "patches should be based _in_ the root kernel source
> directory" and when only one file was modified just to diff it with
> the original single file. (See Documentation/SubmittingPatches.)
> 
> Can you help out? And should I remake this patch? Thanks again!

quilt(http://savannah.nongnu.org/projects/quilt) is your friend.

cd /usr/src/linux
quilt new my-fix.patch
quilt edit mm/readahead.c
quilt refresh --diffstat
quilt diff
...
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [-mm3 patch]Warning fix: check the return value of kobject_add etc.

2007-04-11 Thread Fengguang Wu
On Sun, Apr 01, 2007 at 02:20:46PM +0800, Cong WANG wrote:
 2007/4/1, Andrew Morton [EMAIL PROTECTED]:
 
 Also, please always prepare patches in `patch -p1' form, as per
 http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt, thanks.
 
 
 
 Sorry. I am confused with this. Does that mean I should make patches
 _upon_ the root kernel source directory or first make a copy of the
 original source code and then diff against the two dirs? But I was
 told that patches should be based _in_ the root kernel source
 directory and when only one file was modified just to diff it with
 the original single file. (See Documentation/SubmittingPatches.)
 
 Can you help out? And should I remake this patch? Thanks again!

quilt(http://savannah.nongnu.org/projects/quilt) is your friend.

cd /usr/src/linux
quilt new my-fix.patch
quilt edit mm/readahead.c
quilt refresh --diffstat
quilt diff
...
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [-mm3 patch]Warning fix: check the return value of kobject_add etc.

2007-04-11 Thread WANG Cong
On Wed, Apr 11, 2007 at 02:23:49PM +0800, Fengguang Wu wrote:
On Sun, Apr 01, 2007 at 02:20:46PM +0800, Cong WANG wrote:
 2007/4/1, Andrew Morton [EMAIL PROTECTED]:
 
 Also, please always prepare patches in `patch -p1' form, as per
 http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt, thanks.
 
 
 
 Sorry. I am confused with this. Does that mean I should make patches
 _upon_ the root kernel source directory or first make a copy of the
 original source code and then diff against the two dirs? But I was
 told that patches should be based _in_ the root kernel source
 directory and when only one file was modified just to diff it with
 the original single file. (See Documentation/SubmittingPatches.)
 
 Can you help out? And should I remake this patch? Thanks again!

quilt(http://savannah.nongnu.org/projects/quilt) is your friend.

cd /usr/src/linux
quilt new my-fix.patch
quilt edit mm/readahead.c
quilt refresh --diffstat
quilt diff
...

Thanks. I will try it. ;-)

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [-mm3 patch]Warning fix: check the return value of kobject_add etc.

2007-03-31 Thread Cong WANG

2007/4/1, Andrew Morton <[EMAIL PROTECTED]>:

On Sun, 1 Apr 2007 14:20:46 +0800 "Cong WANG" <[EMAIL PROTECTED]> wrote:

>
> >
> > Also, please always prepare patches in `patch -p1' form, as per
> > http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt, thanks.
> >
> >
>
> Sorry. I am confused with this. Does that mean I should make patches
> _upon_ the root kernel source directory or first make a copy of the
> original source code and then diff against the two dirs? But I was
> told that "patches should be based _in_ the root kernel source
> directory" and when only one file was modified just to diff it with
> the original single file. (See Documentation/SubmittingPatches.)

The headers should look like:

--- a/arch/cris/kernel/crisksyms.c
+++ a/arch/cris/kernel/crisksyms.c

I don't know how people do that.  One obvious way is to do

cd /usr/src
diff -u linux-orig/arch/cris/kernel/crisksyms.c 
linux-new/arch/cris/kernel/crisksyms.c

other people probably alter the diff headers.


Oh, thanks. I know.



> And should I remake this patch?

Sure, but please change it to perform correct error handling first.  And
test that error handling, if you can.  That will involve adding artificial
errors.



I will remake it soon and send it again.

In fact, I have just tested it roughly. And I don't how to produce
artificial errors. Sorry, I hope someone can help me to test it
carefully.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [-mm3 patch]Warning fix: check the return value of kobject_add etc.

2007-03-31 Thread Andrew Morton
On Sun, 1 Apr 2007 14:20:46 +0800 "Cong WANG" <[EMAIL PROTECTED]> wrote:

> 
> >
> > Also, please always prepare patches in `patch -p1' form, as per
> > http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt, thanks.
> >
> >
> 
> Sorry. I am confused with this. Does that mean I should make patches
> _upon_ the root kernel source directory or first make a copy of the
> original source code and then diff against the two dirs? But I was
> told that "patches should be based _in_ the root kernel source
> directory" and when only one file was modified just to diff it with
> the original single file. (See Documentation/SubmittingPatches.)

The headers should look like:

--- a/arch/cris/kernel/crisksyms.c
+++ a/arch/cris/kernel/crisksyms.c

I don't know how people do that.  One obvious way is to do

cd /usr/src
diff -u linux-orig/arch/cris/kernel/crisksyms.c 
linux-new/arch/cris/kernel/crisksyms.c

other people probably alter the diff headers.

> And should I remake this patch?

Sure, but please change it to perform correct error handling first.  And
test that error handling, if you can.  That will involve adding artificial
errors.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [-mm3 patch]Warning fix: check the return value of kobject_add etc.

2007-03-31 Thread Cong WANG

2007/4/1, Andrew Morton <[EMAIL PROTECTED]>:

On Sat, 31 Mar 2007 10:30:31 +0800 "Cong WANG" <[EMAIL PROTECTED]> wrote:

> Since kobject_add, sysfs_create_link and sysfs_create_file are marked
> as '__must_check', so we must always check their return values, or gcc
> will give us warnings.
>
> Signed-off-by: Cong WANG <[EMAIL PROTECTED]>
>
> ---
> --- fs/partitions/check.c.orig2007-03-30 21:35:45.0 +0800
> +++ fs/partitions/check.c 2007-03-30 21:49:53.0 +0800
> @@ -385,10 +385,16 @@ void add_partition(struct gendisk *disk,
>   p->kobj.parent = >kobj;
>   p->kobj.ktype = _part;
>   kobject_init(>kobj);
> - kobject_add(>kobj);
> + if (kobject_add(>kobj)) {
> + kfree(p);
> + return;
> + }
>   if (!disk->part_uevent_suppress)
>   kobject_uevent(>kobj, KOBJ_ADD);
> - sysfs_create_link(>kobj, _subsys.kset.kobj, "subsystem");
> + if (sysfs_create_link(>kobj, _subsys.kset.kobj, "subsystem")) {
> + kfree(p);
> + return;
> + }
>   if (flags & ADDPART_FLAG_WHOLEDISK) {
>   static struct attribute addpartattr = {
>   .name = "whole_disk",
> @@ -396,7 +402,10 @@ void add_partition(struct gendisk *disk,
>   .owner = THIS_MODULE,
>   };
>
> - sysfs_create_file(>kobj, );
> + if (sysfs_create_file(>kobj, )) {
> + kfree(p);
> + return;
> + }
>   }
>   partition_sysfs_add_subdir(p);
>   disk->part[part-1] = p;

Well yes, but the point here it to fix kernel bugs, not to just make the
warnings go away.

The bugs here are that the effects of the kobject_add() and the
sysfs_create_link() are not undone on the error path.


Thanks for your point.



Also, please always prepare patches in `patch -p1' form, as per
http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt, thanks.




Sorry. I am confused with this. Does that mean I should make patches
_upon_ the root kernel source directory or first make a copy of the
original source code and then diff against the two dirs? But I was
told that "patches should be based _in_ the root kernel source
directory" and when only one file was modified just to diff it with
the original single file. (See Documentation/SubmittingPatches.)

Can you help out? And should I remake this patch? Thanks again!
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [-mm3 patch]Warning fix: check the return value of kobject_add etc.

2007-03-31 Thread Andrew Morton
On Sat, 31 Mar 2007 10:30:31 +0800 "Cong WANG" <[EMAIL PROTECTED]> wrote:

> Since kobject_add, sysfs_create_link and sysfs_create_file are marked
> as '__must_check', so we must always check their return values, or gcc
> will give us warnings.
> 
> Signed-off-by: Cong WANG <[EMAIL PROTECTED]>
> 
> ---
> --- fs/partitions/check.c.orig2007-03-30 21:35:45.0 +0800
> +++ fs/partitions/check.c 2007-03-30 21:49:53.0 +0800
> @@ -385,10 +385,16 @@ void add_partition(struct gendisk *disk,
>   p->kobj.parent = >kobj;
>   p->kobj.ktype = _part;
>   kobject_init(>kobj);
> - kobject_add(>kobj);
> + if (kobject_add(>kobj)) {
> + kfree(p);
> + return;
> + }
>   if (!disk->part_uevent_suppress)
>   kobject_uevent(>kobj, KOBJ_ADD);
> - sysfs_create_link(>kobj, _subsys.kset.kobj, "subsystem");
> + if (sysfs_create_link(>kobj, _subsys.kset.kobj, "subsystem")) {
> + kfree(p);
> + return;
> + }
>   if (flags & ADDPART_FLAG_WHOLEDISK) {
>   static struct attribute addpartattr = {
>   .name = "whole_disk",
> @@ -396,7 +402,10 @@ void add_partition(struct gendisk *disk,
>   .owner = THIS_MODULE,
>   };
> 
> - sysfs_create_file(>kobj, );
> + if (sysfs_create_file(>kobj, )) {
> + kfree(p);
> + return;
> + }
>   }
>   partition_sysfs_add_subdir(p);
>   disk->part[part-1] = p;

Well yes, but the point here it to fix kernel bugs, not to just make the
warnings go away.

The bugs here are that the effects of the kobject_add() and the
sysfs_create_link() are not undone on the error path.

Also, please always prepare patches in `patch -p1' form, as per
http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt, thanks.

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


Re: [-mm3 patch]Warning fix: check the return value of kobject_add etc.

2007-03-31 Thread Andrew Morton
On Sat, 31 Mar 2007 10:30:31 +0800 Cong WANG [EMAIL PROTECTED] wrote:

 Since kobject_add, sysfs_create_link and sysfs_create_file are marked
 as '__must_check', so we must always check their return values, or gcc
 will give us warnings.
 
 Signed-off-by: Cong WANG [EMAIL PROTECTED]
 
 ---
 --- fs/partitions/check.c.orig2007-03-30 21:35:45.0 +0800
 +++ fs/partitions/check.c 2007-03-30 21:49:53.0 +0800
 @@ -385,10 +385,16 @@ void add_partition(struct gendisk *disk,
   p-kobj.parent = disk-kobj;
   p-kobj.ktype = ktype_part;
   kobject_init(p-kobj);
 - kobject_add(p-kobj);
 + if (kobject_add(p-kobj)) {
 + kfree(p);
 + return;
 + }
   if (!disk-part_uevent_suppress)
   kobject_uevent(p-kobj, KOBJ_ADD);
 - sysfs_create_link(p-kobj, block_subsys.kset.kobj, subsystem);
 + if (sysfs_create_link(p-kobj, block_subsys.kset.kobj, subsystem)) {
 + kfree(p);
 + return;
 + }
   if (flags  ADDPART_FLAG_WHOLEDISK) {
   static struct attribute addpartattr = {
   .name = whole_disk,
 @@ -396,7 +402,10 @@ void add_partition(struct gendisk *disk,
   .owner = THIS_MODULE,
   };
 
 - sysfs_create_file(p-kobj, addpartattr);
 + if (sysfs_create_file(p-kobj, addpartattr)) {
 + kfree(p);
 + return;
 + }
   }
   partition_sysfs_add_subdir(p);
   disk-part[part-1] = p;

Well yes, but the point here it to fix kernel bugs, not to just make the
warnings go away.

The bugs here are that the effects of the kobject_add() and the
sysfs_create_link() are not undone on the error path.

Also, please always prepare patches in `patch -p1' form, as per
http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt, thanks.

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [-mm3 patch]Warning fix: check the return value of kobject_add etc.

2007-03-31 Thread Cong WANG

2007/4/1, Andrew Morton [EMAIL PROTECTED]:

On Sat, 31 Mar 2007 10:30:31 +0800 Cong WANG [EMAIL PROTECTED] wrote:

 Since kobject_add, sysfs_create_link and sysfs_create_file are marked
 as '__must_check', so we must always check their return values, or gcc
 will give us warnings.

 Signed-off-by: Cong WANG [EMAIL PROTECTED]

 ---
 --- fs/partitions/check.c.orig2007-03-30 21:35:45.0 +0800
 +++ fs/partitions/check.c 2007-03-30 21:49:53.0 +0800
 @@ -385,10 +385,16 @@ void add_partition(struct gendisk *disk,
   p-kobj.parent = disk-kobj;
   p-kobj.ktype = ktype_part;
   kobject_init(p-kobj);
 - kobject_add(p-kobj);
 + if (kobject_add(p-kobj)) {
 + kfree(p);
 + return;
 + }
   if (!disk-part_uevent_suppress)
   kobject_uevent(p-kobj, KOBJ_ADD);
 - sysfs_create_link(p-kobj, block_subsys.kset.kobj, subsystem);
 + if (sysfs_create_link(p-kobj, block_subsys.kset.kobj, subsystem)) {
 + kfree(p);
 + return;
 + }
   if (flags  ADDPART_FLAG_WHOLEDISK) {
   static struct attribute addpartattr = {
   .name = whole_disk,
 @@ -396,7 +402,10 @@ void add_partition(struct gendisk *disk,
   .owner = THIS_MODULE,
   };

 - sysfs_create_file(p-kobj, addpartattr);
 + if (sysfs_create_file(p-kobj, addpartattr)) {
 + kfree(p);
 + return;
 + }
   }
   partition_sysfs_add_subdir(p);
   disk-part[part-1] = p;

Well yes, but the point here it to fix kernel bugs, not to just make the
warnings go away.

The bugs here are that the effects of the kobject_add() and the
sysfs_create_link() are not undone on the error path.


Thanks for your point.



Also, please always prepare patches in `patch -p1' form, as per
http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt, thanks.




Sorry. I am confused with this. Does that mean I should make patches
_upon_ the root kernel source directory or first make a copy of the
original source code and then diff against the two dirs? But I was
told that patches should be based _in_ the root kernel source
directory and when only one file was modified just to diff it with
the original single file. (See Documentation/SubmittingPatches.)

Can you help out? And should I remake this patch? Thanks again!
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [-mm3 patch]Warning fix: check the return value of kobject_add etc.

2007-03-31 Thread Andrew Morton
On Sun, 1 Apr 2007 14:20:46 +0800 Cong WANG [EMAIL PROTECTED] wrote:

 
 
  Also, please always prepare patches in `patch -p1' form, as per
  http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt, thanks.
 
 
 
 Sorry. I am confused with this. Does that mean I should make patches
 _upon_ the root kernel source directory or first make a copy of the
 original source code and then diff against the two dirs? But I was
 told that patches should be based _in_ the root kernel source
 directory and when only one file was modified just to diff it with
 the original single file. (See Documentation/SubmittingPatches.)

The headers should look like:

--- a/arch/cris/kernel/crisksyms.c
+++ a/arch/cris/kernel/crisksyms.c

I don't know how people do that.  One obvious way is to do

cd /usr/src
diff -u linux-orig/arch/cris/kernel/crisksyms.c 
linux-new/arch/cris/kernel/crisksyms.c

other people probably alter the diff headers.

 And should I remake this patch?

Sure, but please change it to perform correct error handling first.  And
test that error handling, if you can.  That will involve adding artificial
errors.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [-mm3 patch]Warning fix: check the return value of kobject_add etc.

2007-03-31 Thread Cong WANG

2007/4/1, Andrew Morton [EMAIL PROTECTED]:

On Sun, 1 Apr 2007 14:20:46 +0800 Cong WANG [EMAIL PROTECTED] wrote:


 
  Also, please always prepare patches in `patch -p1' form, as per
  http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt, thanks.
 
 

 Sorry. I am confused with this. Does that mean I should make patches
 _upon_ the root kernel source directory or first make a copy of the
 original source code and then diff against the two dirs? But I was
 told that patches should be based _in_ the root kernel source
 directory and when only one file was modified just to diff it with
 the original single file. (See Documentation/SubmittingPatches.)

The headers should look like:

--- a/arch/cris/kernel/crisksyms.c
+++ a/arch/cris/kernel/crisksyms.c

I don't know how people do that.  One obvious way is to do

cd /usr/src
diff -u linux-orig/arch/cris/kernel/crisksyms.c 
linux-new/arch/cris/kernel/crisksyms.c

other people probably alter the diff headers.


Oh, thanks. I know.



 And should I remake this patch?

Sure, but please change it to perform correct error handling first.  And
test that error handling, if you can.  That will involve adding artificial
errors.



I will remake it soon and send it again.

In fact, I have just tested it roughly. And I don't how to produce
artificial errors. Sorry, I hope someone can help me to test it
carefully.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/