Re: [Xen-devel] [PATCH] x86/xen/time: fix section mismatch for xen_init_time_ops()

2018-01-08 Thread Boris Ostrovsky
On 01/06/2018 03:35 PM, Nick Desaulniers wrote:
> On Tue, Jan 2, 2018 at 7:00 AM, Boris Ostrovsky
>  wrote:
>> On 01/02/2018 09:32 AM, Andrew Cooper wrote:
>>> On 02/01/18 14:24, Juergen Gross wrote:
 On 02/01/18 15:18, Boris Ostrovsky wrote:
> On 12/23/2017 09:50 PM, Nick Desaulniers wrote:
>> The header declares this function as __init but is defined in __ref
>> section.
>>
>> Signed-off-by: Nick Desaulniers 
> AFAIK section attributes in header files are ignored by compiler anyway
> so I'd remove all of them.
 Hmm, I'm not sure all future compilers will ignore the section
 attributes. include/linux/init.h explictily mentions where to put
 the attrubute in a prototype, so I'd rather keep it.
>>> Attributes in the declaration are for static analysis tools such as sparse.
>>>
>>> How else are you going to work out whether a section mismatch has occurred?
>> Isn't this done based on definitions?
>>
>> Tons of __init routines don't have the attribute specified in header
>> files. In fact, even in this file (arch/x86/xen/xen-ops.h) there are
>> some that don't have it.
>>
>> -boris
> What are the next steps for getting this patch merged? This is the
> only function for which I get a compiler warning (with Clang).  Do you
> require a patch instead that changes more function attributes, or can
> that be a follow up patch?

Applied to for-linus-4.15.

-boris


Re: [Xen-devel] [PATCH] x86/xen/time: fix section mismatch for xen_init_time_ops()

2018-01-06 Thread Nick Desaulniers
On Tue, Jan 2, 2018 at 7:00 AM, Boris Ostrovsky
 wrote:
> On 01/02/2018 09:32 AM, Andrew Cooper wrote:
>> On 02/01/18 14:24, Juergen Gross wrote:
>>> On 02/01/18 15:18, Boris Ostrovsky wrote:
 On 12/23/2017 09:50 PM, Nick Desaulniers wrote:
> The header declares this function as __init but is defined in __ref
> section.
>
> Signed-off-by: Nick Desaulniers 
 AFAIK section attributes in header files are ignored by compiler anyway
 so I'd remove all of them.
>>> Hmm, I'm not sure all future compilers will ignore the section
>>> attributes. include/linux/init.h explictily mentions where to put
>>> the attrubute in a prototype, so I'd rather keep it.
>> Attributes in the declaration are for static analysis tools such as sparse.
>>
>> How else are you going to work out whether a section mismatch has occurred?
>
> Isn't this done based on definitions?
>
> Tons of __init routines don't have the attribute specified in header
> files. In fact, even in this file (arch/x86/xen/xen-ops.h) there are
> some that don't have it.
>
> -boris

What are the next steps for getting this patch merged? This is the
only function for which I get a compiler warning (with Clang).  Do you
require a patch instead that changes more function attributes, or can
that be a follow up patch?


Re: [Xen-devel] [PATCH] x86/xen/time: fix section mismatch for xen_init_time_ops()

2018-01-02 Thread Boris Ostrovsky
On 01/02/2018 09:32 AM, Andrew Cooper wrote:
> On 02/01/18 14:24, Juergen Gross wrote:
>> On 02/01/18 15:18, Boris Ostrovsky wrote:
>>> On 12/23/2017 09:50 PM, Nick Desaulniers wrote:
 The header declares this function as __init but is defined in __ref
 section.

 Signed-off-by: Nick Desaulniers 
>>> AFAIK section attributes in header files are ignored by compiler anyway
>>> so I'd remove all of them.
>> Hmm, I'm not sure all future compilers will ignore the section
>> attributes. include/linux/init.h explictily mentions where to put
>> the attrubute in a prototype, so I'd rather keep it.
> Attributes in the declaration are for static analysis tools such as sparse.
>
> How else are you going to work out whether a section mismatch has occurred?

Isn't this done based on definitions?

Tons of __init routines don't have the attribute specified in header
files. In fact, even in this file (arch/x86/xen/xen-ops.h) there are
some that don't have it.

-boris


Re: [Xen-devel] [PATCH] x86/xen/time: fix section mismatch for xen_init_time_ops()

2018-01-02 Thread Andrew Cooper
On 02/01/18 14:24, Juergen Gross wrote:
> On 02/01/18 15:18, Boris Ostrovsky wrote:
>> On 12/23/2017 09:50 PM, Nick Desaulniers wrote:
>>> The header declares this function as __init but is defined in __ref
>>> section.
>>>
>>> Signed-off-by: Nick Desaulniers 
>> AFAIK section attributes in header files are ignored by compiler anyway
>> so I'd remove all of them.
> Hmm, I'm not sure all future compilers will ignore the section
> attributes. include/linux/init.h explictily mentions where to put
> the attrubute in a prototype, so I'd rather keep it.

Attributes in the declaration are for static analysis tools such as sparse.

How else are you going to work out whether a section mismatch has occurred?

~Andrew