Re: [PATCH 02/13] backports: fix conditional include of arch_phys_wc_add()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Aug 16, 2013 at 10:32 PM, Arik Nemtsov <arik@xxxxxxxxxx> wrote:
> On Fri, Aug 16, 2013 at 8:26 PM, Hauke Mehrtens <hauke@xxxxxxxxxx> wrote:
>> This fixes a problem introduced in this commit:
>> commit c871780b5afa182878884bf5ccd8df4817a2660f
>> Author: Arik Nemtsov <arik@xxxxxxxxxx>
>> Date:   Wed Aug 14 10:48:05 2013 +0300
>>
>>     backports: rename some mem functions to not break custom kernels
>>
>> Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx>
>> Cc: Arik Nemtsov <arik@xxxxxxxxxx>
>
> 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux