Do anyone here have the experience with 64bits compiled Samba on SPARC?

Jiri Sasek - Solaris Prague jiri.sasek at oracle.com
Mon Nov 30 14:40:10 UTC 2015


Hi Ralph,
Could it be possible to commit your patch but slightly modified to do 
not chase memcpy() on platforms which do not throw SIGBUS on unaligned 
pointer into Samba upstream?
...I am attaching my proposed patch I have tested (on sparcv9 and amd64) 
and integrated into Solaris 12 (development) release.
Thank you,
Jiri

On 11/26/15 11:21, Ralph Boehme wrote:
> Hi,
>
> On Thu, Nov 26, 2015 at 06:20:40AM +0100, Jiri Sasek - Solaris Prague wrote:
>> Hi geeks,
>>
>> I have built 64bits Samba and winbindd is receiving the SIGBUS(*)
>>
>> ...on:
>>
>> libsmbconf.so.0`talloc_dict_traverse_fn+0xf0:   ldx [%l2], %l3
>>
>>
>> where l2 is equal to 2b50c7275c as can be seen from stackregs trace:
>> ...
>> fffffdfa7f4001a1
>> libsmbconf.so.0`talloc_dict_traverse_fn+0xf0(fffffdfa7f400be0,
>> fffffdfa7f401190, fffffdfa7f400bf8, fffffdfa7f400bd8, 1, fffffdfa7f400c20)
>>    %l0-%l3:    7ffc619014800               44 2b50c7275c               44
>>    %l4-%l7:       2b50c72718               44 2b50c72718               44
>>    libdbwrap.so`db_rbt_traverse_internal+0x198:jmpl %l3, %o7
>> ...
>>
>> and:
>>> 2b50c7275c,10::dump
>>                0 1 2 3  4 5 6 7  8 9 a b \/ d e f 0123456789abvdef
>> 2b50c72750:  00000000 00000000 00000000 0000002b ...............+
>> 2b50c72760:  50c73170 000a8750 0000002b 50c72500 P.1p...P...+P.%.
>>
>> So I suppose the problem is the 0x2b50c7275c address is not the 64bits
>> alligned.
>>
>> I have also localized the problem is (with some [RISC optimized code]
>> uncertainty :-) ) in samba-4.1.17/source3/lib/talloc_dict.c
>> (talloc_dict_traverse_fn) line:
>>
>> 148	return state->fn(data_blob_const(key.dptr, key.dsize),
>> 149			 *(void **)value.dptr, state->private_data);
>>
>> 3-rd parameter eveluation:
>>
>> state->private_data  ...dereferencing.
> I don't think it's state->private_date, I guess it's value.dptr. Can
> you please test attached patch?
>
> -Ralph
>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: talloc_dict_sigbus.patch
Type: text/x-diff
Size: 1403 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20151130/ebb0907a/talloc_dict_sigbus.diff>


More information about the samba-technical mailing list