forked from mirrors/linux
		
	Merge branch 'for-4.14-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
Pull workqueue fix from Tejun Heo: "Another fix for a really old bug. It only affects drain_workqueue() which isn't used often and even then triggers only during a pretty small race window, so it isn't too surprising that it stayed hidden for so long. The fix is straight-forward and low-risk. Kudos to Li Bin for reporting and fixing the bug" * 'for-4.14-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: workqueue: Fix NULL pointer dereference
This commit is contained in:
		
						commit
						e4880bc5df
					
				
					 1 changed files with 2 additions and 1 deletions
				
			
		| 
						 | 
					@ -10,6 +10,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <linux/workqueue.h>
 | 
					#include <linux/workqueue.h>
 | 
				
			||||||
#include <linux/kthread.h>
 | 
					#include <linux/kthread.h>
 | 
				
			||||||
 | 
					#include <linux/preempt.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct worker_pool;
 | 
					struct worker_pool;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -60,7 +61,7 @@ struct worker {
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
static inline struct worker *current_wq_worker(void)
 | 
					static inline struct worker *current_wq_worker(void)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	if (current->flags & PF_WQ_WORKER)
 | 
						if (in_task() && (current->flags & PF_WQ_WORKER))
 | 
				
			||||||
		return kthread_data(current);
 | 
							return kthread_data(current);
 | 
				
			||||||
	return NULL;
 | 
						return NULL;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue