Messages in this thread | | | Date | Fri, 25 Jan 2013 07:45:42 +0000 | From | "Jan Beulich" <> | Subject | Re: [tip:x86/debug] x86/EFI: Properly init-annotate BGRT code |
| |
>>> On 24.01.13 at 23:28, Josh Triplett <josh@joshtriplett.org> 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@suse.com> >> AuthorDate: Fri, 23 Nov 2012 16:30:07 +0000 >> Committer: Ingo Molnar <mingo@kernel.org> >> 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
| |