Remove UML usage of SA_SAMPLE_RANDOM
UML can't know that its input sources are unpredictable or
unobservable and should not assume or pretend that they are. It should
instead gather entropy from the host's /dev/random.
Signed-off-by: Matt Mackall <[email protected]>
Index: 2.6/arch/um/drivers/line.c
===================================================================
--- 2.6.orig/arch/um/drivers/line.c 2006-05-02 17:29:26.000000000 -0500
+++ 2.6/arch/um/drivers/line.c 2006-05-03 13:54:29.000000000 -0500
@@ -406,7 +406,7 @@ static irqreturn_t line_write_interrupt(
int line_setup_irq(int fd, int input, int output, struct line *line, void *data)
{
struct line_driver *driver = line->driver;
- int err = 0, flags = SA_INTERRUPT | SA_SHIRQ | SA_SAMPLE_RANDOM;
+ int err = 0, flags = SA_INTERRUPT | SA_SHIRQ;
if (input)
err = um_request_irq(driver->read_irq, fd, IRQ_READ,
@@ -767,8 +767,7 @@ void register_winch_irq(int fd, int tty_
spin_unlock(&winch_handler_lock);
if(um_request_irq(WINCH_IRQ, fd, IRQ_READ, winch_interrupt,
- SA_INTERRUPT | SA_SHIRQ | SA_SAMPLE_RANDOM,
- "winch", winch) < 0)
+ SA_INTERRUPT | SA_SHIRQ, "winch", winch) < 0)
printk("register_winch_irq - failed to register IRQ\n");
}
Index: 2.6/arch/um/drivers/mconsole_kern.c
===================================================================
--- 2.6.orig/arch/um/drivers/mconsole_kern.c 2006-05-02 17:28:42.000000000 -0500
+++ 2.6/arch/um/drivers/mconsole_kern.c 2006-05-03 13:52:05.000000000 -0500
@@ -779,8 +779,7 @@ static int mconsole_init(void)
register_reboot_notifier(&reboot_notifier);
err = um_request_irq(MCONSOLE_IRQ, sock, IRQ_READ, mconsole_interrupt,
- SA_INTERRUPT | SA_SHIRQ | SA_SAMPLE_RANDOM,
- "mconsole", (void *)sock);
+ SA_INTERRUPT | SA_SHIRQ, "mconsole", sock);
if (err){
printk("Failed to get IRQ for management console\n");
return(1);
Index: 2.6/arch/um/drivers/port_kern.c
===================================================================
--- 2.6.orig/arch/um/drivers/port_kern.c 2005-10-27 19:02:08.000000000 -0500
+++ 2.6/arch/um/drivers/port_kern.c 2006-05-03 13:45:53.000000000 -0500
@@ -104,9 +104,8 @@ static int port_accept(struct port_list
.telnetd_pid = pid,
.port = port });
- if(um_request_irq(TELNETD_IRQ, socket[0], IRQ_READ, pipe_interrupt,
- SA_INTERRUPT | SA_SHIRQ | SA_SAMPLE_RANDOM,
- "telnetd", conn)){
+ if(um_request_irq(TELNETD_IRQ, socket[0], IRQ_READ, pipe_interrupt,
+ SA_INTERRUPT | SA_SHIRQ, "telnetd", conn)){
printk(KERN_ERR "port_accept : failed to get IRQ for "
"telnetd\n");
goto out_free;
@@ -185,9 +184,8 @@ void *port_data(int port_num)
port_num, -fd);
goto out_free;
}
- if(um_request_irq(ACCEPT_IRQ, fd, IRQ_READ, port_interrupt,
- SA_INTERRUPT | SA_SHIRQ | SA_SAMPLE_RANDOM, "port",
- port)){
+ if(um_request_irq(ACCEPT_IRQ, fd, IRQ_READ, port_interrupt,
+ SA_INTERRUPT | SA_SHIRQ, "port", port)){
printk(KERN_ERR "Failed to get IRQ for port %d\n", port_num);
goto out_close;
}
Index: 2.6/arch/um/drivers/xterm_kern.c
===================================================================
--- 2.6.orig/arch/um/drivers/xterm_kern.c 2005-10-27 19:02:08.000000000 -0500
+++ 2.6/arch/um/drivers/xterm_kern.c 2006-05-03 13:38:32.000000000 -0500
@@ -53,9 +53,8 @@ int xterm_fd(int socket, int *pid_out)
.new_fd = -1 });
init_completion(&data->ready);
- err = um_request_irq(XTERM_IRQ, socket, IRQ_READ, xterm_interrupt,
- SA_INTERRUPT | SA_SHIRQ | SA_SAMPLE_RANDOM,
- "xterm", data);
+ err = um_request_irq(XTERM_IRQ, socket, IRQ_READ, xterm_interrupt,
+ SA_INTERRUPT | SA_SHIRQ, "xterm", data);
if (err){
printk(KERN_ERR "xterm_fd : failed to get IRQ for xterm, "
"err = %d\n", err);
Index: 2.6/arch/um/kernel/irq.c
===================================================================
--- 2.6.orig/arch/um/kernel/irq.c 2006-05-02 17:29:26.000000000 -0500
+++ 2.6/arch/um/kernel/irq.c 2006-05-03 13:53:22.000000000 -0500
@@ -474,8 +474,7 @@ int init_aio_irq(int irq, char *name, ir
}
err = um_request_irq(irq, fds[0], IRQ_READ, handler,
- SA_INTERRUPT | SA_SAMPLE_RANDOM, name,
- (void *) (long) fds[0]);
+ SA_INTERRUPT, name, (void *) (long) fds[0]);
if (err) {
printk("init_aio_irq - : um_request_irq failed, err = %d\n",
err);
Index: 2.6/arch/um/kernel/sigio_kern.c
===================================================================
--- 2.6.orig/arch/um/kernel/sigio_kern.c 2006-05-02 17:28:42.000000000 -0500
+++ 2.6/arch/um/kernel/sigio_kern.c 2006-05-03 13:52:41.000000000 -0500
@@ -31,8 +31,7 @@ int write_sigio_irq(int fd)
int err;
err = um_request_irq(SIGIO_WRITE_IRQ, fd, IRQ_READ, sigio_interrupt,
- SA_INTERRUPT | SA_SAMPLE_RANDOM, "write sigio",
- NULL);
+ SA_INTERRUPT, "write sigio", NULL);
if(err){
printk("write_sigio_irq : um_request_irq failed, err = %d\n",
err);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]