When kmalloc_array() fails to allocate memory, the ubd_init()
should return -ENOMEM instead of -1. So, fix it.

Fixes: f88f0bdfc32f ("um: UBD Improvements")
Signed-off-by: Duoming Zhou <duom...@zju.edu.cn>
---
 arch/um/drivers/ubd_kern.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/um/drivers/ubd_kern.c b/arch/um/drivers/ubd_kern.c
index 92ee2697ff3..85e33caf62a 100644
--- a/arch/um/drivers/ubd_kern.c
+++ b/arch/um/drivers/ubd_kern.c
@@ -1098,7 +1098,7 @@ static int __init ubd_init(void)
 
        if (irq_req_buffer == NULL) {
                printk(KERN_ERR "Failed to initialize ubd buffering\n");
-               return -1;
+               return -ENOMEM;
        }
        io_req_buffer = kmalloc_array(UBD_REQ_BUFFER_SIZE,
                                      sizeof(struct io_thread_req *),
@@ -1109,7 +1109,7 @@ static int __init ubd_init(void)
 
        if (io_req_buffer == NULL) {
                printk(KERN_ERR "Failed to initialize ubd buffering\n");
-               return -1;
+               return -ENOMEM;
        }
        platform_driver_register(&ubd_driver);
        mutex_lock(&ubd_lock);
-- 
2.17.1


Reply via email to