lkml.org 
[lkml]   [2006]   [Oct]   [10]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateTue, 10 Oct 2006 14:32:33 +1000
FromPaul Mackerras <>
SubjectWhy is device_create_file __must_check?
I am seeing a bunch of warnings about not checking the return value
from device_create_file() for code like this (from
arch/powerpc/kernel/pci_64.c):

static ssize_t pci_show_devspec(struct device *dev,
		struct device_attribute *attr, char *buf)
{
	struct pci_dev *pdev;
	struct device_node *np;
	pdev = to_pci_dev (dev);
	np = pci_device_to_OF_node(pdev);
	if (np == NULL || np->full_name == NULL)
		return 0;
	return sprintf(buf, "%s", np->full_name);
}
static DEVICE_ATTR(devspec, S_IRUGO, pci_show_devspec, NULL);
void pcibios_add_platform_entries(struct pci_dev *pdev)
{
	device_create_file(&pdev->dev, &dev_attr_devspec);
}
What bad thing could happen if device_create_file fails, other than
that the "devspec" file doesn't appear in sysfs?  I don't see how the
error could lead to any null pointer dereference later on or anything
like that.  If some bad thing could happen, how do I avert that?  If
nothing bad will happen, why does device_create_file have __must_check
on it?

Paul.
-
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-10-10 06:37    [from the cache]
©2003-2008