Showing error 765

User: Jiri Slaby
Error type: Invalid Pointer Dereference
Error type description: A pointer which is invalid is being dereferenced
File location: drivers/uio/uio.c
Line in file: 727
Project: Linux Kernel
Project version: 2.6.28
Tools: Stanse (1.2)
Entered: 2011-11-07 22:22:22 UTC


Source:

697        if (ret)
698                goto err_get_minor;
699
700        idev->dev = device_create(uio_class->class, parent,
701                                  MKDEV(uio_major, idev->minor), idev,
702                                  "uio%d", idev->minor);
703        if (IS_ERR(idev->dev)) {
704                printk(KERN_ERR "UIO: device register failed\n");
705                ret = PTR_ERR(idev->dev);
706                goto err_device_create;
707        }
708
709        ret = uio_dev_add_attributes(idev);
710        if (ret)
711                goto err_uio_dev_add_attributes;
712
713        info->uio_dev = idev;
714
715        if (idev->info->irq >= 0) {
716                ret = request_irq(idev->info->irq, uio_interrupt,
717                                  idev->info->irq_flags, idev->info->name, idev);
718                if (ret)
719                        goto err_request_irq;
720        }
721
722        return 0;
723
724err_request_irq:
725        uio_dev_del_attributes(idev);
726err_uio_dev_add_attributes:
727        device_destroy(uio_class->class, MKDEV(uio_major, idev->minor));
728err_device_create:
729        uio_free_minor(idev);
730err_get_minor:
731        kfree(idev);
732err_kzalloc:
733        uio_class_destroy();
734        return ret;
735}
736EXPORT_SYMBOL_GPL(__uio_register_device);
737
Show full sources