Probably because you aren't allowed to call copy_to_user while holding a
spin lock? The user pages might be non resident and you can't have a
page fault with interrupts disabled. Also you don't want to spend a lot
of time with interrupts disabled, and copy_to_user can take a fair
amount of time for large copies.
Jeff V. Merkey wrote:
Is there a good reason someone set a disabled_irq() check on 2.6.14
and above for copy_to_user to barf out
tons of bogus stack dump messages if the function is called from
within a spinlock:
i.e.
spin_lock_irqsave(®en_lock, regen_flags);
v = regen_head;
while (v)
{
if (i >= count)
return -EFAULT;
err = copy_to_user(&s[i++], v, sizeof(VIRTUAL_SETUP));
if (err)
return err;
v = v->next;
}
spin_unlock_irqrestore(®en_lock, regen_flags);
is now busted and worked in kernels up to this point. The error
message is annoying but non-fatal.
Jeff
-
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]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]