Subject: Re: [PATCH 03/32] fs: introduce new ->get_poll_head and ->poll_mask methods

From: Christoph Hellwig <[email-masked]>
Date: Thu, 11 Jan 2018 09:28:13 +0100

On Thu, Jan 11, 2018 at 05:22:00AM +0000, Al Viro wrote:
> Whee...  The very first ->poll() instance in alphabetic order on pathnames:
> in arch/cris/arch-v10/drivers/gpio.c
> 
> static __poll_t gpio_poll(struct file *file, poll_table *wait)
> {
>         __poll_t mask = 0;
>         struct gpio_private *priv = file->private_data;
>         unsigned long data;
>         unsigned long flags;
> 
>         spin_lock_irqsave(&gpio_lock, flags);
> 
>         poll_wait(file, &priv->alarm_wq, wait);
> 
> IOW, we are doing poll_wait() (== possible GFP_KERNEL __get_free_page()) under
> a spinlock...

Yes.  Another god reason to separate poll_wait and the actual
event check callback..

--
To unsubscribe, send a message with 'unsubscribe linux-aio' in
the body to [email-masked].  For more info on Linux AIO,
see: http://www.kvack.org/aio/
Don't email: <a href=mailto:"[email-masked]">[email-masked]</a>