[PATCH] PCI: fix pci_remove_legacy_files() crash

From: Greg KH
Date: Sat Mar 05 2005 - 00:26:09 EST


ChangeSet 1.1998.11.11, 2005/02/07 16:20:26-08:00, muneda.takahiro@xxxxxxxxxxxxxx

[PATCH] PCI: fix pci_remove_legacy_files() crash

The legacy_io which is the member of pci_bus struct might be
NULL. It should be checked.

This patch checks 'b->legacy_io', NULL or not.

Signed-off-by: MUNEDA Takahiro <muneda.takahiro@xxxxxxxxxxxxxx>
Acked-by: Jesse Barnes <jbarnes@xxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>


drivers/pci/probe.c | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)


diff -Nru a/drivers/pci/probe.c b/drivers/pci/probe.c
--- a/drivers/pci/probe.c 2005-03-04 12:42:59 -08:00
+++ b/drivers/pci/probe.c 2005-03-04 12:42:59 -08:00
@@ -64,9 +64,11 @@

void pci_remove_legacy_files(struct pci_bus *b)
{
- class_device_remove_bin_file(&b->class_dev, b->legacy_io);
- class_device_remove_bin_file(&b->class_dev, b->legacy_mem);
- kfree(b->legacy_io); /* both are allocated here */
+ if (b->legacy_io) {
+ class_device_remove_bin_file(&b->class_dev, b->legacy_io);
+ class_device_remove_bin_file(&b->class_dev, b->legacy_mem);
+ kfree(b->legacy_io); /* both are allocated here */
+ }
}
#else /* !HAVE_PCI_LEGACY */
static inline void pci_create_legacy_files(struct pci_bus *bus) { return; }

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