diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c index b1a5acd57426..7ec85f94f742 100644 --- a/drivers/block/nbd.c +++ b/drivers/block/nbd.c @@ -1278,6 +1278,13 @@ static int nbd_add_socket(struct nbd_device *nbd, unsigned long arg, /* Arg will be cast to int, check it to avoid overflow */ if (arg > INT_MAX) return -EINVAL; + + if (nbd->pid) { + dev_err(disk_to_dev(nbd->disk), + "Cannot add socket to a running device\n"); + return -EBUSY; + } + sock = nbd_get_socket(nbd, arg, &err); if (!sock) return err;