Re: [PART1 RFC v2 07/10] svm: Add VMEXIT handlers for AVIC

From: Paolo Bonzini
Date: Wed Mar 09 2016 - 05:57:12 EST




On 08/03/2016 23:05, Radim KrÄmÃÅ wrote:
>>> >> + case AVIC_INCMP_IPI_ERR_INV_TARGET:
>>> >> + pr_err("%s: Invalid IPI target (icr=%#08x:%08x, idx=%u)\n",
>>> >> + __func__, icrh, icrl, index);
>>> >> + BUG();
>>> >> + break;
>>> >> + case AVIC_INCMP_IPI_ERR_INV_BK_PAGE:
>>> >> + pr_err("%s: Invalid bk page (icr=%#08x:%08x, idx=%u)\n",
>>> >> + __func__, icrh, icrl, index);
>>> >> + BUG();
>>> >> + break;
>> >
>> > Please use WARN(1, "%s: Invalid bk page (icr=%#08x:%08x, idx=%u)\n",
>> > __func__, icrh, icrl, index) (and likewise for invalid target) instead
>> > of BUG().
> I think that if we hit one of these, then WARNs would just flood the
> log. I'd prefer WARN_ONCE on AVIC_INCMP_IPI_ERR_INV_BK_PAGE.
> (Btw. aren't icr and idx are pointless on this error? and the function
> name should be printed by WARN.)

Agreed.

> Invalid target is triggerable by the guest (by sending IPI to a
> non-existent LAPIC), so warning log level seems too severe.
> pr_info_ratelimited() or nothing would be better.

Definitely should be nothing.

Paolo