[Devel] [PATCH VZ10 1/5] ve/printk: fix va_copy usage in ve_vprintk()

Pavel Tikhomirov ptikhomirov at virtuozzo.com
Tue Oct 7 11:57:06 MSK 2025


This one should also be applied to VZ9, as it's a general fix.

On 10/7/25 16:50, Pavel Tikhomirov wrote:
> According to man va_start(3):
> 
>    Each invocation of va_copy() must be matched by a corresponding
>    invocation of va_end() in the same function.
> 
> So let's add it to our ve_vprintk() helper.
> 
> Fixes: ed230894fb5a6 ("ve/printk: Introduce ve_printk()")
> https://virtuozzo.atlassian.net/browse/VSTOR-106826
> Signed-off-by: Pavel Tikhomirov <ptikhomirov at virtuozzo.com>
> ---
>   kernel/printk/printk.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
> index 36e31d8627e23..b4c6b1f99eff0 100644
> --- a/kernel/printk/printk.c
> +++ b/kernel/printk/printk.c
> @@ -2532,6 +2532,7 @@ static asmlinkage int ve_vprintk(int dst, const char *fmt, va_list args)
>   		r = vprintk(fmt, args);
>   	if (!ve_is_super(get_exec_env()) && (dst & VE_LOG))
>   		r = __vprintk(fmt, args2);
> +	va_end(args2);
>   
>   	return r;
>   }

-- 
Best regards, Pavel Tikhomirov
Senior Software Developer, Virtuozzo.



More information about the Devel mailing list