forked from mirrors/linux
		
	workqueue.c: Increase workqueue name length
Currently we limit the size of the workqueue name to 24 characters due to
commit ecf6881ff3 ("workqueue: make workqueue->name[] fixed len")
Increase the size to 32 characters and print a warning in the event
the requested name is larger than the limit of 32 characters.
Signed-off-by: Audra Mitchell <audra@redhat.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
			
			
This commit is contained in:
		
							parent
							
								
									052d534373
								
							
						
					
					
						commit
						31c8900728
					
				
					 1 changed files with 6 additions and 2 deletions
				
			
		|  | @ -108,7 +108,7 @@ enum { | |||
| 	RESCUER_NICE_LEVEL	= MIN_NICE, | ||||
| 	HIGHPRI_NICE_LEVEL	= MIN_NICE, | ||||
| 
 | ||||
| 	WQ_NAME_LEN		= 24, | ||||
| 	WQ_NAME_LEN		= 32, | ||||
| }; | ||||
| 
 | ||||
| /*
 | ||||
|  | @ -4666,6 +4666,7 @@ struct workqueue_struct *alloc_workqueue(const char *fmt, | |||
| 	va_list args; | ||||
| 	struct workqueue_struct *wq; | ||||
| 	struct pool_workqueue *pwq; | ||||
| 	int len; | ||||
| 
 | ||||
| 	/*
 | ||||
| 	 * Unbound && max_active == 1 used to imply ordered, which is no longer | ||||
|  | @ -4692,9 +4693,12 @@ struct workqueue_struct *alloc_workqueue(const char *fmt, | |||
| 	} | ||||
| 
 | ||||
| 	va_start(args, max_active); | ||||
| 	vsnprintf(wq->name, sizeof(wq->name), fmt, args); | ||||
| 	len = vsnprintf(wq->name, sizeof(wq->name), fmt, args); | ||||
| 	va_end(args); | ||||
| 
 | ||||
| 	if (len >= WQ_NAME_LEN) | ||||
| 		pr_warn_once("workqueue: name exceeds WQ_NAME_LEN. Truncating to: %s\n", wq->name); | ||||
| 
 | ||||
| 	max_active = max_active ?: WQ_DFL_ACTIVE; | ||||
| 	max_active = wq_clamp_max_active(max_active, flags, wq->name); | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Audra Mitchell
						Audra Mitchell