livepatch: Replace synchronize_sched() with synchronize_rcu()
authorPaul E. McKenney <paulmck@linux.ibm.com>
Wed, 7 Nov 2018 22:16:57 +0000 (14:16 -0800)
committerPaul E. McKenney <paulmck@linux.ibm.com>
Sat, 1 Dec 2018 20:38:50 +0000 (12:38 -0800)
Now that synchronize_rcu() waits for preempt-disable regions of code
as well as RCU read-side critical sections, synchronize_sched() can be
replaced by synchronize_rcu().  This commit therefore makes this change,
even though it is but a comment.

Signed-off-by: Paul E. McKenney <paulmck@linux.ibm.com>
kernel/livepatch/patch.c
kernel/livepatch/transition.c

index 82d5842..7702cb4 100644 (file)
@@ -61,7 +61,7 @@ static void notrace klp_ftrace_handler(unsigned long ip,
        ops = container_of(fops, struct klp_ops, fops);
 
        /*
        ops = container_of(fops, struct klp_ops, fops);
 
        /*
-        * A variant of synchronize_sched() is used to allow patching functions
+        * A variant of synchronize_rcu() is used to allow patching functions
         * where RCU is not watching, see klp_synchronize_transition().
         */
        preempt_disable_notrace();
         * where RCU is not watching, see klp_synchronize_transition().
         */
        preempt_disable_notrace();
@@ -72,7 +72,7 @@ static void notrace klp_ftrace_handler(unsigned long ip,
        /*
         * func should never be NULL because preemption should be disabled here
         * and unregister_ftrace_function() does the equivalent of a
        /*
         * func should never be NULL because preemption should be disabled here
         * and unregister_ftrace_function() does the equivalent of a
-        * synchronize_sched() before the func_stack removal.
+        * synchronize_rcu() before the func_stack removal.
         */
        if (WARN_ON_ONCE(!func))
                goto unlock;
         */
        if (WARN_ON_ONCE(!func))
                goto unlock;
index 5bc3498..304d5eb 100644 (file)
@@ -52,7 +52,7 @@ static DECLARE_DELAYED_WORK(klp_transition_work, klp_transition_work_fn);
 
 /*
  * This function is just a stub to implement a hard force
 
 /*
  * This function is just a stub to implement a hard force
- * of synchronize_sched(). This requires synchronizing
+ * of synchronize_rcu(). This requires synchronizing
  * tasks even in userspace and idle.
  */
 static void klp_sync(struct work_struct *work)
  * tasks even in userspace and idle.
  */
 static void klp_sync(struct work_struct *work)
@@ -175,7 +175,7 @@ void klp_cancel_transition(void)
 void klp_update_patch_state(struct task_struct *task)
 {
        /*
 void klp_update_patch_state(struct task_struct *task)
 {
        /*
-        * A variant of synchronize_sched() is used to allow patching functions
+        * A variant of synchronize_rcu() is used to allow patching functions
         * where RCU is not watching, see klp_synchronize_transition().
         */
        preempt_disable_notrace();
         * where RCU is not watching, see klp_synchronize_transition().
         */
        preempt_disable_notrace();