workqueue: Don't call va_start / va_end twice
authorMatthew Brost <matthew.brost@intel.com>
Tue, 20 Aug 2024 19:38:08 +0000 (12:38 -0700)
committerTejun Heo <tj@kernel.org>
Tue, 20 Aug 2024 19:38:39 +0000 (09:38 -1000)
commit9b59a85a84dc37ca4f2c54df5e06aff4c1eae5d3
tree9496451c0f49e63b8fdb2e41fad0adab9368be48
parent8dffaec34dd55473adcbc924a4c9b04aaa0d4278
workqueue: Don't call va_start / va_end twice

Calling va_start / va_end multiple times is undefined and causes
problems with certain compiler / platforms.

Change alloc_ordered_workqueue_lockdep_map to a macro and updated
__alloc_workqueue to take a va_list argument.

Cc: Sergey Senozhatsky <senozhatsky@chromium.org>
Cc: Tejun Heo <tj@kernel.org>
Cc: Lai Jiangshan <jiangshanlai@gmail.com>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
include/linux/workqueue.h
kernel/workqueue.c