Linux 4.9 RT stable has a merge conflict

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

 



Julia

The latest 4.9 stable dot release has a conflict on the following files

	both modified:   arch/x86/include/asm/thread_info.h
	both modified:   kernel/time/posix-timers.c
	both modified:   kernel/workqueue.c

Attached is the output file from the conflict

Can you please resolve this conflict and update the 4.9 rt stable branch?

Dan
-- 
------------------
Dan Murphy
diff --cc arch/x86/include/asm/thread_info.h
index 455c25192bc2,89978b9c667a..000000000000
--- a/arch/x86/include/asm/thread_info.h
+++ b/arch/x86/include/asm/thread_info.h
@@@ -54,8 -54,7 +54,12 @@@ struct task_struct
  
  struct thread_info {
  	unsigned long		flags;		/* low level flags */
++<<<<<<< HEAD
 +	int                     preempt_lazy_count;     /* 0 => lazy preemptable
 +							   <0 => BUG */
++=======
+ 	u32			status;		/* thread synchronous flags */
++>>>>>>> 61f845756cc1eabeb9f05430d100f89aa5bd8cd4
  };
  
  #define INIT_THREAD_INFO(tsk)			\
diff --cc kernel/time/posix-timers.c
index 464a98155a0e,fc7c37ad90a0..000000000000
--- a/kernel/time/posix-timers.c
+++ b/kernel/time/posix-timers.c
@@@ -506,20 -506,23 +506,34 @@@ static enum hrtimer_restart posix_timer
  static struct pid *good_sigevent(sigevent_t * event)
  {
  	struct task_struct *rtn = current->group_leader;
 +	int sig = event->sigev_signo;
  
- 	if ((event->sigev_notify & SIGEV_THREAD_ID ) &&
- 		(!(rtn = find_task_by_vpid(event->sigev_notify_thread_id)) ||
- 		 !same_thread_group(rtn, current) ||
- 		 (event->sigev_notify & ~SIGEV_THREAD_ID) != SIGEV_SIGNAL))
+ 	switch (event->sigev_notify) {
+ 	case SIGEV_SIGNAL | SIGEV_THREAD_ID:
+ 		rtn = find_task_by_vpid(event->sigev_notify_thread_id);
+ 		if (!rtn || !same_thread_group(rtn, current))
+ 			return NULL;
+ 		/* FALLTHRU */
+ 	case SIGEV_SIGNAL:
+ 	case SIGEV_THREAD:
+ 		if (event->sigev_signo <= 0 || event->sigev_signo > SIGRTMAX)
+ 			return NULL;
+ 		/* FALLTHRU */
+ 	case SIGEV_NONE:
+ 		return task_pid(rtn);
+ 	default:
  		return NULL;
++<<<<<<< HEAD
 +
 +	if (((event->sigev_notify & ~SIGEV_THREAD_ID) != SIGEV_NONE) &&
 +	    (sig <= 0 || sig > SIGRTMAX || sig_kernel_only(sig) ||
 +	     sig_kernel_coredump(sig)))
 +		return NULL;
 +
 +	return task_pid(rtn);
++=======
+ 	}
++>>>>>>> 61f845756cc1eabeb9f05430d100f89aa5bd8cd4
  }
  
  void posix_timers_register_clock(const clockid_t clock_id,
diff --cc kernel/workqueue.c
index 7eed129f114a,ebfea5f94b66..000000000000
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@@ -48,8 -48,7 +48,12 @@@
  #include <linux/nodemask.h>
  #include <linux/moduleparam.h>
  #include <linux/uaccess.h>
++<<<<<<< HEAD
 +#include <linux/locallock.h>
 +#include <linux/delay.h>
++=======
+ #include <linux/nmi.h>
++>>>>>>> 61f845756cc1eabeb9f05430d100f89aa5bd8cd4
  
  #include "workqueue_internal.h"
  
@@@ -4492,9 -4458,15 +4502,15 @@@ void show_workqueue_state(void
  		pr_cont("\n");
  	next_pool:
  		spin_unlock_irqrestore(&pool->lock, flags);
+ 		/*
+ 		 * We could be printing a lot from atomic context, e.g.
+ 		 * sysrq-t -> show_workqueue_state(). Avoid triggering
+ 		 * hard lockup.
+ 		 */
+ 		touch_nmi_watchdog();
  	}
  
 -	rcu_read_unlock_sched();
 +	rcu_read_unlock();
  }
  
  /*

[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux