Re: [libvirt] [PATCH] virNetDevMacVLanVPortProfileRegisterCallback: Fix segfault

2012-04-25 Thread Stefan Berger
On 04/24/2012 12:05 PM, Michal Privoznik wrote: On 24.04.2012 17:52, Michal Privoznik wrote: Self NACK; It turned out to be race because it's still reproducible in some cases: if(virPortProfile) evaluates to true; however gdb still catches SIGSEGV in memcpy(). Meanwhile, something free()

[libvirt] [PATCH] virNetDevMacVLanVPortProfileRegisterCallback: Fix segfault

2012-04-24 Thread Michal Privoznik
Currently, we are calling memcpy(virtPortProfile, ...) unconditionally. Which means if virtPortProfile is NULL we SIGSEGV. Therefore, add check to call memcpy() conditionally. (gdb) bt #0 virNetDevMacVLanVPortProfileRegisterCallback (ifname=0x73f1ee60 macvtap0, macaddress=0x7fffe8096e34 RT,

Re: [libvirt] [PATCH] virNetDevMacVLanVPortProfileRegisterCallback: Fix segfault

2012-04-24 Thread Michal Privoznik
On 24.04.2012 17:52, Michal Privoznik wrote: Currently, we are calling memcpy(virtPortProfile, ...) unconditionally. Which means if virtPortProfile is NULL we SIGSEGV. Therefore, add check to call memcpy() conditionally. (gdb) bt #0 virNetDevMacVLanVPortProfileRegisterCallback

Re: [libvirt] [PATCH] virNetDevMacVLanVPortProfileRegisterCallback: Fix segfault

2012-04-24 Thread Daniel P. Berrange
On Tue, Apr 24, 2012 at 05:52:19PM +0200, Michal Privoznik wrote: Currently, we are calling memcpy(virtPortProfile, ...) unconditionally. Which means if virtPortProfile is NULL we SIGSEGV. Therefore, add check to call memcpy() conditionally. (gdb) bt #0

Re: [libvirt] [PATCH] virNetDevMacVLanVPortProfileRegisterCallback: Fix segfault

2012-04-24 Thread Laine Stump
On 04/24/2012 12:05 PM, Michal Privoznik wrote: On 24.04.2012 17:52, Michal Privoznik wrote: Currently, we are calling memcpy(virtPortProfile, ...) unconditionally. Actually, we're not - right at the top of the function it already has: if (virtPortProfile virNetLinkEventServiceIsRunning)

Re: [libvirt] [PATCH] virNetDevMacVLanVPortProfileRegisterCallback: Fix segfault

2012-04-24 Thread Stefan Berger
On 04/24/2012 12:05 PM, Michal Privoznik wrote: On 24.04.2012 17:52, Michal Privoznik wrote: Currently, we are calling memcpy(virtPortProfile, ...) unconditionally. Which means if virtPortProfile is NULL we SIGSEGV. Therefore, add check to call memcpy() conditionally. (gdb) bt #0