lkml.org 
[lkml]   [2006]   [Jan]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [patch] kobject: don't oops on null kobject.name
In-Reply-To: <20060114000246.GA7549@kroah.com>

On Fri, 13 Jan 2006, Greg KH wrote:

> Hm, I looked at the only user of kobjects in the kernel that I know of
> that doesn't use sysfs (the cdev code) and even it sets the kobject name
> to something sane, so I think we should be safe with this.

Well, something is still wrong.

I applied your patch to prevent registration of objects with null names on
top of my patch, then applied this to see if my test still triggered, and
the message was printed:


--- 2.6.15a.orig/lib/kobject.c
+++ 2.6.15a/lib/kobject.c
@@ -72,8 +72,10 @@ static int get_kobj_path_length(struct k
* Add 1 to strlen for leading '/' of each level.
*/
do {
- if (kobject_name(parent) == NULL)
+ if (kobject_name(parent) == NULL) {
+ printk("get_kobj_path_length: encountered NULL name\n");
return 0;
+ }
length += strlen(kobject_name(parent)) + 1;
parent = parent->parent;
} while (parent);

To reproduce:

Start with vanilla 2.6.15 and apply the three patches, which I called:

kobject_dont_register_null_name.patch <- my original
kobject_handle_null_object_name.patch <- Greg's
kobject_debug_null_path.patch <- included above

On a machine with an ATAPI CD-ROM, boot with "hdx=ide-scsi" where
hdx is the CD-ROM's drivename. Then try to mount a CD:

mount -t iso9660 /dev/hdx /mnt/cdrom

Note that hdx is being controlled by ide-scsi so this should fail. You
will see the message from my new patch print in the kernel log.

NOTE: This won't happen on 2.6.15-current because
fs/super.c::kill_block_super() no longer calls kobject_uevent().

--
Chuck
Currently reading: _Olympos_ by Dan Simmons
-
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: 2006-01-14 04:12    [W:0.020 / U:0.144 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site