Re: [PATCH 41/45] include/uapi/sound/emu10k1.h: hide gpr_valid, tram_valid and code_valid in userspace

From: Takashi Iwai
Date: Tue Feb 17 2015 - 01:28:29 EST


At Tue, 17 Feb 2015 00:05:44 +0100,
Mikko Rapeli wrote:
>
> The DECLARE_BITMAP macro is not available in userspace headers.
> Fixes userspace compile error:
> error: expected specifier-qualifier-list before âDECLARE_BITMAPâ

It's nonsense. This results in an incompatible structure, thus ABI
would be broken completely (actually this will break the compile of
ld10k1).


Takashi

>
> Signed-off-by: Mikko Rapeli <mikko.rapeli@xxxxxx>
> ---
> include/uapi/sound/emu10k1.h | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/include/uapi/sound/emu10k1.h b/include/uapi/sound/emu10k1.h
> index ec1535b..f2fd870 100644
> --- a/include/uapi/sound/emu10k1.h
> +++ b/include/uapi/sound/emu10k1.h
> @@ -300,7 +300,9 @@ struct snd_emu10k1_fx8010_control_old_gpr {
> struct snd_emu10k1_fx8010_code {
> char name[128];
>
> +#ifdef __KERNEL__
> DECLARE_BITMAP(gpr_valid, 0x200); /* bitmask of valid initializers */
> +#endif
> __u32 __user *gpr_map; /* initializers */
>
> unsigned int gpr_add_control_count; /* count of GPR controls to add/replace */
> @@ -313,11 +315,15 @@ struct snd_emu10k1_fx8010_code {
> unsigned int gpr_list_control_total; /* total count of GPR controls */
> struct snd_emu10k1_fx8010_control_gpr __user *gpr_list_controls; /* listed GPR controls */
>
> +#ifdef __KERNEL__
> DECLARE_BITMAP(tram_valid, 0x100); /* bitmask of valid initializers */
> +#endif
> __u32 __user *tram_data_map; /* data initializers */
> __u32 __user *tram_addr_map; /* map initializers */
>
> +#ifdef __KERNEL__
> DECLARE_BITMAP(code_valid, 1024); /* bitmask of valid instructions */
> +#endif
> __u32 __user *code; /* one instruction - 64 bits */
> };
>
> --
> 2.1.4
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/