Skip to content

Commit

Permalink
[PATCH] tpm: fix misc name memory problem
Browse files Browse the repository at this point in the history
I was using invalid memory for the miscdevice.name.  This patch fixes the
problem which was manifested by an ugly entry in /proc/misc.

Signed-off-by: Kylene Hall <kjhall@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Kylene Jo Hall authored and Linus Torvalds committed Jun 25, 2005
1 parent 1dda8ab commit 6f9becc
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions drivers/char/tpm/tpm.c
Original file line number Diff line number Diff line change
Expand Up @@ -464,6 +464,7 @@ void __devexit tpm_remove(struct pci_dev *pci_dev)

pci_set_drvdata(pci_dev, NULL);
misc_deregister(&chip->vendor->miscdev);
kfree(&chip->vendor->miscdev.name);

sysfs_remove_group(&pci_dev->dev.kobj, chip->vendor->attr_group);

Expand Down Expand Up @@ -526,7 +527,9 @@ EXPORT_SYMBOL_GPL(tpm_pm_resume);
int tpm_register_hardware(struct pci_dev *pci_dev,
struct tpm_vendor_specific *entry)
{
char devname[7];
#define DEVNAME_SIZE 7

char *devname;
struct tpm_chip *chip;
int i, j;

Expand Down Expand Up @@ -569,7 +572,8 @@ int tpm_register_hardware(struct pci_dev *pci_dev,
else
chip->vendor->miscdev.minor = MISC_DYNAMIC_MINOR;

snprintf(devname, sizeof(devname), "%s%d", "tpm", chip->dev_num);
devname = kmalloc(DEVNAME_SIZE, GFP_KERNEL);
scnprintf(devname, DEVNAME_SIZE, "%s%d", "tpm", chip->dev_num);
chip->vendor->miscdev.name = devname;

chip->vendor->miscdev.dev = &(pci_dev->dev);
Expand Down

0 comments on commit 6f9becc

Please sign in to comment.