At line 1073 of ../drivers/char/i2lib.c (2.4.0-test9) we find:
WRITE_LOCK_IRQSAVE(...
this is followed by:
COPY_FROM_USER(...
It seems to me that this could result in a page fault with interrupts
off. Is this ok?
George
> At line 1073 of ../drivers/char/i2lib.c (2.4.0-test9) we find:
>
> WRITE_LOCK_IRQSAVE(...
>
> this is followed by:
>
> COPY_FROM_USER(...
>
> It seems to me that this could result in a page fault with interrupts
> off. Is this ok?
It wont do what you want - it'll re-enable irqs and may then deadlock. It might
need to copy the buffer to a temporary space then take the lock >
Alan Cox wrote:
>
> > At line 1073 of ../drivers/char/i2lib.c (2.4.0-test9) we find:
> >
> > WRITE_LOCK_IRQSAVE(...
> >
> > this is followed by:
> >
> > COPY_FROM_USER(...
> >
> > It seems to me that this could result in a page fault with interrupts
> > off. Is this ok?
>
> It wont do what you want - it'll re-enable irqs and may then deadlock. It might
> need to copy the buffer to a temporary space then take the lock >
> -
I suspected as much. I see the same error (bug?) at line 978 of
../drivers/char/riotty.c
Seems like a common problem.
george