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
This commit is contained in:
@@ -261,7 +261,7 @@ static irqreturn_t line_write_interrupt(int irq, void *data)
|
||||
if (err == 0) {
|
||||
spin_unlock(&line->lock);
|
||||
return IRQ_NONE;
|
||||
} else if (err < 0) {
|
||||
} else if ((err < 0) && (err != -EAGAIN)) {
|
||||
line->head = line->buffer;
|
||||
line->tail = line->buffer;
|
||||
}
|
||||
@@ -284,7 +284,7 @@ int line_setup_irq(int fd, int input, int output, struct line *line, void *data)
|
||||
if (err)
|
||||
return err;
|
||||
if (output)
|
||||
err = um_request_irq(driver->write_irq, fd, IRQ_NONE,
|
||||
err = um_request_irq(driver->write_irq, fd, IRQ_WRITE,
|
||||
line_write_interrupt, IRQF_SHARED,
|
||||
driver->write_irq_name, data);
|
||||
return err;
|
||||
|
@@ -168,7 +168,7 @@ int port_connection(int fd, int *socket, int *pid_out)
|
||||
{
|
||||
int new, err;
|
||||
char *argv[] = { "/usr/sbin/in.telnetd", "-L",
|
||||
"/usr/lib/uml/port-helper", NULL };
|
||||
OS_LIB_PATH "/uml/port-helper", NULL };
|
||||
struct port_pre_exec_data data;
|
||||
|
||||
new = accept(fd, NULL, 0);
|
||||
|
@@ -1118,16 +1118,11 @@ static int vector_net_close(struct net_device *dev)
|
||||
os_close_file(vp->fds->tx_fd);
|
||||
vp->fds->tx_fd = -1;
|
||||
}
|
||||
if (vp->bpf != NULL)
|
||||
kfree(vp->bpf);
|
||||
if (vp->fds->remote_addr != NULL)
|
||||
kfree(vp->fds->remote_addr);
|
||||
if (vp->transport_data != NULL)
|
||||
kfree(vp->transport_data);
|
||||
if (vp->header_rxbuffer != NULL)
|
||||
kfree(vp->header_rxbuffer);
|
||||
if (vp->header_txbuffer != NULL)
|
||||
kfree(vp->header_txbuffer);
|
||||
kfree(vp->bpf);
|
||||
kfree(vp->fds->remote_addr);
|
||||
kfree(vp->transport_data);
|
||||
kfree(vp->header_rxbuffer);
|
||||
kfree(vp->header_txbuffer);
|
||||
if (vp->rx_queue != NULL)
|
||||
destroy_queue(vp->rx_queue);
|
||||
if (vp->tx_queue != NULL)
|
||||
|
@@ -267,8 +267,7 @@ cleanup:
|
||||
os_close_file(rxfd);
|
||||
if (txfd >= 0)
|
||||
os_close_file(txfd);
|
||||
if (result != NULL)
|
||||
kfree(result);
|
||||
kfree(result);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -434,8 +433,7 @@ cleanup:
|
||||
if (fd >= 0)
|
||||
os_close_file(fd);
|
||||
if (result != NULL) {
|
||||
if (result->remote_addr != NULL)
|
||||
kfree(result->remote_addr);
|
||||
kfree(result->remote_addr);
|
||||
kfree(result);
|
||||
}
|
||||
return NULL;
|
||||
|
Referens i nytt ärende
Block a user