• Brian King's avatar
    [PATCH] cdev: cdev_put oops · 7da6844c
    Brian King authored
    While fixing an oops in the st driver in a dirty release path, I
    encountered an oops in cdev_put for cdevs allocated using cdev_alloc.  If
    cdev_del is called when the cdev kobject still has an open user, when the
    last cdev_put is called, the cdev_put will call kobject_put, which will end
    up ultimately releasing the cdev in cdev_dynamic_release.  Patch fixes the
    oops by preventing cdev_put from accessing freed memory.
    Signed-off-by: default avatarBrian King <brking@us.ibm.com>
    Cc: <viro@parcelfarce.linux.theplanet.co.uk>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    7da6844c
char_dev.c 9.47 KB