On Mon, 9 Jun 2008, Ingo Molnar wrote:Thanks for giving it a try. Right, that would be with CONFIG_PREEMPT_VOLUNTARY. Or in my case with CONFIG_DEBUG_SPINLOCK_SLEEP, strnlen_user's might_sleep gives BUG: sleeping function called from invalid context... At first I thought it was just falling foul of our zeal for might_sleep. But no, the warning is correct: the get_user(str) and strnlen_user(str) can perfectly well fault, but my suggested patch lets them be called with a kmap_atomic outstanding. I doubt it would be cost-effective to kunmap_atomic for each little string there. I don't see a quick and effective way to fix it up. I don't have the patience to go about adding get_user_inatomic and strnlen_user_inatomic, there's more urgent things to be doing. It would be nice to use a per-process kmap; or use an efficient one-page mapping in the exec'ers userspace; or maybe just having a kunmap_and_flush would help (to slow the cycling around pkmap page table), though it would still involve the global spinlock. Sorry, no quick and effective fix: please just drop the patch. Thanks, Hugh --
| Rafael J. Wysocki | [Bug #10984] MMC print trace information when resume from suspend |
| Steven Rostedt | Re: [RFC PATCH 1/3] Unified trace buffer |
| Karl Meyer | PROBLEM: 2.6.23-rc "NETDEV WATCHDOG: eth0: transmit timed out" |
| Ingo Molnar | Re: [PATCH] x86: make e820.c to have common functions |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| David Woodhouse | Re: [bug?] tg3: Failed to load firmware "tigon/tg3_tso.bin" |
| Andi Kleen | Re: [PATCH] Add IPv6 support to TCP SYN cookies |
| Andi Kleen | Re: [PATCH] Disable TSO for non standard qdiscs |
git: | |
