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

Re: [Xen-devel] Ping: [PATCH v2] build: provide option to disambiguate symbol names


  • To: George Dunlap <George.Dunlap@xxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>
  • From: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
  • Date: Thu, 28 Nov 2019 13:10:05 +0000
  • Authentication-results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=andrew.cooper3@xxxxxxxxxx; spf=Pass smtp.mailfrom=Andrew.Cooper3@xxxxxxxxxx; spf=None smtp.helo=postmaster@xxxxxxxxxxxxxxx
  • Autocrypt: addr=andrew.cooper3@xxxxxxxxxx; prefer-encrypt=mutual; keydata= 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 6+ahAA==
  • Cc: Juergen Gross <jgross@xxxxxxxx>, StefanoStabellini <sstabellini@xxxxxxxxxx>, WeiLiu <wl@xxxxxxx>, KonradWilk <konrad.wilk@xxxxxxxxxx>, Julien Grall <julien.grall@xxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Ian Jackson <Ian.Jackson@xxxxxxxxxx>, Roger Pau Monne <roger.pau@xxxxxxxxxx>
  • Delivery-date: Thu, 28 Nov 2019 13:10:15 +0000
  • Ironport-sdr: 7ZJVxPh80TJqYyMVS8cvHv4wMePLnO44tQ5AzdidzGA3dcRM1ZbNYu9DYgbqaqtyTMujSksx+g NX2iLpTluE8mL56Y3JpOOQcOcAaHPqb1HX+tJb8qiUakO4jW5YmLZUKGxo5BxBP/CXqwJKSDBN cCuTzdFDn2yUAozhMO+fdrFFHTe8AoVG2i5bIiTc/klxYBrutfe36vZV39QUHf2xwrr0AwDAI4 JsgC0ZBro43WcRyYrDvEhsIT39ND6rNjMMFZ5IeRWDnG/fV28MPA43v0B8kfN3vN40ZEqSmhns Ll8=
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Openpgp: preference=signencrypt

On 28/11/2019 10:17, George Dunlap wrote:
>> On Nov 28, 2019, at 9:55 AM, Jan Beulich <jbeulich@xxxxxxxx> wrote:
>>>>> Has anyone actually tried building a livepatch with this change in place?
>>>> Actually - what is your concern here? The exact spelling of symbols
>>>> names should be of no interest to the tool. After all the compiler is
>>>> free to invent all sorts of names for its local symbols, including
>>>> the ones we would produce with this change in place. All the tool
>>>> cares about is that the names be unambiguous. Hence any (theoretical)
>>>> regression here would be a bug in the tools, which imo is no reason
>>>> to delay this change any further. (Granted I should have got to it
>>>> earlier, but it had been continuing to get deferred.)
>>> This might all be true (theoretically).
>>>
>>> The livepatch build tools are fragile and very sensitive to how the
>>> object files are laid out.  There is a very real risk that this change
>>> accidentally breaks livepatching totally, even on GCC builds.
>>>
>>> Were this to happen, it would be yet another 4.13 regression.
>> It's perhaps a matter of perception, but I'd still call this a
>> live patching tools bug then, not a 4.13 regression.
> After the discussion yesterday, I was thinking a bit more about this, and I’m 
> not happy with the principle Andy seems to be operating on,

I'm sorry that you feel that way.

> that it’s reasonable to completely block a bug-fixing patch to Xen, forcing a 
> work-around to be used in a release, because it has unknown effects on 
> livepatching.

This is not a fair characterisation of what is going on here.  Ignore
the specifics of this patch - they are not relevant to my objection.

As a maintainer, it is my responsibility to ensure that crap doesn't get
committed.

As a consequence, it is up to me to judge whether I believe that the
submitter of a patch has provided adequate thought/testing to what they
are changing.  Mostly this is judged on comments provided (or usually,
their absence), weighed up against the risk of what it might be likely
to break.

In the case that I don't believe adequate through/testing/etc has been
done, I'm not going to ack the patch.  I'd be failing as a maintainer if
I did.

Ergo, I am not inclined to change my position.


In this case, all I asked was "has anyone done a livepatch build?"

I'd be entirely happy with a reply of "yes [I or someone else did] and
it seems ok".

I'd even be happy with "There does seem to be an issue with
livepatching, but I've engaged the relevant people in this other thread".

What I'm not happy with is "I haven't even done a single build to see
whether it might have problems", and what is definitely not acceptable
is, and I quote:

> And I do not consider it my responsibility to
> do regression tests of the live patching tools.

Yes.  Yes it really is, when you're making a material change
specifically to this area, with a high chance of adverse impact.

I don't expect you necessarily to fix the issue, but I do expect you to
have some idea of whether you're trading one 4.13 blocker for a
different one.

>>  If they're so
>> extremely fragile, then I think this needs urgently taking care of
>> by their maintainers. As mentioned before - how exactly static
>> symbols get represented is up to the compiler, i.e. may change at
>> any time. As a result, any change whatsoever would need such
>> regression testing, no matter that I agree that a larger scope
>> change like this one has slightly higher potential of triggering
>> some issue.
> This is another argument I would agree with.
>
> Given the closeness to the release, I’d favor checking in the patch today or 
> tomorrow, regardless of testing status, so that it can get more testing in 
> our automated systems; it can always be reverted if it is shown to break 
> livepatching on gcc.

Oh, and shocker in what is apparently a surprise to everyone but me...

Sergey went and did the work Jan believed to be "not his
responsibility", and yes - this really does break livepatching.

Do I expect Jan to fix it?  No, but I do expect a discussion and an
understanding of the issue before this patch gets anywhere near staging.

~Andrew, quite irritated at the total lack of due diligence being
demonstrated here.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

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