aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/drivers
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2018-10-31 18:46:16 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2018-10-31 18:46:16 -0400
commit9bb9d4fdce9e6b351b7b905f150745a0fccccc06 (patch)
tree75a9caf075e1979ab2e302076c1b0d5478df992d /arch/um/drivers
parentadb6b2b2b59f7872322f255206583b4c3ce661a3 (diff)
parent917e2fd2c53eb3c4162f5397555cbd394390d4bc (diff)
Merge branch 'for-linus-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml
Pull UML updates from Richard Weinberger: - removal of old and dead code - a bug fix for our tty driver - other minor cleanups across the code base * 'for-linus-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml: um: Make line/tty semantics use true write IRQ um: trap: fix spelling mistake, EACCESS -> EACCES um: Don't hardcode path as it is architecture dependent um: NULL check before kfree is not needed um: remove unused AIO code um: Give start_idle_thread() a return code um: Remove update_debugregs() um: Drop own definition of PTRACE_SYSEMU/_SINGLESTEP
Diffstat (limited to 'arch/um/drivers')
-rw-r--r--arch/um/drivers/line.c4
-rw-r--r--arch/um/drivers/port_user.c2
-rw-r--r--arch/um/drivers/vector_kern.c15
-rw-r--r--arch/um/drivers/vector_user.c6
4 files changed, 10 insertions, 17 deletions
diff --git a/arch/um/drivers/line.c b/arch/um/drivers/line.c
index 8d80b27502e6..7e524efed584 100644
--- a/arch/um/drivers/line.c
+++ b/arch/um/drivers/line.c
@@ -261,7 +261,7 @@ static irqreturn_t line_write_interrupt(int irq, void *data)
261 if (err == 0) { 261 if (err == 0) {
262 spin_unlock(&line->lock); 262 spin_unlock(&line->lock);
263 return IRQ_NONE; 263 return IRQ_NONE;
264 } else if (err < 0) { 264 } else if ((err < 0) && (err != -EAGAIN)) {
265 line->head = line->buffer; 265 line->head = line->buffer;
266 line->tail = line->buffer; 266 line->tail = line->buffer;
267 } 267 }
@@ -284,7 +284,7 @@ int line_setup_irq(int fd, int input, int output, struct line *line, void *data)
284 if (err) 284 if (err)
285 return err; 285 return err;
286 if (output) 286 if (output)
287 err = um_request_irq(driver->write_irq, fd, IRQ_NONE, 287 err = um_request_irq(driver->write_irq, fd, IRQ_WRITE,
288 line_write_interrupt, IRQF_SHARED, 288 line_write_interrupt, IRQF_SHARED,
289 driver->write_irq_name, data); 289 driver->write_irq_name, data);
290 return err; 290 return err;
diff --git a/arch/um/drivers/port_user.c b/arch/um/drivers/port_user.c
index 9a8e1b64c22e..5f56d11b886f 100644
--- a/arch/um/drivers/port_user.c
+++ b/arch/um/drivers/port_user.c
@@ -168,7 +168,7 @@ int port_connection(int fd, int *socket, int *pid_out)
168{ 168{
169 int new, err; 169 int new, err;
170 char *argv[] = { "/usr/sbin/in.telnetd", "-L", 170 char *argv[] = { "/usr/sbin/in.telnetd", "-L",
171 "/usr/lib/uml/port-helper", NULL }; 171 OS_LIB_PATH "/uml/port-helper", NULL };
172 struct port_pre_exec_data data; 172 struct port_pre_exec_data data;
173 173
174 new = accept(fd, NULL, 0); 174 new = accept(fd, NULL, 0);
diff --git a/arch/um/drivers/vector_kern.c b/arch/um/drivers/vector_kern.c
index 10d8d20eb9ec..046fa9ea0ccc 100644
--- a/arch/um/drivers/vector_kern.c
+++ b/arch/um/drivers/vector_kern.c
@@ -1118,16 +1118,11 @@ static int vector_net_close(struct net_device *dev)
1118 os_close_file(vp->fds->tx_fd); 1118 os_close_file(vp->fds->tx_fd);
1119 vp->fds->tx_fd = -1; 1119 vp->fds->tx_fd = -1;
1120 } 1120 }
1121 if (vp->bpf != NULL) 1121 kfree(vp->bpf);
1122 kfree(vp->bpf); 1122 kfree(vp->fds->remote_addr);
1123 if (vp->fds->remote_addr != NULL) 1123 kfree(vp->transport_data);
1124 kfree(vp->fds->remote_addr); 1124 kfree(vp->header_rxbuffer);
1125 if (vp->transport_data != NULL) 1125 kfree(vp->header_txbuffer);
1126 kfree(vp->transport_data);
1127 if (vp->header_rxbuffer != NULL)
1128 kfree(vp->header_rxbuffer);
1129 if (vp->header_txbuffer != NULL)
1130 kfree(vp->header_txbuffer);
1131 if (vp->rx_queue != NULL) 1126 if (vp->rx_queue != NULL)
1132 destroy_queue(vp->rx_queue); 1127 destroy_queue(vp->rx_queue);
1133 if (vp->tx_queue != NULL) 1128 if (vp->tx_queue != NULL)
diff --git a/arch/um/drivers/vector_user.c b/arch/um/drivers/vector_user.c
index 4d6a78e31089..3d8cdbdb4e66 100644
--- a/arch/um/drivers/vector_user.c
+++ b/arch/um/drivers/vector_user.c
@@ -267,8 +267,7 @@ cleanup:
267 os_close_file(rxfd); 267 os_close_file(rxfd);
268 if (txfd >= 0) 268 if (txfd >= 0)
269 os_close_file(txfd); 269 os_close_file(txfd);
270 if (result != NULL) 270 kfree(result);
271 kfree(result);
272 return NULL; 271 return NULL;
273} 272}
274 273
@@ -434,8 +433,7 @@ cleanup:
434 if (fd >= 0) 433 if (fd >= 0)
435 os_close_file(fd); 434 os_close_file(fd);
436 if (result != NULL) { 435 if (result != NULL) {
437 if (result->remote_addr != NULL) 436 kfree(result->remote_addr);
438 kfree(result->remote_addr);
439 kfree(result); 437 kfree(result);
440 } 438 }
441 return NULL; 439 return NULL;