|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-API] [Bug report] Security issue in "xl vcpu-set"
Hi, Wonder if there is any follow-ups from the relevant developers: (1) are you able to reproduce the "spinning" behavior of "xl vcpu-set"?(2) if yes, can you confirm that it is due to looping with "retry_transaction"? Best, Luwei Quoting lwcheng@xxxxxxxxx: Hi Ian, Thanks for your reply. Please read my inline reply to your questions. Quoting Ian Campbell <ian.campbell@xxxxxxxxxx>:Since this was copied to xen-api@ it is now public, so redirecting to the correct list (xen-devel@). I kept xen-api since oxenstored might be involved. I dropped Vincent since he is no longer involved in libxl development. On Fri, 2015-05-29 at 13:44 +0800, lwcheng@xxxxxxxxx wrote:Hi, "xl vcpu-set" is commonly used to hotplug/unhotplug vCPUs of an SMP VM. However, the current implementation of this command makes the driverdomain vulnerable to denial-of-service attack: in certain cases, this commandconsumes too many CPU cycles in dom0, adversely affecting dom0's other tasks (e.g., IO processing, monitoring, etc.) [An illustrative example] Say, with a Linux PV guest called "vm01", when vm01 just boots or reboots (e.g., in its grub period)Do you mean pygrub or pvgrub here?My VM uses pygrub: Xen-4.5.0 + Linux 3.14.35 (for both dom0 and domU)., if dom0 issues "xl vcpu-set vm01 xxx" at this moment, the following will happen: (1) "xl vcpu-set" hangs, until vm01 has loaded its kernel successfully. (2) in dom0, "oxenstored" consumes 100% of a single core.It's not clear to me why this should relate to the status of the guest, AFAIK there is no reason for a xenstore transaction to be affected by whether or not the guest has loaded its kernel. Certainly if it is spinning forever there is a bug somewhere, but I don't think it relates to the use of a transaction in this way.You may check /var/log/xenstored-access.log: when "xl vcpu-set" hangs, xenstore keeps writing to "/local/domain/xx/cpu/xx/availability", indicating that it is looping in retry_transaction.Ian. _______________________________________________ Xen-api mailing list Xen-api@xxxxxxxxxxxxx http://lists.xen.org/cgi-bin/mailman/listinfo/xen-api
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |