Markus, This refactor looks OK with the exception of one thing...
On Tue, Jan 13, 2015 at 8:44 AM, Markus Pargmann <[email protected]> wrote: > /* Must be called with tx_lock held */ > > static int __nbd_ioctl(struct block_device *bdev, struct nbd_device *nbd, > @@ -684,61 +773,8 @@ static int __nbd_ioctl(struct block_device *bdev, struct > nbd_device *nbd, > set_capacity(nbd->disk, nbd->bytesize >> 9); > return 0; > > - case NBD_DO_IT: { > - struct task_struct *thread; > - struct socket *sock; > - int error; > - > - if (nbd->pid) > - return -EBUSY; > - if (!nbd->sock) > - return -EINVAL; > You seem to have done away with these checks. Was that inadvertent or was there a reason for that? The pid check is necessary to prevent two instances of NBD_DO_IT from running. Without the sock check you'll get a null pointer deref in nbd_do_it. Thanks, Paul ------------------------------------------------------------------------------ Dive into the World of Parallel Programming. The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ _______________________________________________ Nbd-general mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/nbd-general
