Re: [Qemu-devel] [PULL 00/32] Misc patches for QEMU soft freeze

2016-06-29 Thread Paolo Bonzini


On 29/06/2016 11:42, Peter Maydell wrote:
> On 28 June 2016 at 18:33, Paolo Bonzini  wrote:
>> The following changes since commit 7dd929dfdc5c52ce79b21bf557ff506e89acbf63:
>>
>>   configure: Make AVX2 test robust to non-ELF systems (2016-06-28 15:40:40 
>> +0100)
>>
>> are available in the git repository at:
>>
>>   git://github.com/bonzini/qemu.git tags/for-upstream
>>
>> for you to fetch changes up to ea74c50f48100860ef4d27f4a1b2aa3f5cb9a766:
>>
>>   vl: smp_parse: fix regression (2016-06-28 19:19:29 +0200)
>>
>> 
>> * serial port fixes (Paolo)
>> * Q35 modeling improvements (Paolo, Vasily)
>> * chardev cleanup improvements (Marc-André)
>> * iscsi bugfix (Peter L.)
>> * cpu_exec patch from multi-arch patches (Peter C.)
>> * pci-assign tweak (Lin Ma)
> 
> This triggers a lot of errors from the clang ubsan:
> 
> /home/petmay01/linaro/qemu-for-merges/qemu-char.c:4043:5: runtime
> error: member access within misaligned address 0x101010101010101 for
> type 'CharDriverState' (aka 'struct CharDriverState'), which requires
> 8 byte alignment
> 0x101010101010101: note: pointer points here

Real bug, this should fix it:

diff --git a/qemu-char.c b/qemu-char.c
index 4aeafe8..33ddabf 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -4553,7 +4553,7 @@ static void qemu_chr_cleanup(void)
 {
 CharDriverState *chr;

-QTAILQ_FOREACH(chr, , next) {
+QTAILQ_FOREACH_SAFE(chr, , next) {
 qemu_chr_delete(chr);
 }
 }


Paolo

> 
> 
> (There was also a hang trying to run tests on 32-bit
> ARM, which might or might not be related. Don't have
> more details on that one, sorry.)
> 
> thanks
> -- PMM
> 
> 



Re: [Qemu-devel] [PULL 00/32] Misc patches for QEMU soft freeze

2016-06-29 Thread Peter Maydell
On 28 June 2016 at 18:33, Paolo Bonzini  wrote:
> The following changes since commit 7dd929dfdc5c52ce79b21bf557ff506e89acbf63:
>
>   configure: Make AVX2 test robust to non-ELF systems (2016-06-28 15:40:40 
> +0100)
>
> are available in the git repository at:
>
>   git://github.com/bonzini/qemu.git tags/for-upstream
>
> for you to fetch changes up to ea74c50f48100860ef4d27f4a1b2aa3f5cb9a766:
>
>   vl: smp_parse: fix regression (2016-06-28 19:19:29 +0200)
>
> 
> * serial port fixes (Paolo)
> * Q35 modeling improvements (Paolo, Vasily)
> * chardev cleanup improvements (Marc-André)
> * iscsi bugfix (Peter L.)
> * cpu_exec patch from multi-arch patches (Peter C.)
> * pci-assign tweak (Lin Ma)

This triggers a lot of errors from the clang ubsan:

/home/petmay01/linaro/qemu-for-merges/qemu-char.c:4043:5: runtime
error: member access within misaligned address 0x101010101010101 for
type 'CharDriverState' (aka 'struct CharDriverState'), which requires
8 byte alignment
0x101010101010101: note: pointer points here


(There was also a hang trying to run tests on 32-bit
ARM, which might or might not be related. Don't have
more details on that one, sorry.)

thanks
-- PMM