Re: [RFC -v7 PATCH 5/7] export pid symbols needed for kvm_vcpu_on_spin

Peter Zijlstra
2011-01-31T11:50:46Z

On Wed, 2011-01-26 at 17:23 -0500, Rik van Riel wrote:
> Export the symbols required for a race-free kvm_vcpu_on_spin.

Avi, you asked for an example of why I hated KVM as a module :-)

> Signed-off-by: Rik van Riel <riel@redhat.com>
>
> diff --git a/kernel/fork.c b/kernel/fork.c
> index 3b159c5..adc8f47 100644
> --- a/kernel/fork.c
> +++ b/kernel/fork.c
> @@ -191,6 +191,7 @@ void __put_task_struct(struct task_struct *tsk)
> if (!profile_handoff_task(tsk))
> free_task(tsk);
> }
> +EXPORT_SYMBOL_GPL(__put_task_struct);
>
> /*
> * macro override instead of weak attribute alias, to workaround
> diff --git a/kernel/pid.c b/kernel/pid.c
> index 39b65b6..02f2212 100644
> --- a/kernel/pid.c
> +++ b/kernel/pid.c
> @@ -435,6 +435,7 @@ struct pid *get_task_pid(struct task_struct *task, enum pid_type type)
> rcu_read_unlock();
> return pid;
> }
> +EXPORT_SYMBOL_GPL(get_task_pid);
>
> struct task_struct *get_pid_task(struct pid *pid, enum pid_type type)
> {
> @@ -446,6 +447,7 @@ struct task_struct *get_pid_task(struct pid *pid, enum pid_type type)
> rcu_read_unlock();
> return result;
> }
> +EXPORT_SYMBOL_GPL(get_pid_task);
>
> struct pid *find_get_pid(pid_t nr)
> {