X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=drivers%2Fblock%2Fnbd.c;h=60cc54368b66eaa1c7888ab905f7c9b83c92bd41;hb=90768c09bca4f306c00a0cdbcb2f82601231e93e;hp=b53fdb0a282c4858590993bb790a003f3b436372;hpb=98c1fc934c097d84dc30c639e9bdb0b992ef53e2;p=linux-2.6 diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c index b53fdb0a28..60cc54368b 100644 --- a/drivers/block/nbd.c +++ b/drivers/block/nbd.c @@ -153,6 +153,12 @@ static int sock_xmit(struct nbd_device *lo, int send, void *buf, int size, struct kvec iov; sigset_t blocked, oldset; + if (unlikely(!sock)) { + printk(KERN_ERR "%s: Attempted %s on closed socket in sock_xmit\n", + lo->disk->disk_name, (send ? "send" : "recv")); + return -EINVAL; + } + /* Allow interception of SIGKILL only * Don't allow other signals to interrupt the transmission */ siginitsetinv(&blocked, sigmask(SIGKILL));