2008-08-20 19:25:27

by drago01

[permalink] [raw]
Subject: [PATCH] Use EXPORT_SYMBOL for pv_lock_ops

On Wed, Aug 20, 2008 at 7:06 AM, Jeremy Fitzhardinge <[email protected]> wrote:
> drago01 wrote:
>> Hi,
>>
>> It seems that in 2.6.27 pv_lock_ops is now GPL only which breaks
>> binary drivers because they pick it up implicitly when CONFIG_PARAVIRT
>> is enabled.
>> (see http://www.nvnews.net/vbulletin/showpost.php?p=1750090&postcount=2)
>> Is there a reason for doing this?
>> As some other pv_* are exported to all modules can this be done for
>> this too? (there should be no difference between CONFIG_PARAVIRT on or
>> of for GPL'd symbols).
>
> Yeah, they're just GPL by default, but the lock code is not exported GPL
> so there's no reason why lock_ops should be.
>
> J
>
>

Use EXPORT_SYMBOL for pv_lock_ops to preserve the behavior between
CONFIG_PARAVIRT set and unset.
Currently we only used _GPL when the non paravirt symbols are GPL only too.

Signed-off-by: Adel Gadllah <[email protected]>

diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c
index 94da4d5..300da17 100644
--- a/arch/x86/kernel/paravirt.c
+++ b/arch/x86/kernel/paravirt.c
@@ -471,7 +471,7 @@ struct pv_lock_ops pv_lock_ops = {
.spin_unlock = __ticket_spin_unlock,
#endif
};
-EXPORT_SYMBOL_GPL(pv_lock_ops);
+EXPORT_SYMBOL(pv_lock_ops);

EXPORT_SYMBOL_GPL(pv_time_ops);
EXPORT_SYMBOL (pv_cpu_ops);


2008-08-20 19:30:32

by drago01

[permalink] [raw]
Subject: Re: [PATCH] Use EXPORT_SYMBOL for pv_lock_ops

On Wed, Aug 20, 2008 at 9:25 PM, drago01 <[email protected]> wrote:
> On Wed, Aug 20, 2008 at 7:06 AM, Jeremy Fitzhardinge <[email protected]> wrote:
>> drago01 wrote:
>>> Hi,
>>>
>>> It seems that in 2.6.27 pv_lock_ops is now GPL only which breaks
>>> binary drivers because they pick it up implicitly when CONFIG_PARAVIRT
>>> is enabled.
>>> (see http://www.nvnews.net/vbulletin/showpost.php?p=1750090&postcount=2)
>>> Is there a reason for doing this?
>>> As some other pv_* are exported to all modules can this be done for
>>> this too? (there should be no difference between CONFIG_PARAVIRT on or
>>> of for GPL'd symbols).
>>
>> Yeah, they're just GPL by default, but the lock code is not exported GPL
>> so there's no reason why lock_ops should be.
>>
>> J
>>
>>
>
> Use EXPORT_SYMBOL for pv_lock_ops to preserve the behavior between
> CONFIG_PARAVIRT set and unset.
> Currently we only used _GPL when the non paravirt symbols are GPL only too.
>
> Signed-off-by: Adel Gadllah <[email protected]>
>
> diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c
> index 94da4d5..300da17 100644
> --- a/arch/x86/kernel/paravirt.c
> +++ b/arch/x86/kernel/paravirt.c
> @@ -471,7 +471,7 @@ struct pv_lock_ops pv_lock_ops = {
> .spin_unlock = __ticket_spin_unlock,
> #endif
> };
> -EXPORT_SYMBOL_GPL(pv_lock_ops);
> +EXPORT_SYMBOL(pv_lock_ops);
>
> EXPORT_SYMBOL_GPL(pv_time_ops);
> EXPORT_SYMBOL (pv_cpu_ops);
>

Seems like Jeremy already sent a patch, ignore this one.