• Greg Kroah-Hartman's avatar
    mm: bdi: fix race in bdi_class device creation · 19051c50
    Greg Kroah-Hartman authored
    There is a race from when a device is created with device_create() and
    then the drvdata is set with a call to dev_set_drvdata() in which a
    sysfs file could be open, yet the drvdata will be NULL, causing all
    sorts of bad things to happen.
    
    This patch fixes the problem by using the new function,
    device_create_vargs().
    
    Many thanks to Arthur Jones <ajones@riverbed.com> for reporting the bug,
    and testing patches out.
    
    Cc: Kay Sievers <kay.sievers@vrfy.org>
    Cc: Arthur Jones <ajones@riverbed.com>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Miklos Szeredi <mszeredi@suse.cz>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    19051c50
backing-dev.c 6.88 KB