{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":567403769,"defaultBranch":"master","name":"libvirt","ownerLogin":"openSUSE","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-11-17T18:05:24.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/623819?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1714641347.0","currentOid":""},"activityList":{"items":[{"before":"afbd1bb89e5ad44b6c9d25fe22ef901f2ec583ca","after":"3b3efef58dc4bf6c07a73862c280e30f2023054d","ref":"refs/heads/master","pushedAt":"2024-05-23T20:50:20.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"virt-bugs","name":"Virt Bugs","path":"/virt-bugs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/118553198?s=80&v=4"},"commit":{"message":"NEWS: Mention migration/save bug on root_squash NFS\n\nSigned-off-by: Peter Krempa \nReviewed-by: Jiri Denemark ","shortMessageHtmlLink":"NEWS: Mention migration/save bug on root_squash NFS"}},{"before":"66b052263d6ff046c60f4fce263e07c0d9bdd059","after":"afbd1bb89e5ad44b6c9d25fe22ef901f2ec583ca","ref":"refs/heads/master","pushedAt":"2024-05-23T04:55:16.000Z","pushType":"push","commitsCount":30,"pusher":{"login":"virt-bugs","name":"Virt Bugs","path":"/virt-bugs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/118553198?s=80&v=4"},"commit":{"message":"network: eliminate pointless host input/output rules from nftables backend\n\nThe iptables backend (which was used as the model for the nftables\nbackend) used the same \"filter\" and \"nat\" tables used by other\nservices on the system (e.g. firewalld or any other host firewall\nmanagement application), so it was possible that one of those other\nservices would be blocking DNS, DHCP, or TFTP from guests to the host;\nwe added our own rules at the beginning of the chain to allow this\ntraffic no matter if someone else rejected it later.\n\nBut with nftables, each service uses their own table, and all traffic\nmust be acepted by all tables no matter what - it's not possible for\nus to just insert a higher priority/earlier rule that will override\nsome reject rule put in by, e.g., firewalld. Instead the firewalld (or\nother) table must be setup by that service to allow the traffic. That,\nalong with the fact that our table is already \"accept by default\",\nmakes it possible to eliminate the individual accept rules for DHCP,\nDNS, and TFTP. And once those rules are eliminated, there is no longer\nany need for the guest_to_host or host_to_guest tables.\n\nSigned-off-by: Laine Stump \nReviewed-by: Daniel P. Berrangé ","shortMessageHtmlLink":"network: eliminate pointless host input/output rules from nftables ba…"}},{"before":"7dda4a03ac77bbe14b12b7b8f3a509a0e09f3129","after":"66b052263d6ff046c60f4fce263e07c0d9bdd059","ref":"refs/heads/master","pushedAt":"2024-05-22T11:55:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"virt-bugs","name":"Virt Bugs","path":"/virt-bugs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/118553198?s=80&v=4"},"commit":{"message":"src: Fix return types of .stateInitialize callbacks\n\nThe virStateDriver struct has .stateInitialize callback which is\ndeclared to return virDrvStateInitResult enum. But some drivers\nreturn a plain int in their implementation which is UB.\n\nSigned-off-by: Michal Privoznik \nReviewed-by: Daniel P. Berrangé ","shortMessageHtmlLink":"src: Fix return types of .stateInitialize callbacks"}},{"before":"7c8e606b64c73ca56d7134cb16d01257f39c53ef","after":"7dda4a03ac77bbe14b12b7b8f3a509a0e09f3129","ref":"refs/heads/master","pushedAt":"2024-05-21T10:25:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"virt-bugs","name":"Virt Bugs","path":"/virt-bugs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/118553198?s=80&v=4"},"commit":{"message":"docs: Fix broken links\n\nFor the links of drvinterface, drvnetwork, drvnwfilter, and Nagios-virt,\nthere are no alternative docs. Just remove them directly.\n\nSigned-off-by: Han Han \nSigned-off-by: Michal Privoznik \nReviewed-by: Michal Privoznik ","shortMessageHtmlLink":"docs: Fix broken links"}},{"before":"615af05e067aa059feab162894ba1f85a1f6c704","after":"7c8e606b64c73ca56d7134cb16d01257f39c53ef","ref":"refs/heads/master","pushedAt":"2024-05-20T17:50:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"virt-bugs","name":"Virt Bugs","path":"/virt-bugs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/118553198?s=80&v=4"},"commit":{"message":"qemu: fix qemu command for pci hostdevs and ramfb='off'\n\nThere was no test for this and we mistakenly used 'B' rather than 'T'\nwhen constructing the json value for this parameter. Thus, a value of\n'off' was VIR_TRISTATE_SWITCH_OFF=2, which was translated to a boolean\nvalue of 'true'.\n\nSigned-off-by: Jonathon Jongsma \nReviewed-by: Peter Krempa ","shortMessageHtmlLink":"qemu: fix qemu command for pci hostdevs and ramfb='off'"}},{"before":"34f52aec286af47066484e8a96ecba0ef8e79451","after":"615af05e067aa059feab162894ba1f85a1f6c704","ref":"refs/heads/master","pushedAt":"2024-05-20T08:15:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"virt-bugs","name":"Virt Bugs","path":"/virt-bugs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/118553198?s=80&v=4"},"commit":{"message":"Translated using Weblate (Swedish)\n\nCurrently translated at 71.2% (7423 of 10423 strings)\n\nTranslation: libvirt/libvirt\nTranslate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/sv/\n\nCo-authored-by: Göran Uddeborg \nSigned-off-by: Göran Uddeborg ","shortMessageHtmlLink":"Translated using Weblate (Swedish)"}},{"before":"94108cdd59864a5f267a11e3324e603ad6f60323","after":"34f52aec286af47066484e8a96ecba0ef8e79451","ref":"refs/heads/master","pushedAt":"2024-05-16T13:10:48.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"virt-bugs","name":"Virt Bugs","path":"/virt-bugs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/118553198?s=80&v=4"},"commit":{"message":"qemuhotplugtest: Add testcases for hotplugging evdev input devices\n\nThis patch adds testcases to exercise hotplugging/hotunplugging\nevdev input devices.\n\nSigned-off-by: Rayhan Faizel \nReviewed-by: Michal Privoznik ","shortMessageHtmlLink":"qemuhotplugtest: Add testcases for hotplugging evdev input devices"}},{"before":"0fea7a103a57d3599e9841924c2678b7a7b0f794","after":"94108cdd59864a5f267a11e3324e603ad6f60323","ref":"refs/heads/master","pushedAt":"2024-05-16T11:25:46.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"virt-bugs","name":"Virt Bugs","path":"/virt-bugs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/118553198?s=80&v=4"},"commit":{"message":"rpm: Drop with_ssh_proxy define\n\nAs a general rule, we use defines for features that can only be\nenabled on a subset of the platforms that we target, and we\ndon't offer fine-grained control over every single possible\nmeson configuration knob at the RPM level.\n\nIn the case of ssh-proxy, we are enabling it everywhere already,\nso having a define for it is unnecessary.\n\nSigned-off-by: Andrea Bolognani \nReviewed-by: Daniel P. Berrangé ","shortMessageHtmlLink":"rpm: Drop with_ssh_proxy define"}},{"before":"8b133e82fc62188b04dcdb2ddfc5589a48222a2c","after":"0fea7a103a57d3599e9841924c2678b7a7b0f794","ref":"refs/heads/master","pushedAt":"2024-05-16T07:10:48.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"virt-bugs","name":"Virt Bugs","path":"/virt-bugs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/118553198?s=80&v=4"},"commit":{"message":"NEWS: Mention '--help' bug in virsh and virt-admin\n\nSigned-off-by: Peter Krempa \nReviewed-by: Martin Kletzander ","shortMessageHtmlLink":"NEWS: Mention '--help' bug in virsh and virt-admin"}},{"before":"9116ad580d87277f634502746965ac65436b5d9f","after":"8b133e82fc62188b04dcdb2ddfc5589a48222a2c","ref":"refs/heads/master","pushedAt":"2024-05-15T11:15:46.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"virt-bugs","name":"Virt Bugs","path":"/virt-bugs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/118553198?s=80&v=4"},"commit":{"message":"tests: Link some mocks with libtest_qemu_driver.so\n\nI've noticed some tests fail to run under valgrind with the\nfollowing error:\n\n $ valgrind --leak-check=full --trace-children=yes ./qemuxmlconftest\n valgrind: symbol lookup error: libvirt.git/_build/tests/libdomaincapsmock.so: undefined symbol: virQEMUCapsGet\n\nBut without valgrind the test passes just fine. While we usually\ndon't want to change our code just to adhere to random tools, in\nthis case we ought to make an exception because valgrind helps us\nto detect memory leaks.\n\nNB, the --trace-children=yes is needed whenever a test\nre-executes itself, i.e. when it uses mocks. Otherwise we'd just\nget (boring) result for the first invocation of main() which does\nnothing more than sets up the environment and calls exec().\n\nWhen running the test binary without valgrind I can see the\nlibtest_qemu_driver.so being loaded even after exec:\n\n$ LD_DEBUG=libs ./qemuxmlconftest 2>&1 | grep -e libtest_qemu_driver.so -e virQEMUCapsGet\n 6439: find library=libtest_qemu_driver.so [0]; searching\n 6439: trying file=libvirt.git/_build/tests/../src/libtest_qemu_driver.so\n 6439: trying file=libvirt.git/_build/tests/glibc-hwcaps/x86-64-v3/libtest_qemu_driver.so\n 6439: trying file=libvirt.git/_build/tests/glibc-hwcaps/x86-64-v2/libtest_qemu_driver.so\n 6439: trying file=libvirt.git/_build/tests/libtest_qemu_driver.so\n 6439: calling init: libvirt.git/_build/tests/libtest_qemu_driver.so\n 6439: find library=libtest_qemu_driver.so [0]; searching\n 6439: trying file=libvirt.git/_build/tests/libtest_qemu_driver.so\n 6439: calling init: libvirt.git/_build/tests/libtest_qemu_driver.so\n 6439: calling fini: libvirt.git/_build/tests/libtest_qemu_driver.so [0]\n\nBut running the same under valgrind:\n\n$ LD_DEBUG=libs valgrind --leak-check=full --trace-children=yes ./qemuxmlconftest 2>&1 | grep -e libtest_qemu_driver.so -e virQEMUCapsGet\n 6515: find library=libtest_qemu_driver.so [0]; searching\n 6515: trying file=libvirt.git/_build/tests/../src/libtest_qemu_driver.so\n 6515: trying file=libvirt.git/_build/tests/glibc-hwcaps/x86-64-v3/libtest_qemu_driver.so\n 6515: trying file=libvirt.git/_build/tests/glibc-hwcaps/x86-64-v2/libtest_qemu_driver.so\n 6515: trying file=libvirt.git/_build/tests/libtest_qemu_driver.so\n 6515: calling init: libvirt.git/_build/tests/libtest_qemu_driver.so\n 6515: libvirt.git/_build/tests/libdomaincapsmock.so: error: symbol lookup error: undefined symbol: virQEMUCapsGet (fatal)\nvalgrind: symbol lookup error: libvirt.git/_build/tests/libdomaincapsmock.so: undefined symbol: virQEMUCapsGet\n\nTo me, it looks like valgrind forced linker to lookup symbols\n\"sooner\", as individual libraries are loaded. But I must admit I\nhave no idea how valgrind does that (or if that's even valgrind's\n'fault').\n\nBut fix is pretty simple: link mocks that rely on symbols from\nthe QEMU driver with the QEMU driver, well, its test suite\nsuitable version (libtest_qemu_driver.so).\n\nSigned-off-by: Michal Privoznik \nReviewed-by: Martin Kletzander ","shortMessageHtmlLink":"tests: Link some mocks with libtest_qemu_driver.so"}},{"before":"8ff057c340dc2bdc33ef9a54a6bf42b222b1aaa3","after":"9116ad580d87277f634502746965ac65436b5d9f","ref":"refs/heads/master","pushedAt":"2024-05-15T08:45:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"virt-bugs","name":"Virt Bugs","path":"/virt-bugs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/118553198?s=80&v=4"},"commit":{"message":"qemuxmlconftest: Test 'page_per_vq' config option for 'vhostuser' backed disk\n\nAdd a missing option for the test to prove that we parse/format this\noption.\n\nSigned-off-by: Peter Krempa \nReviewed-by: Ján Tomko ","shortMessageHtmlLink":"qemuxmlconftest: Test 'page_per_vq' config option for 'vhostuser' bac…"}},{"before":"2bcf14eabf02063fc7850a6b578f9bd6e26a6e60","after":"8ff057c340dc2bdc33ef9a54a6bf42b222b1aaa3","ref":"refs/heads/master","pushedAt":"2024-05-15T08:25:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"virt-bugs","name":"Virt Bugs","path":"/virt-bugs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/118553198?s=80&v=4"},"commit":{"message":"Translated using Weblate (English (United Kingdom))\n\nCurrently translated at 48.0% (5005 of 10423 strings)\n\nTranslation: libvirt/libvirt\nTranslate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/en_GB/\n\nCo-authored-by: Andi Chandler \nSigned-off-by: Andi Chandler ","shortMessageHtmlLink":"Translated using Weblate (English (United Kingdom))"}},{"before":"16e7a612924bea8d1c6b710e9680c52820c1416d","after":"2bcf14eabf02063fc7850a6b578f9bd6e26a6e60","ref":"refs/heads/master","pushedAt":"2024-05-14T14:10:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"virt-bugs","name":"Virt Bugs","path":"/virt-bugs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/118553198?s=80&v=4"},"commit":{"message":"docs: formatsnapshot: add docs for snapshotDeleteInProgress\n\nAdds documentation for the element to\nthe libvirt snapshot format XML reference. The \nelement, introduced at commit 565bcb5d79, ensures the consistency of qcow2\nimages during snapshot deletion operations by marking disks in snapshot\nmetadata as invalid until deletion is successfully completed.\n\nThe commit was merged but the related documentation was missing.\n\nResolves: https://gitlab.com/libvirt/libvirt/-/issues/609\nSigned-off-by: Abhiram Tilak \nSigned-off-by: Peter Krempa \nReviewed-by: Peter Krempa ","shortMessageHtmlLink":"docs: formatsnapshot: add docs for snapshotDeleteInProgress"}},{"before":"0759cf3fa6ed8d12bd327c5752785c53e35c8483","after":"16e7a612924bea8d1c6b710e9680c52820c1416d","ref":"refs/heads/master","pushedAt":"2024-05-14T13:55:46.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"virt-bugs","name":"Virt Bugs","path":"/virt-bugs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/118553198?s=80&v=4"},"commit":{"message":"gitlab-ci: Switch coverity job to AlmaLinux 9\n\nIt's currently running against AlmaLinux 8 which went out of\nsupport.\n\nSigned-off-by: Michal Privoznik \nReviewed-by: Ján Tomko ","shortMessageHtmlLink":"gitlab-ci: Switch coverity job to AlmaLinux 9"}},{"before":"ffebb557f16c1e04b6c7ae7753673efd0385c23a","after":"0759cf3fa6ed8d12bd327c5752785c53e35c8483","ref":"refs/heads/master","pushedAt":"2024-05-14T13:20:50.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"virt-bugs","name":"Virt Bugs","path":"/virt-bugs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/118553198?s=80&v=4"},"commit":{"message":"ci: Introduce Ubuntu 24.04\n\nUbuntu 24.04 was released recently. Add it to our CI. Also, to be\nable to run ASAN/UBSAN builds on Ubuntu 24.04 libclang-rt-dev\nneeds to be installed (because clang's runtime was moved into a\nseparate package). Hence so many seemingly unrelated changes.\n\nSigned-off-by: Michal Privoznik \nReviewed-by: Ján Tomko ","shortMessageHtmlLink":"ci: Introduce Ubuntu 24.04"}},{"before":"2482801608b80461e67dcfcaf66ce28134688203","after":"ffebb557f16c1e04b6c7ae7753673efd0385c23a","ref":"refs/heads/master","pushedAt":"2024-05-14T07:15:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"virt-bugs","name":"Virt Bugs","path":"/virt-bugs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/118553198?s=80&v=4"},"commit":{"message":"qemu_hotplug: Properly assign USB address to hotplugged usb-net device\n\nPreviously, the network device hotplug logic would try to ensure only CCW or\nPCI addresses. With recent support for the usb-net model, this patch will\nensure USB addresses for usb-net network devices.\n\nResolves: https://gitlab.com/libvirt/libvirt/-/issues/14\nSigned-off-by: Rayhan Faizel \nReviewed-by: Michal Privoznik ","shortMessageHtmlLink":"qemu_hotplug: Properly assign USB address to hotplugged usb-net device"}},{"before":"2566522a55977e03c4df124b16aeaf38ad801bb1","after":"2482801608b80461e67dcfcaf66ce28134688203","ref":"refs/heads/master","pushedAt":"2024-05-14T06:35:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"virt-bugs","name":"Virt Bugs","path":"/virt-bugs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/118553198?s=80&v=4"},"commit":{"message":"vmx: Do not require DVS Port ID\n\nIt can be safely removed from the VMX, VMWare will still boot the\nmachine and once another ethernet is added it is updated in the VMX to\nzero. So do not require it and default to zero too since this part of\nthe XML is done as best effort and it is mentioned even in our\ndocumentation.\n\nSigned-off-by: Martin Kletzander \nReviewed-by: Ján Tomko ","shortMessageHtmlLink":"vmx: Do not require DVS Port ID"}},{"before":"6910ad6b388002b33cf7c17d42f700137286aef6","after":"2566522a55977e03c4df124b16aeaf38ad801bb1","ref":"refs/heads/master","pushedAt":"2024-05-13T12:45:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"virt-bugs","name":"Virt Bugs","path":"/virt-bugs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/118553198?s=80&v=4"},"commit":{"message":"NEWS: Announce virtio sound model support\n\nSigned-off-by: Rayhan Faizel \nReviewed-by: Michal Privoznik ","shortMessageHtmlLink":"NEWS: Announce virtio sound model support"}},{"before":"9e59ba56c8a26156799a556fa79c9654a5d1acd4","after":"6910ad6b388002b33cf7c17d42f700137286aef6","ref":"refs/heads/master","pushedAt":"2024-05-13T07:00:49.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"virt-bugs","name":"Virt Bugs","path":"/virt-bugs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/118553198?s=80&v=4"},"commit":{"message":"NEWS: Document SSH proxy feature\n\nSigned-off-by: Michal Privoznik \nReviewed-by: Ján Tomko ","shortMessageHtmlLink":"NEWS: Document SSH proxy feature"}},{"before":"d4528bb9dbf21464e68beb9175a38aaf6484536e","after":"9e59ba56c8a26156799a556fa79c9654a5d1acd4","ref":"refs/heads/master","pushedAt":"2024-05-13T01:20:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"virt-bugs","name":"Virt Bugs","path":"/virt-bugs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/118553198?s=80&v=4"},"commit":{"message":"qemu_capabilities: Remove unused struct\n\n'virQEMUCapsSearchData' has been unused since\ncommit bc33b8c63911 (\"qemu: capabilities: Drop the\nvirQEMUCapsCacheLookupByArch function\")\nRemove it.\n\nSigned-off-by: Dr. David Alan Gilbert \nReviewed-by: Ján Tomko ","shortMessageHtmlLink":"qemu_capabilities: Remove unused struct"}},{"before":"dda10ac8acd0b5ffa03f9659c5678c2bddd9eed4","after":"d4528bb9dbf21464e68beb9175a38aaf6484536e","ref":"refs/heads/master","pushedAt":"2024-05-10T07:30:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"virt-bugs","name":"Virt Bugs","path":"/virt-bugs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/118553198?s=80&v=4"},"commit":{"message":"Translated using Weblate (English (United Kingdom))\n\nCurrently translated at 47.3% (4937 of 10423 strings)\n\nTranslation: libvirt/libvirt\nTranslate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/en_GB/\n\nTranslated using Weblate (English (United Kingdom))\n\nCurrently translated at 47.1% (4913 of 10423 strings)\n\nTranslation: libvirt/libvirt\nTranslate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/en_GB/\n\nCo-authored-by: Andi Chandler \nSigned-off-by: Andi Chandler ","shortMessageHtmlLink":"Translated using Weblate (English (United Kingdom))"}},{"before":"632eb94e4349780c1272ba2a072927f677486da0","after":"dda10ac8acd0b5ffa03f9659c5678c2bddd9eed4","ref":"refs/heads/master","pushedAt":"2024-05-09T14:40:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"virt-bugs","name":"Virt Bugs","path":"/virt-bugs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/118553198?s=80&v=4"},"commit":{"message":"network: Register dnsmasq with resolved only when really requested\n\nAn incorrect check for domainRegister caused the DNS server for a\nvirtual domain to be registered with systemd-resolved even if\nregister='no' attribute was present. Only omitting the attribute\ncompletely would disable the registration.\n\nReported-by: Daniel P. Berrangé \nSigned-off-by: Jiri Denemark \nReviewed-by: Daniel P. Berrangé ","shortMessageHtmlLink":"network: Register dnsmasq with resolved only when really requested"}},{"before":"a47e73d6e76c85b0897e3cccaf0a58ed3c367664","after":"632eb94e4349780c1272ba2a072927f677486da0","ref":"refs/heads/master","pushedAt":"2024-05-09T11:15:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"virt-bugs","name":"Virt Bugs","path":"/virt-bugs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/118553198?s=80&v=4"},"commit":{"message":"docs: ensure HTML/images are built before running reference tests\n\nThe 'check-html-references' test will process the built HTML files,\nso they must exist before it is run, along with any images that\nthey point to.\n\nIf using the older 'configure_file' command, no changes are needed\nsince that always gets executed at 'meson setup' time, rather than\nat 'meson compile' time.\n\nReviewed-by: Michal Privoznik \nSigned-off-by: Daniel P. Berrangé ","shortMessageHtmlLink":"docs: ensure HTML/images are built before running reference tests"}},{"before":"a70f0ee5a6223b35fc707cea8e53456831967463","after":"edebba7f2f3efdb162643aee34319731f876aa72","ref":"refs/heads/factory","pushedAt":"2024-05-08T21:40:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"virt-bugs","name":"Virt Bugs","path":"/virt-bugs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/118553198?s=80&v=4"},"commit":{"message":"rpc: ensure temporary GSource is removed from client event loop\n\nUsers are seeing periodic segfaults from libvirt client apps,\nespecially thread heavy ones like virt-manager. A typical\nstack trace would end up in the virNetClientIOEventFD method,\nwith illegal access to stale stack data. eg\n\n==238721==ERROR: AddressSanitizer: stack-use-after-return on address 0x75cd18709788 at pc 0x75cd3111f907 bp 0x75cd181ff550 sp 0x75cd181ff548\nWRITE of size 4 at 0x75cd18709788 thread T11\n #0 0x75cd3111f906 in virNetClientIOEventFD /usr/src/debug/libvirt/libvirt-10.2.0/build/../src/rpc/virnetclient.c:1634:15\n #1 0x75cd3210d198 (/usr/lib/libglib-2.0.so.0+0x5a198) (BuildId: 0a2311dfbbc6c215dc36f4b6bdd2b4b6fbae55a2)\n #2 0x75cd3216c3be (/usr/lib/libglib-2.0.so.0+0xb93be) (BuildId: 0a2311dfbbc6c215dc36f4b6bdd2b4b6fbae55a2)\n #3 0x75cd3210ddc6 in g_main_loop_run (/usr/lib/libglib-2.0.so.0+0x5adc6) (BuildId: 0a2311dfbbc6c215dc36f4b6bdd2b4b6fbae55a2)\n #4 0x75cd3111a47c in virNetClientIOEventLoop /usr/src/debug/libvirt/libvirt-10.2.0/build/../src/rpc/virnetclient.c:1722:9\n #5 0x75cd3111a47c in virNetClientIO /usr/src/debug/libvirt/libvirt-10.2.0/build/../src/rpc/virnetclient.c:2002:10\n #6 0x75cd3111a47c in virNetClientSendInternal /usr/src/debug/libvirt/libvirt-10.2.0/build/../src/rpc/virnetclient.c:2170:11\n #7 0x75cd311198a8 in virNetClientSendWithReply /usr/src/debug/libvirt/libvirt-10.2.0/build/../src/rpc/virnetclient.c:2198:11\n #8 0x75cd31111653 in virNetClientProgramCall /usr/src/debug/libvirt/libvirt-10.2.0/build/../src/rpc/virnetclientprogram.c:318:9\n #9 0x75cd31241c8f in callFull /usr/src/debug/libvirt/libvirt-10.2.0/build/../src/remote/remote_driver.c:6054:10\n #10 0x75cd31241c8f in call /usr/src/debug/libvirt/libvirt-10.2.0/build/../src/remote/remote_driver.c:6076:12\n #11 0x75cd31241c8f in remoteNetworkGetXMLDesc /usr/src/debug/libvirt/libvirt-10.2.0/build/src/remote/remote_client_bodies.h:5959:9\n #12 0x75cd31410ff7 in virNetworkGetXMLDesc /usr/src/debug/libvirt/libvirt-10.2.0/build/../src/libvirt-network.c:952:15\n\nThe root cause is a bad assumption in the virNetClientIOEventLoop\nmethod. This method is run by whichever thread currently owns the\nbuck, and is responsible for handling I/O. Inside a for(;;) loop,\nthis method creates a temporary GSource, adds it to the event loop\nand runs g_main_loop_run(). When I/O is ready, the GSource callback\n(virNetClientIOEventFD) will fire and call g_main_loop_quit(), and\nreturn G_SOURCE_REMOVE which results in the temporary GSource being\ndestroyed. A g_autoptr() will then remove the last reference.\n\nWhat was overlooked, is that a second thread can come along and\nwhile it can't enter virNetClientIOEventLoop, it will register an\nidle source that uses virNetClientIOWakeup to interrupt the\noriginal thread's 'g_main_loop_run' call. When this happens the\nvirNetClientIOEventFD callback never runs, and so the temporary\nGSource is not destroyed. The g_autoptr() will remove a reference,\nbut by virtue of still being attached to the event context, there\nis an extra reference held causing GSource to be leaked. The\nnext time 'g_main_loop_run' is called, the original GSource will\ntrigger its callback, and access data that was allocated on the\nstack by the previous thread, and likely SEGV.\n\nTo solve this, the thread calling 'g_main_loop_run' must call\ng_source_destroy, immediately upon return, to guarantee that\nthe temporary GSource is removed.\n\nReferences: bsc#1223849\n\nCVE-2024-4418\nReviewed-by: Ján Tomko \nReported-by: Martin Shirokov \nTested-by: Martin Shirokov \nSigned-off-by: Daniel P. Berrangé \n(cherry picked from commit 8074d64dc2eca846d6a61efe1a9b7428a0ce1dd1)\nSigned-off-by: Jim Fehlig ","shortMessageHtmlLink":"rpc: ensure temporary GSource is removed from client event loop"}},{"before":"0deb336b566038a004dfcb55f261c6b586accd00","after":"a70f0ee5a6223b35fc707cea8e53456831967463","ref":"refs/heads/factory","pushedAt":"2024-05-08T21:35:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"virt-bugs","name":"Virt Bugs","path":"/virt-bugs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/118553198?s=80&v=4"},"commit":{"message":"libxl: Fix domxml-to-native conversion\n\nSimilar to commit 57d084febe, another case of the libxl driver not\nadapting to modular daemons. When converting configuration that\ncontains a type='network' interface, the converter calls\nvirNetworkLookupByName, passing the hypervisor connection object\ninstead of a connection to virtnetworkd. E.g.\n\n> cat dom.xml\n...\n \n \n \n...\n> virsh net-info default\nName: default\nUUID: 25a5b089-1e71-4956-99aa-df2213bbb407\nActive: yes\nPersistent: no\nAutostart: no\nBridge: virbr0\n> virsh domxml-to-native xen-xl dom.xml\nerror: Network not found: default\n\nAcquire a connection to virtnetworkd and use it when calling\nvirNetwork* APIs.\n\nReferences: bsc#1222584\n\nSigned-off-by: Jim Fehlig \nReviewed-by: Ján Tomko \n(cherry picked from commit 3146305fd3a610573963fe4858cc12ec1c4cf5c7)\nSigned-off-by: Jim Fehlig ","shortMessageHtmlLink":"libxl: Fix domxml-to-native conversion"}},{"before":"ae6a89884aeea9f6e334b8b6951d1aa6c362bdad","after":"a47e73d6e76c85b0897e3cccaf0a58ed3c367664","ref":"refs/heads/master","pushedAt":"2024-05-08T16:00:47.000Z","pushType":"push","commitsCount":11,"pusher":{"login":"virt-bugs","name":"Virt Bugs","path":"/virt-bugs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/118553198?s=80&v=4"},"commit":{"message":"src/node_device: don't overwrite error messages\n\nThe nodedev code unhelpfully reports\n\n couldn't convert node device def to mdevctl JSON\n\nwhich hides the actual error message\n\n No JSON parser implementation is available\n\nReviewed-by: Peter Krempa \nSigned-off-by: Daniel P. Berrangé ","shortMessageHtmlLink":"src/node_device: don't overwrite error messages"}},{"before":"df9ffb025646d649f981ca25600225bc8cf794d1","after":"ae6a89884aeea9f6e334b8b6951d1aa6c362bdad","ref":"refs/heads/master","pushedAt":"2024-05-08T13:35:48.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"virt-bugs","name":"Virt Bugs","path":"/virt-bugs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/118553198?s=80&v=4"},"commit":{"message":"tests: fix two off-by-1 errors in read-big-pipe test\n\nWhen testPipeFeeder copies the XML document into the padded buffer, it\ntells virStrcpy that 'xmlsize' bytes are available. This is under\nreporting size by 1 byte, and as a result it fails to copy the trailing\n'\\n' replacing it with '\\0'. The return value of virStrcpy wasn't\nchecked, but was reporting this truncation.\n\nWhen testPipeFeeder then sends the padded buffer down the pipe, it asks\nto send 'emptyspace + xmlsize + 1' bytes, which means it sends the data,\nas well as the trailing '\\0' terminator.\n\nBoth bugs combined mean it is sending '\\0\\0' as the last bytes, instead\nof '\\n' which was intended. When virFileReadAll reads data from the\npipe, it ends up adding another '\\0' resulting in a very NUL terminated\nstring ('\\0\\0\\0'). This is all harmless, but should be fixed regardless.\n\nReviewed-by: Andrea Bolognani \nSigned-off-by: Daniel P. Berrangé ","shortMessageHtmlLink":"tests: fix two off-by-1 errors in read-big-pipe test"}},{"before":"e6a55927878ab560b80926e91584b02cb07fbe69","after":"df9ffb025646d649f981ca25600225bc8cf794d1","ref":"refs/heads/master","pushedAt":"2024-05-07T13:15:47.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"virt-bugs","name":"Virt Bugs","path":"/virt-bugs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/118553198?s=80&v=4"},"commit":{"message":"udevListInterfacesByStatus: Don't try to return NULL names\n\nIn case when the interface is being detached/reattached it may happen\nthat udev will return NULL from 'udev_device_get_sysname()'.\n\nAs the RPC code requires nonnull strings in the return array it fails to\nserialize such reply:\n\n libvirt: XML-RPC error : Unable to encode message payload\n\nFix this by simply ignoring such interfaces as there's nothing we can\nreport in such case.\n\nA similar fix was done to 'udevConnectListAllInterfaces' in commit\n2ca94317ac6.\n\nResolves: https://issues.redhat.com/browse/RHEL-34615\nSigned-off-by: Peter Krempa \nReviewed-by: Michal Privoznik ","shortMessageHtmlLink":"udevListInterfacesByStatus: Don't try to return NULL names"}},{"before":"da95bcb6b2d9b04958e0f2603202801dd29debb8","after":"e6a55927878ab560b80926e91584b02cb07fbe69","ref":"refs/heads/master","pushedAt":"2024-05-07T11:10:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"virt-bugs","name":"Virt Bugs","path":"/virt-bugs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/118553198?s=80&v=4"},"commit":{"message":"datatypes: Declare g_autoptr cleanup functions for more public objects\n\nSome public objects (like virDomain, virInterface, and so on) are\nmissing g_autoptr() cleanup functions. Provide missing\ndeclarations. Note, this is only for our internal use - hence\ndatatypes.h.\n\nSigned-off-by: Michal Privoznik \nReviewed-by: Daniel P. Berrangé ","shortMessageHtmlLink":"datatypes: Declare g_autoptr cleanup functions for more public objects"}},{"before":"142ed263c03e1fee3b1c7bc6016950c6429f0bba","after":"da95bcb6b2d9b04958e0f2603202801dd29debb8","ref":"refs/heads/master","pushedAt":"2024-05-06T13:45:47.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"virt-bugs","name":"Virt Bugs","path":"/virt-bugs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/118553198?s=80&v=4"},"commit":{"message":"qemu: Substract isolcpus from all online affinity\n\nWhen starting a domain and there's no vCPU/emulator pinning set,\nwe query the list of all online physical CPUs and set affinity of\nthe child process (which eventually becomes QEMU) to that list.\nWe can't assume libvirtd itself had affinity to all online CPUs\nand since affinity of the child process is inherited, we should\nfix it afterwards. But that's not necessarily correct. Users\nmight isolate some physical CPUs and we should avoid touching\nthem unless explicitly told so (i.e. vCPU/emulator pinning told\nus so).\n\nTherefore, when attempting to set affinity to all online CPUs\nsubtract the isolated ones.\n\nBefore this commit:\n\n root@localhost:~# cat /sys/devices/system/cpu/isolated\n 19,21,23\n root@virtlab414:~# taskset -cp $(pgrep qemu)\n pid 14835's current affinity list: 0-23\n\nAfter:\n\n root@virtlab414:~# taskset -cp $(pgrep qemu)\n pid 17153's current affinity list: 0-18,20,22\n\nResolves: https://issues.redhat.com/browse/RHEL-33082\nSigned-off-by: Michal Privoznik \nReviewed-by: Pavel Hrdina ","shortMessageHtmlLink":"qemu: Substract isolcpus from all online affinity"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEUnBZ6wA","startCursor":null,"endCursor":null}},"title":"Activity · openSUSE/libvirt"}