Re: [PATCH v2 1/3] bcm-vk: add bcm_vk UAPI

From: Florian Fainelli
Date: Thu Aug 20 2020 - 16:57:50 EST


On 8/20/20 1:55 PM, Kees Cook wrote:
> On Thu, Aug 20, 2020 at 09:37:46AM -0700, Scott Branden wrote:
>> On 2020-08-19 12:00 a.m., Greg Kroah-Hartman wrote:
>>> On Tue, Aug 18, 2020 at 05:35:04PM -0700, Scott Branden wrote:
>>>>
>>>> On 2020-08-18 10:44 a.m., Greg Kroah-Hartman wrote:
>>>>> On Tue, Aug 18, 2020 at 10:23:42AM -0700, Scott Branden wrote:
>>>>>>>> +#define VK_FWSTS_RELOCATION_ENTRY BIT(0)
>>>>>>> <snip>
>>>>>>>
>>>>>>> I thought BIT() was not allowed in uapi .h files, this really works
>>>>>>> properly???
>>>>>> I did some investigation and it looks like a few other header files in include/uapi also use the BIT() macro:
>>>>>> include/uapi/misc/uacce/uacce.h
>>>>>> include/uapi/linux/psci.h
>>>>>> include/uapi/linux/v4l2-subdev.h
>>>>> Does the header install test target now fail for these?
>>>> I do not understand the question above.  make headers_install works.
>>>> But I guess the above headers would have similar issue with the BIT macro.
>>> Try enabling CONFIG_UAPI_HEADER_TEST and see what happens :)
>> I enabled CONFIG_UAPI_HEADER_TEST and then
>> built using "make" and "make headers_install".
>>
>> There didn't appear to be any issue with the BIT macro in the headers.
>
> FWIW, other subsystems have not been so lucky:
>
> https://git.kernel.org/linus/23b2c96fad21886c53f5e1a4ffedd45ddd2e85ba
>
> It may just be better to avoid BIT(), even if it works "by accident"(?)
> for some header combinations...

Since we ship a copy of unifdef.c in tree, we could certainly teach it
to undo the BIT() definition and replace it with an appropriate constant
definition.
--
Florian