Re: [PATCH] x86/entry/ia32: Ensure s32 is sign extended to s64

From: Florian Weimer
Date: Mon Sep 27 2021 - 14:51:37 EST


* Richard Palethorpe:

> +#define __SC_COMPAT_CAST(t, a) \
> + (__typeof(__builtin_choose_expr(__TYPE_IS_L(t), 0, 0U))) \
> + (unsigned int)a

So this casts to int (triggering sign extension) if the type on the
64-bit kernel side is long? But not in other cases (unsigned long,
pointer)? Just double-checking.

Thanks,
Florian