[lttng-dev] [PATCH] FIX: Align buffers on 4 bytes for 64bit access

Jérémie Galarneau jeremie.galarneau at efficios.com
Fri May 16 11:47:22 EDT 2014


On Thu, May 15, 2014 at 9:29 PM, Rongqing Li <rongqing.li at windriver.com> wrote:
>
>
> On 05/16/2014 03:36 AM, Jérémie Galarneau wrote:
>>
>> On Thu, May 15, 2014 at 4:57 AM,  <rongqing.li at windriver.com> wrote:
>>>
>>> From: Fredrik Markström <fredrik.markstrom at gmail.com>
>>>
>>> Signed-off-by: Fredrik Markstr枚m <fredrik.markstrom at gmail.com>
>>> ---
>>>   formats/ctf/metadata/objstack.c |    2 ++
>>>   1 file changed, 2 insertions(+)
>>>
>>> diff --git a/formats/ctf/metadata/objstack.c
>>> b/formats/ctf/metadata/objstack.c
>>> index 9e264a4..9643b9b 100644
>>> --- a/formats/ctf/metadata/objstack.c
>>> +++ b/formats/ctf/metadata/objstack.c
>>> @@ -118,6 +118,8 @@ void *objstack_alloc(struct objstack *objstack,
>>> size_t len)
>>>          struct objstack_node *last_node;
>>>          void *p;
>>>
>>> +       len = (len + 3) & ~3;
>>
>>
>> Please use the "ALIGN" macro defined in include/babeltrace/align.h.
>> len = ALIGN(len, sizeof(unsigned long))
>>
>
>
> Hi Galarneau:
>
> I think it is more explicit to make the address,which is allocated
> by objstack_alloc, to align the sizeof(void*), not sizeof(long);
> though the size of void* and long are same.
>
> do you agree?
>

Agreed.

Jérémie

>
> -Roy
>
>
>> Also, the "data" member in struct objstack_node should be aligned.
>>
>> struct objstack_node {
>>    struct bt_list_head node;
>>    size_t len;
>>    size_t used_len;
>>    char __attribute__ ((aligned (sizeof(unsigned long)))) data[];
>> };
>>
>> Thanks for bringing the problem to our attention! I'll wait for a v2.
>>
>> Regards,
>> Jérémie
>>
>>> +
>>>          /* Get last node */
>>>          last_node = bt_list_entry(objstack->head.prev,
>>>                          struct objstack_node, node);
>>> --
>>> 1.7.10.4
>>>
>>>
>>> _______________________________________________
>>> lttng-dev mailing list
>>> lttng-dev at lists.lttng.org
>>> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
>>
>>
>>
>>
>
> --
> Best Reagrds,
> Roy | RongQing Li



-- 
Jérémie Galarneau
EfficiOS Inc.
http://www.efficios.com



More information about the lttng-dev mailing list