On Fri, Aug 16, 2013 at 10:32 PM, Arik Nemtsov <[email protected]> wrote:
> On Fri, Aug 16, 2013 at 8:26 PM, Hauke Mehrtens <[email protected]> wrote:
>> This fixes a problem introduced in this commit:
>> commit c871780b5afa182878884bf5ccd8df4817a2660f
>> Author: Arik Nemtsov <[email protected]>
>> Date:   Wed Aug 14 10:48:05 2013 +0300
>>
>>     backports: rename some mem functions to not break custom kernels
>>
>> Signed-off-by: Hauke Mehrtens <[email protected]>
>> Cc: Arik Nemtsov <[email protected]>
>
> Thanks for the fix (again). Indeed it was stupid of me to make the
> #ifndef redundant.
> I'll test it on my setup next week.

Ok. This doesn't work for me, and it's pretty obvious why that I look
at the code. I'm using a custom 3.9 kernel that contains the patch
adding "arch_phys_wc_add".

If indeed "arch_phys_wc_add" is defined (as is my case), we don't
enter the clause at all and the LINUX_BACKPORT() definition doesn't
happen.
But the code in backport-3.11.c does the following anyway:

EXPORT_SYMBOL_GPL(arch_phys_wc_add);

So we still get the exported symbol "arch_phys_wc_add", clashing with
the kernel's.
Maybe some new define should be added to the backports header file to
control when backport-3.11.c exports the symbol?

Something in io.h along the lines of:

#ifndef arch_phys_wc_add
#define BACKPORTS_DEFINE_arch_phys_wc_add
...

and then condition the symbol export in the .c file on
BACKPORTS_DEFINE_arch_phys_wc_add.

Arik
--
To unsubscribe from this list: send the line "unsubscribe backports" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to