Re: [PATCH] f_op->poll() without lock_kernel()

From: Manfred Spraul (manfreds@colorfullife.com)
Date: Fri Apr 21 2000 - 16:49:45 EST


"David S. Miller" wrote:

> drivers/char/dtlk.c:static unsigned int dtlk_poll(struct file *file, poll_table * wait)

dtlk_poll() looks good, dtlk_read() needs lock_kernel.
        [while(dtlk_readable() { read() }]

> drivers/pcmcia/ds.c:static u_int ds_poll(struct file *file, poll_table *wait)
ds_poll() looks correct, but ds_read() relies on
interruptible_sleep_on()
        -> either lock_kernel() or wait_event()

How did you grep? You missed

drivers/char/qpmouse.c:
        poll_pq() looks good, but read_qp() needs lock_kernel.
        [while(!queue_empty()) { get_from_queue()} ]

As I wrote, the problem is _read() and _write(), not _poll().

--
	Manfred

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Apr 23 2000 - 21:00:19 EST