[CRIU] [PATCH 1/9] parasite: Make parasite arguments variable size

Cyrill Gorcunov gorcunov at openvz.org
Fri Mar 1 13:12:50 EST 2013


On Fri, Mar 01, 2013 at 10:03:21PM +0400, Pavel Emelyanov wrote:
> On 03/01/2013 09:14 PM, Cyrill Gorcunov wrote:
> > On Fri, Mar 01, 2013 at 08:02:20PM +0400, Pavel Emelyanov wrote:
> >> diff --git a/pie/pie.lds.S.in b/pie/pie.lds.S.in
> >> index 29fef54..7be2eda 100644
> >> --- a/pie/pie.lds.S.in
> >> +++ b/pie/pie.lds.S.in
> >> @@ -21,3 +21,5 @@ SECTIONS
> >>  		*(*)
> >>  	}
> >>  }
> >> +
> >> +__export_parasite_args = .;
> > 
> > This (potentially) may generate unaligned address (it won't
> 
> I'm not an expert on ld/gcc, but what I've seen so far in various
> code is that section ends on x64 were 64-bits aligned. But yet again,
> if I'm wrong, then we do need the . = ALIGN(...) line in there. Do we?

This might introduce a hole if sections for some reason are not
aligned (I never saw such sections on x86-64/32 to be fair but
knowing how buggy ld might be better to double check it :-).

That said, lets leave it as is for now, I'll try to simplify it
later, at moment we're safe but I revisit this code.


More information about the CRIU mailing list