[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH LIVEPATCH-BUILD-TOOLS] Fix patch creation with GCC 6.1+



On 25/11/16 17:16, Ross Lagerwall wrote:
> On 11/25/2016 05:05 PM, Andrew Cooper wrote:
>> On 25/11/16 16:59, M A Young wrote:
>>> On Thu, 24 Nov 2016, Ross Lagerwall wrote:
>>>
>>>> GCC 6.1+ fixed https://gcc.gnu.org/bugzilla/show_bug.cgi?id=192 which
>>>> means that .rodata.str* sections are now split by function.  We could
>>>> probably be smarter about including just the sections we need, but for
>>>> now, include all .rodata.str* sections as is done for previous
>>>> versions
>>>> of GCC.
>>>>
>>>> This manifests itself as symbol error. E.g.:
>>>> (XEN)  Unknown symbol: .LC0
>>> There may be a problem with this patch. I built livepatch-build-tools
>>> (from the xenbits git repo) with this and the other patch posted
>>> yesterday
>>> and successfully built and applied xsa191 to xsa193 (cumulatively) to
>>> xen-4.8.0-rc6, but the computer freezes if I try to apply xsa194
>>> (cumulatively or on its own). This was the only patch I tried which got
>>> the Unknown symbol: .LC3 message ie.
>>> (XEN) livepatch_elf.c:295: livepatch: xsa194: Unknown symbol: .LC3
>>> so this may be related to the crash.
>>
>> XSA-194 is a toolstack patch.  It isn't applicable to livepatch.
>>
>> There is one copy of the vulnerable code in Xen, but it is only used to
>> construct dom0 and discarded along with all the other __init code.
>>
>> Such a livepatch should be rejected by Xen...
>>
>
> elf_init() is not marked __init, so it is included in the live patch.

Well that's unfortunate, as it does genuinely live in .init.  The
entirety of libelf is objcpy'd

libelf.o: libelf-temp.o Makefile
        $(OBJCOPY) $(foreach s,$(SECTIONS),--rename-section
.$(s)=.init.$(s)) $< $@

~Andrew



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.