[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <adafxc7ksca.fsf@cisco.com>
Date: Tue, 04 Aug 2009 17:38:29 -0700
From: Roland Dreier <rdreier@...co.com>
To: Randy Dunlap <randy.dunlap@...cle.com>
Cc: linux-kernel@...r.kernel.org, Roland Dreier <rolandd@...co.com>,
akpm@...ux-foundation.org
Subject: Re: mmotm 2009-08-04-14-22 uploaded (ummunotify)
> ummunotify.c:(.text+0x8f217): undefined reference to `__get_user_X'
>
> when building for i386.
>
> The get_user() and put_user() in ummunotify_exchange_features()
> are correctly converted to __get_user_4() and __put_user_4(),
> but the get_user() in ummunotify_unregister_region() becomes
> __get_user_X() [as seen in objdump output].
Is 64-bit get_user() supposed to work portably? Because it seems that
arch/x86/include/asm/uaccess.h intentionally makes get_user((__u64))
expand to __get_user_X() and then never defines __get_user_X(). And
arm, say, expands it to __get_user_bad(). But on the other hand,
powerpc and sparc seem to go to the trouble of defining a 64-bit
get_user() for 32-bit builds...
My fault for insufficient 32-bit compile testing. Andrew, I'll send a
patch to change to copy_from_user() instead.
- R.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists