Good: (gdb) p *((virSecurityStackDataPtr)(((virQEMUDriverPtr)conn->privateData )->securityManager->privateData))->itemsHead->securityManager $7 = {parent = {parent = {parent_instance = {g_type_instance = {g_class = 0x7f430805ddf0}, ref_count = 1, qdata = 0x0}}, lock = {lock = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 512, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 17 times>, "\002", '\000' <repeats 21 times>, __align = 0}}}, drv = 0x7f435aadfae0 <virAppArmorSecurityDriver>, flags = 10, virtDriver = 0x7f43541e71b2 "QEMU", privateData = 0x0} (gdb) p *((virSecurityStackDataPtr)(((virQEMUDriverPtr)conn->privateData )->securityManager->privateData))->itemsHead->next->securityManager $8 = {parent = {parent = {parent_instance = {g_type_instance = {g_class = 0x7f430805ddf0}, ref_count = 1, qdata = 0x0}}, lock = {lock = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 512, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 17 times>, "\002", '\000' <repeats 21 times>, __align = 0}}}, drv = 0x7f435aadf7c0 <virSecurityDriverDAC>, flags = 10, virtDriver = 0x7f43541e71b2 "QEMU", privateData = 0x7f430807b180}
Bad: (gdb) p *((virSecurityStackDataPtr)(((virQEMUDriverPtr)conn->privateData )->securityManager->privateData))->itemsHead->securityManager $9 = {parent = {parent = {parent_instance = {g_type_instance = {g_class = 0x7f8b0c0259e0}, ref_count = 1, qdata = 0x0}}, lock = {lock = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 512, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 17 times>, "\002", '\000' <repeats 21 times>, __align = 0}}}, drv = 0x7f8b572d24c0 <virSecurityDriverNop>, flags = 8, virtDriver = 0x7f8b501d91b2 "QEMU", privateData = 0x0} (gdb) p *((virSecurityStackDataPtr)(((virQEMUDriverPtr)conn->privateData )->securityManager->privateData))->itemsHead->next->securityManager $10 = {parent = {parent = {parent_instance = {g_type_instance = {g_class = 0x7f8b0c0259e0}, ref_count = 1, qdata = 0x0}}, lock = {lock = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 512, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 17 times>, "\002", '\000' <repeats 21 times>, __align = 0}}}, drv = 0x7f8b572d27c0 <virSecurityDriverDAC>, flags = 10, virtDriver = 0x7f8b501d91b2 "QEMU", privateData = 0x7f8b0c07add0}
See virSecurityDriverNop vs virAppArmorSecurityDriver in the above output
Good: tackDataPtr) (((virQEMUDrive rPtr)conn- >privateData )->securityMana ger->privateDat a))->itemsHead- >securityManage r urityDriver> , flags = 10, virtDriver = 0x7f43541e71b2 "QEMU", privateData = 0x0} tackDataPtr) (((virQEMUDrive rPtr)conn- >privateData )->securityMana ger->privateDat a))->itemsHead- >next-> securityManager verDAC> , flags = 10, virtDriver = 0x7f43541e71b2 "QEMU", privateData = 0x7f430807b180}
(gdb) p *((virSecurityS
$7 = {parent = {parent = {parent_instance = {g_type_instance = {g_class = 0x7f430805ddf0}, ref_count = 1, qdata = 0x0}}, lock = {lock = {__data = {__lock = 0, __count = 0, __owner = 0,
__nusers = 0, __kind = 512, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 17 times>, "\002", '\000' <repeats 21 times>,
__align = 0}}}, drv = 0x7f435aadfae0 <virAppArmorSec
(gdb) p *((virSecurityS
$8 = {parent = {parent = {parent_instance = {g_type_instance = {g_class = 0x7f430805ddf0}, ref_count = 1, qdata = 0x0}}, lock = {lock = {__data = {__lock = 0, __count = 0, __owner = 0,
__nusers = 0, __kind = 512, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 17 times>, "\002", '\000' <repeats 21 times>,
__align = 0}}}, drv = 0x7f435aadf7c0 <virSecurityDri
Bad: tackDataPtr) (((virQEMUDrive rPtr)conn- >privateData )->securityMana ger->privateDat a))->itemsHead- >securityManage r verNop> , flags = 8, virtDriver = 0x7f8b501d91b2 "QEMU", privateData = 0x0} tackDataPtr) (((virQEMUDrive rPtr)conn- >privateData )->securityMana ger->privateDat a))->itemsHead- >next-> securityManager verDAC> , flags = 10, virtDriver = 0x7f8b501d91b2 "QEMU", privateData = 0x7f8b0c07add0}
(gdb) p *((virSecurityS
$9 = {parent = {parent = {parent_instance = {g_type_instance = {g_class = 0x7f8b0c0259e0}, ref_count = 1, qdata = 0x0}}, lock = {lock = {__data = {__lock = 0, __count = 0, __owner = 0,
__nusers = 0, __kind = 512, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 17 times>, "\002", '\000' <repeats 21 times>,
__align = 0}}}, drv = 0x7f8b572d24c0 <virSecurityDri
(gdb) p *((virSecurityS
$10 = {parent = {parent = {parent_instance = {g_type_instance = {g_class = 0x7f8b0c0259e0}, ref_count = 1, qdata = 0x0}}, lock = {lock = {__data = {__lock = 0, __count = 0, __owner = 0,
__nusers = 0, __kind = 512, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 17 times>, "\002", '\000' <repeats 21 times>,
__align = 0}}}, drv = 0x7f8b572d27c0 <virSecurityDri
See virSecurityDriv erNop vs virAppArmorSecu rityDriver in the above output