[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] Fix blkback/blktap sysfs read bug.
>>> "Joe Jin" <joe.jin@xxxxxxxxxx> 19.01.10 12:32 >>> >On 2010-01-19 10:25, Jan Beulich wrote: >> >>> "Joe Jin" <joe.jin@xxxxxxxxxx> 19.01.10 10:52 >>> >> >At backend driver blkback and blktap, when checking statistics information, >> >at the time vbd device remove, kernel will crash. >> > >> >Below patch will fix it, please review and apply. >> >> This isn't a complete fix if I follow your analysis: There's still a race >> between blk{back,tap}_remove() freeing be->blkif/be and the sysfs >> code. dev->dev.driver_data (and possibly be->blkif) must be cleared >> before freeing it (them). >> > >Thanks for you point. >Anyway, I think need to add some check at VBD_SHOW even cleared >dev->dev.driver_data before free it, sysfs->fops() have been >initialized when call open(), and later when read the file, call >trace will fall VBD_SHOW defined function(s), so it should crashed. I think I understand what you're saying. But then there's only one solution - avoid freeing those two data structures from the .remove handler. >The checks may look like below? Checking dev to be non-NULL is certainly pointless in any case. But wait - how did you see the crash you're trying to fix occur in the first place? blkback_remove() calls xenvbd_sysfs_delif(), so the sysfs entries are gone by the time driver_data gets freed. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |