Re: Missing symbol on sh4: "__get_user_unknown"

John Paul Adrian Glaubitz <[email protected]>
Newsgroups gmane.linux.debian.ports.superh,gmane.linux.debian.devel.kernel
Message-ID <[email protected]>
On 5/10/20 3:27 PM, Ben Hutchings wrote:
>> In any case, the kernel package now fails to build due to a missing symbol in the
>> Infiniband core driver (see below). A simple workaround is to disable Infiniband
>> support which allows me to build the kernel package normally (which I did and
>> consequently uploaded).
> [...]
> 
> __get_user_unknown() is never defined, but will be referenced if the
> get_user() macro is invoked with a variable of unsupported size (see
> arch/sh/include/asm/uaccess.h).  So my guess is that this module uses
> get_user() to read a 64-bit value.  Some 32-bit architectures do now
> support this operation but I'm not sure whether they are expected to.

I see, thanks a lot for the explanation.

> This seems to have been introduced by commit 3a6532c9af1a, and could
> probably be fixed by replacing the get_user() with a copy_from_user().
> 
> We could disable IB since it doesn't seem that likely to be used on
> sh4, although I think the "verbs" layer can be used on top of Ethernet.

I'm fine with that.

Adrian
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.