diff mbox series

um: sigio: return error from add_sigio_fd()

Message ID 20201123204402.cd59c660941a.I05dae9d28604fcfeb7cbddd602b33b418b624fe5@changeid
State Accepted
Headers show
Series um: sigio: return error from add_sigio_fd() | expand

Commit Message

Johannes Berg Nov. 23, 2020, 7:44 p.m. UTC
From: Johannes Berg <johannes.berg@intel.com>

If we run out of space, return an error instead of 0.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
---
 arch/um/os-Linux/sigio.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/arch/um/os-Linux/sigio.c b/arch/um/os-Linux/sigio.c
index 75558080d0bf..f91fd16e9911 100644
--- a/arch/um/os-Linux/sigio.c
+++ b/arch/um/os-Linux/sigio.c
@@ -167,15 +167,17 @@  static void update_thread(void)
 int add_sigio_fd(int fd)
 {
 	struct pollfd *p;
-	int err = 0, i, n;
+	int err, i, n;
 
 	sigio_lock();
 	for (i = 0; i < all_sigio_fds.used; i++) {
 		if (all_sigio_fds.poll[i].fd == fd)
 			break;
 	}
-	if (i == all_sigio_fds.used)
+	if (i == all_sigio_fds.used) {
+		err = -ENOSPC;
 		goto out;
+	}
 
 	p = &all_sigio_fds.poll[i];