diff for duplicates of <12034501931380@kroah.org> diff --git a/a/1.txt b/N1/1.txt index 63cec73..71e9620 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,4 +1,3 @@ - This is a note to let you know that I've just added the patch titled Subject: driver core: register_memory/unregister_memory clean ups and bugfix @@ -9,95 +8,3 @@ to my gregkh-2.6 tree. Its filename is This tree can be found at http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/patches/ - - ->From pbadari@us.ibm.com Mon Feb 11 09:20:30 2008 -From: Badari Pulavarty <pbadari@us.ibm.com> -Date: Mon, 11 Feb 2008 09:23:18 -0800 -Subject: driver core: register_memory/unregister_memory clean ups and bugfix -To: Andrew Morton <akpm@linux-foundation.org>, lkml <linux-kernel@vger.kernel.org> -Cc: Greg KH <greg@kroah.com>, haveblue@us.ibm.com, linux-mm <linux-mm@kvack.org> -Message-ID: <1202750598.25604.3.camel@dyn9047017100.beaverton.ibm.com> - -register_memory()/unregister_memory() never gets called with -"root". unregister_memory() is accessing kobject_name of -the object just freed up. Since no one uses the code, -lets take the code out. And also, make register_memory() static. - -Another bug fix - before calling unregister_memory() -remove_memory_block() gets a ref on kobject. unregister_memory() -need to drop that ref before calling sysdev_unregister(). - -Signed-off-by: Badari Pulavarty <pbadari@us.ibm.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/base/memory.c | 22 +++++++--------------- - 1 file changed, 7 insertions(+), 15 deletions(-) - ---- a/drivers/base/memory.c -+++ b/drivers/base/memory.c -@@ -62,8 +62,8 @@ void unregister_memory_notifier(struct n - /* - * register_memory - Setup a sysfs device for a memory block - */ --int register_memory(struct memory_block *memory, struct mem_section *section, -- struct node *root) -+static -+int register_memory(struct memory_block *memory, struct mem_section *section) - { - int error; - -@@ -71,26 +71,18 @@ int register_memory(struct memory_block - memory->sysdev.id = __section_nr(section); - - error = sysdev_register(&memory->sysdev); -- -- if (root && !error) -- error = sysfs_create_link(&root->sysdev.kobj, -- &memory->sysdev.kobj, -- kobject_name(&memory->sysdev.kobj)); -- - return error; - } - - static void --unregister_memory(struct memory_block *memory, struct mem_section *section, -- struct node *root) -+unregister_memory(struct memory_block *memory, struct mem_section *section) - { - BUG_ON(memory->sysdev.cls != &memory_sysdev_class); - BUG_ON(memory->sysdev.id != __section_nr(section)); - -+ /* drop the ref. we got in remove_memory_block() */ -+ kobject_put(&memory->sysdev.kobj); - sysdev_unregister(&memory->sysdev); -- if (root) -- sysfs_remove_link(&root->sysdev.kobj, -- kobject_name(&memory->sysdev.kobj)); - } - - /* -@@ -345,7 +337,7 @@ static int add_memory_block(unsigned lon - mutex_init(&mem->state_mutex); - mem->phys_device = phys_device; - -- ret = register_memory(mem, section, NULL); -+ ret = register_memory(mem, section); - if (!ret) - ret = mem_create_simple_file(mem, phys_index); - if (!ret) -@@ -396,7 +388,7 @@ int remove_memory_block(unsigned long no - mem_remove_simple_file(mem, phys_index); - mem_remove_simple_file(mem, state); - mem_remove_simple_file(mem, phys_device); -- unregister_memory(mem, section, NULL); -+ unregister_memory(mem, section); - - return 0; - } - - -Patches currently in gregkh-2.6 which might be from pbadari@us.ibm.com are - -driver/driver-core-register_memory-unregister_memory-clean-ups-and-bugfix.patch diff --git a/a/content_digest b/N1/content_digest index 844daf9..c2605a9 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -10,7 +10,6 @@ " linux-mm@kvack.org\0" "\00:1\0" "b\0" - "\n" "This is a note to let you know that I've just added the patch titled\n" "\n" " Subject: driver core: register_memory/unregister_memory clean ups and bugfix\n" @@ -20,98 +19,6 @@ " driver-core-register_memory-unregister_memory-clean-ups-and-bugfix.patch\n" "\n" "This tree can be found at \n" - " http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/patches/\n" - "\n" - "\n" - ">From pbadari@us.ibm.com Mon Feb 11 09:20:30 2008\n" - "From: Badari Pulavarty <pbadari@us.ibm.com>\n" - "Date: Mon, 11 Feb 2008 09:23:18 -0800\n" - "Subject: driver core: register_memory/unregister_memory clean ups and bugfix\n" - "To: Andrew Morton <akpm@linux-foundation.org>, lkml <linux-kernel@vger.kernel.org>\n" - "Cc: Greg KH <greg@kroah.com>, haveblue@us.ibm.com, linux-mm <linux-mm@kvack.org>\n" - "Message-ID: <1202750598.25604.3.camel@dyn9047017100.beaverton.ibm.com>\n" - "\n" - "register_memory()/unregister_memory() never gets called with\n" - "\"root\". unregister_memory() is accessing kobject_name of\n" - "the object just freed up. Since no one uses the code,\n" - "lets take the code out. And also, make register_memory() static.\n" - "\n" - "Another bug fix - before calling unregister_memory()\n" - "remove_memory_block() gets a ref on kobject. unregister_memory()\n" - "need to drop that ref before calling sysdev_unregister().\n" - "\n" - "Signed-off-by: Badari Pulavarty <pbadari@us.ibm.com>\n" - "Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>\n" - "\n" - "---\n" - " drivers/base/memory.c | 22 +++++++---------------\n" - " 1 file changed, 7 insertions(+), 15 deletions(-)\n" - "\n" - "--- a/drivers/base/memory.c\n" - "+++ b/drivers/base/memory.c\n" - "@@ -62,8 +62,8 @@ void unregister_memory_notifier(struct n\n" - " /*\n" - " * register_memory - Setup a sysfs device for a memory block\n" - " */\n" - "-int register_memory(struct memory_block *memory, struct mem_section *section,\n" - "-\t\tstruct node *root)\n" - "+static\n" - "+int register_memory(struct memory_block *memory, struct mem_section *section)\n" - " {\n" - " \tint error;\n" - " \n" - "@@ -71,26 +71,18 @@ int register_memory(struct memory_block \n" - " \tmemory->sysdev.id = __section_nr(section);\n" - " \n" - " \terror = sysdev_register(&memory->sysdev);\n" - "-\n" - "-\tif (root && !error)\n" - "-\t\terror = sysfs_create_link(&root->sysdev.kobj,\n" - "-\t\t\t\t\t &memory->sysdev.kobj,\n" - "-\t\t\t\t\t kobject_name(&memory->sysdev.kobj));\n" - "-\n" - " \treturn error;\n" - " }\n" - " \n" - " static void\n" - "-unregister_memory(struct memory_block *memory, struct mem_section *section,\n" - "-\t\tstruct node *root)\n" - "+unregister_memory(struct memory_block *memory, struct mem_section *section)\n" - " {\n" - " \tBUG_ON(memory->sysdev.cls != &memory_sysdev_class);\n" - " \tBUG_ON(memory->sysdev.id != __section_nr(section));\n" - " \n" - "+\t/* drop the ref. we got in remove_memory_block() */\n" - "+\tkobject_put(&memory->sysdev.kobj);\n" - " \tsysdev_unregister(&memory->sysdev);\n" - "-\tif (root)\n" - "-\t\tsysfs_remove_link(&root->sysdev.kobj,\n" - "-\t\t\t\t kobject_name(&memory->sysdev.kobj));\n" - " }\n" - " \n" - " /*\n" - "@@ -345,7 +337,7 @@ static int add_memory_block(unsigned lon\n" - " \tmutex_init(&mem->state_mutex);\n" - " \tmem->phys_device = phys_device;\n" - " \n" - "-\tret = register_memory(mem, section, NULL);\n" - "+\tret = register_memory(mem, section);\n" - " \tif (!ret)\n" - " \t\tret = mem_create_simple_file(mem, phys_index);\n" - " \tif (!ret)\n" - "@@ -396,7 +388,7 @@ int remove_memory_block(unsigned long no\n" - " \tmem_remove_simple_file(mem, phys_index);\n" - " \tmem_remove_simple_file(mem, state);\n" - " \tmem_remove_simple_file(mem, phys_device);\n" - "-\tunregister_memory(mem, section, NULL);\n" - "+\tunregister_memory(mem, section);\n" - " \n" - " \treturn 0;\n" - " }\n" - "\n" - "\n" - "Patches currently in gregkh-2.6 which might be from pbadari@us.ibm.com are\n" - "\n" - driver/driver-core-register_memory-unregister_memory-clean-ups-and-bugfix.patch + http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/patches/ -f03ee6d3397896152ef45292f24949f077155a20853b8112ae780233df19e92c +f8a31ea69094c0123a31e0750feadabcdf73a607eeacfe80787d59c2f32871eb
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.