cuse: kill connection on initialization error
Luca Risolia reported that a CUSE daemon will continue to run even if initialization of the emulated device failes for some reason (e.g. the device number is already registered by another driver). This patch disconnects the fuse device on error, which will make the userspace CUSE daemon exit, albeit without indication about what the problem was. Reported-by: Luca Risolia <luca.risolia@studio.unibo.it> Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
This commit is contained in:
parent
bbd9979797
commit
8d39d801d6
1 changed files with 1 additions and 3 deletions
|
@ -396,7 +396,7 @@ static void cuse_process_init_reply(struct fuse_conn *fc, struct fuse_req *req)
|
|||
err_region:
|
||||
unregister_chrdev_region(devt, 1);
|
||||
err:
|
||||
fc->conn_error = 1;
|
||||
fuse_conn_kill(fc);
|
||||
goto out;
|
||||
}
|
||||
|
||||
|
@ -532,8 +532,6 @@ static int cuse_channel_release(struct inode *inode, struct file *file)
|
|||
cdev_del(cc->cdev);
|
||||
}
|
||||
|
||||
/* kill connection and shutdown channel */
|
||||
fuse_conn_kill(&cc->fc);
|
||||
rc = fuse_dev_release(inode, file); /* puts the base reference */
|
||||
|
||||
return rc;
|
||||
|
|
Loading…
Add table
Reference in a new issue