Re: [tip:x86/debug] x86/EFI: Properly init-annotate BGRT code

From: Jan Beulich
Date: Fri Jan 25 2013 - 02:45:30 EST


>>> On 24.01.13 at 23:28, Josh Triplett <josh@xxxxxxxxxxxxxxxx> wrote:
> On Thu, Jan 24, 2013 at 12:34:21PM -0800, tip-bot for Jan Beulich wrote:
>> Commit-ID: 13f0e4d2b9e2209f13d5a4122478eb79e6136870
>> Gitweb:
> http://git.kernel.org/tip/13f0e4d2b9e2209f13d5a4122478eb79e6136870
>> Author: Jan Beulich <JBeulich@xxxxxxxx>
>> AuthorDate: Fri, 23 Nov 2012 16:30:07 +0000
>> Committer: Ingo Molnar <mingo@xxxxxxxxxx>
>> CommitDate: Thu, 24 Jan 2013 17:12:18 +0100
>>
>> x86/EFI: Properly init-annotate BGRT code
>>
>> These items are only ever referenced from initialization code.
>
> Not true, and this patch will break the BGRT code. bgrt_init, which
> does indeed have an __init annotation, stores bgrt_image and
> bgrt_image_size into the .private and .size fields of a sysfs
> bin_attribute, which does *not* have an __initdata annotation, and which
> will get read whenever the user reads the corresponding sysfs attribute.

Copying init-only data into a sysfs structure is no problem at all
- that structure obviously is non-__initdata and hence can be
read at any time. It was a different thing if .private and/or .size
stored _pointers_ to one of the two variables in question.

Jan

--
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/