Re: 2.6.13: loop ioctl crashes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 9 Sep 2005, Ian Collier wrote:

> I'm trying out PPDD from https://retiisi.dyndns.org/~sailus/ppdd/
> because I have some old stuff in that format.  However, the crash
> seems to occur in code that isn't touched by the PPDD patch.  It
> happens while I'm trying to set up the loop device - I haven't got
> as far as actually using it yet.
>
> If I'm lucky then when I issue the losetup command and successfully
> type in the passphrase then losetup says something of the form
> ioctl: LOOP_SET_STATUS: Bad address
> and the kernel says:
>
> Debug: sleeping function called from invalid context at arch/i386/lib/usercopy.c:634
> in_atomic():1, irqs_disabled():0
>  [<c011f8eb>] __might_sleep+0xab/0xc0
>  [<c0211aa3>] copy_from_user+0x23/0x90
>  [<d0a9fe80>] loop_set_status_old+0x30/0x70 [loop]
>
> However, it often seems to panic in a variety of horrible ways while
> trying to print the above message.
>
> Clearly I have CONFIG_DEBUG_SPINLOCK_SLEEP set (as my config is
> based on Fedora's), and I suppose I could just try unsetting it to
> make the message go away.  That wouldn't make the underlying bug go
> away, though.  If it makes any difference, loop and all the crypto
> algorithms are compiled as modules.
>
> I don't understand why it's an invalid context.  I also don't understand
> why the traceback stops at loop_set_status_old given that it must have
> been called from lo_ioctl.  (But maybe the answer to the latter would
> explain the former.)
>
> I may try just moving the copy_from_user() out to the beginning of
> lo_ioctl and see what happens.  Any other suggestions?  In case it's
> not obvious by now, I'm not really a kernel hacker.
>
> imc

I guess you are trying to do a copy_from_user() with a spin-lock
being held or the interrupts otherwise disabled. You can hold
a semaphore, to prevent somebody else from interfering with
you, but you cannot hold a spin-lock during copy/to/from/user().


Cheers,
Dick Johnson
Penguin : Linux version 2.6.13 on an i686 machine (5589.54 BogoMips).
Warning : 98.36% of all statistics are fiction.
.
I apologize for the following. I tried to kill it with the above dot :

****************************************************************
The information transmitted in this message is confidential and may be privileged.  Any review, retransmission, dissemination, or other use of this information by persons or entities other than the intended recipient is prohibited.  If you are not the intended recipient, please notify Analogic Corporation immediately - by replying to this message or by sending an email to [email protected] - and destroy all copies of this information, including any attachments, without reading or disclosing them.

Thank you.
-
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]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux