Jeff Stearns wrote:
The bug in the tun-1.1 driver definitely affects Linux 2.2 and 2.4.
This was fixed in Linux 2.4.6, which included the tun-1.4 driver; the
tun-1.3 driver still had this problem.
Below is the (latest stable 2.4) Linux 2.4.32 version of the function in
question, from drivers/net/tun.c:
static unsigned int tun_chr_poll(struct file *file, poll_table * wait)
struct tun_struct *tun = (struct tun_struct *)file->private_data;
unsigned int mask = POLLOUT | POLLWRNORM;
DBG(KERN_INFO "%s: tun_chr_poll\n", tun->name);
poll_wait(file, &tun->read_wait, wait);
mask |= POLLIN | POLLRDNORM;
Openvpn-users mailing list