From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Michael S. Tsirkin" Subject: Re: [PATCH] virtio_balloon: clear modern features under legacy Date: Wed, 15 Jul 2020 05:46:59 -0400 Message-ID: <20200715053808-mutt-send-email-mst@kernel.org> References: <20200710113046.421366-1-mst@redhat.com> <20200712105926-mutt-send-email-mst@kernel.org> <20200714044017-mutt-send-email-mst@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: virtualization-bounces@lists.linux-foundation.org Sender: "Virtualization" To: Alexander Duyck Cc: virtualization@lists.linux-foundation.org, LKML , stable@vger.kernel.org List-Id: virtualization@lists.linuxfoundation.org T24gVHVlLCBKdWwgMTQsIDIwMjAgYXQgMTA6MzE6NTZBTSAtMDcwMCwgQWxleGFuZGVyIER1eWNr IHdyb3RlOgo+IE9uIFR1ZSwgSnVsIDE0LCAyMDIwIGF0IDE6NDUgQU0gTWljaGFlbCBTLiBUc2ly a2luIDxtc3RAcmVkaGF0LmNvbT4gd3JvdGU6Cj4gPgo+ID4gT24gTW9uLCBKdWwgMTMsIDIwMjAg YXQgMDg6MTA6MTRBTSAtMDcwMCwgQWxleGFuZGVyIER1eWNrIHdyb3RlOgo+ID4gPiBPbiBTdW4s IEp1bCAxMiwgMjAyMCBhdCA4OjEwIEFNIE1pY2hhZWwgUy4gVHNpcmtpbiA8bXN0QHJlZGhhdC5j b20+IHdyb3RlOgo+ID4gPiA+Cj4gPiA+ID4gT24gRnJpLCBKdWwgMTAsIDIwMjAgYXQgMDk6MTM6 NDFBTSAtMDcwMCwgQWxleGFuZGVyIER1eWNrIHdyb3RlOgo+ID4gPiA+ID4gT24gRnJpLCBKdWwg MTAsIDIwMjAgYXQgNDozMSBBTSBNaWNoYWVsIFMuIFRzaXJraW4gPG1zdEByZWRoYXQuY29tPiB3 cm90ZToKPiA+ID4gPiA+ID4KPiAKPiA8c25pcD4KPiAKPiA+ID4gPiBBcyB5b3Ugc2F5IGNvcnJl Y3RseSB0aGUgY29tbWFuZCBpZCBpcyBhY3R1YWxseSBhc3N1bWVkIG5hdGl2ZSBlbmRpYW46Cj4g PiA+ID4KPiA+ID4gPgo+ID4gPiA+IHN0YXRpYyB1MzIgdmlydGlvX2JhbGxvb25fY21kX2lkX3Jl Y2VpdmVkKHN0cnVjdCB2aXJ0aW9fYmFsbG9vbiAqdmIpCj4gPiA+ID4gewo+ID4gPiA+ICAgICAg ICAgaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChWSVJUSU9fQkFMTE9PTl9DT05GSUdfUkVBRF9DTURf SUQsCj4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ2Yi0+Y29uZmlnX3Jl YWRfYml0bWFwKSkKPiA+ID4gPiAgICAgICAgICAgICAgICAgdmlydGlvX2NyZWFkKHZiLT52ZGV2 LCBzdHJ1Y3QgdmlydGlvX2JhbGxvb25fY29uZmlnLAo+ID4gPiA+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZnJlZV9wYWdlX2hpbnRfY21kX2lkLAo+ID4gPiA+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJnZiLT5jbWRfaWRfcmVjZWl2ZWRfY2FjaGUpOwo+ID4gPiA+Cj4gPiA+ ID4gICAgICAgICByZXR1cm4gdmItPmNtZF9pZF9yZWNlaXZlZF9jYWNoZTsKPiA+ID4gPiB9Cj4g PiA+ID4KPiA+ID4gPgo+ID4gPiA+IFNvIGd1ZXN0IGFzc3VtZXMgbmF0aXZlLCBob3N0IGFzc3Vt ZXMgTEUuCj4gPiA+Cj4gPiA+IFRoaXMgd2Fzbid0IGV2ZW4gdGhlIG9uZSBJIHdhcyB0YWxraW5n IGFib3V0LCBidXQgbm93IHRoYXQgeW91IHBvaW50Cj4gPiA+IGl0IG91dCB0aGlzIGlzIGRlZmlu YXRlbHkgYnVnLiBUaGUgY29tbWFuZCBJRCBJIHdhcyB0YWxraW5nIGFib3V0IHdhcwo+ID4gPiB0 aGUgb25lIGJlaW5nIHBhc3NlZCB2aWEgdGhlIGRlc2NyaXB0b3IgcmluZy4gVGhhdCBvbmUgSSBi ZWxpZXZlIGlzCj4gPiA+IG5hdGl2ZSBvbiBib3RoIHNpZGVzLgo+ID4KPiA+IFdlbGwgcWVtdSBz d2FwcyBpdCBmb3IgbW9kZXJuIGRldmljZXM6Cj4gPgo+ID4gICAgICAgICB2aXJ0aW9fdHN3YXAz MnModmRldiwgJmlkKTsKPiA+Cj4gPiBndWVzdCBzd2FwcyBpdCB0b286Cj4gPiAgICAgICAgIHZi LT5jbWRfaWRfYWN0aXZlID0gY3B1X3RvX3ZpcnRpbzMyKHZiLT52ZGV2LAo+ID4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpcnRpb19iYWxsb29uX2NtZF9pZF9yZWNl aXZlZCh2YikpOwo+ID4gICAgICAgICBzZ19pbml0X29uZSgmc2csICZ2Yi0+Y21kX2lkX2FjdGl2 ZSwgc2l6ZW9mKHZiLT5jbWRfaWRfYWN0aXZlKSk7Cj4gPiAgICAgICAgIGVyciA9IHZpcnRxdWV1 ZV9hZGRfb3V0YnVmKHZxLCAmc2csIDEsICZ2Yi0+Y21kX2lkX2FjdGl2ZSwgR0ZQX0tFUk5FTCk7 Cj4gPgo+ID4gU28gaXQncyBuYXRpdmUgZm9yIGxlZ2FjeS4KPiAKPiBPa2F5LCB0aGF0IG1ha2Vz IHNlbnNlLiBJIGp1c3Qgd2Fzbid0IGZhbWlsaWFyIHdpdGggdGhlIHZpcnRpbzMyIHR5cGUuCj4g Cj4gSSBndWVzcyB0aGF0IGp1c3QgbWVhbnMgd2UgbmVlZCB0byBmaXggdGhlIG9yaWdpbmFsIGlz c3VlIHlvdSBmb3VuZAo+IHdoZXJlIHRoZSBndWVzdCB3YXMgYXNzdW1pbmcgbmF0aXZlIGZvciB0 aGUgY29tbWFuZCBJRCBpbiB0aGUgY29uZmlnLgo+IERvIHlvdSBwbGFuIHRvIHBhdGNoIHRoYXQg b3Igc2hvdWxkIEk/CgpJJ2xsIGRvIGl0LgoKCj4gPiA+ID4KPiA+ID4gPgo+ID4gPiA+Cj4gPiA+ ID4gPiA+IC0tLQo+ID4gPiA+ID4gPiAgZHJpdmVycy92aXJ0aW8vdmlydGlvX2JhbGxvb24uYyB8 IDkgKysrKysrKysrCj4gPiA+ID4gPiA+ICAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCsp Cj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpcnRpby92aXJ0 aW9fYmFsbG9vbi5jIGIvZHJpdmVycy92aXJ0aW8vdmlydGlvX2JhbGxvb24uYwo+ID4gPiA+ID4g PiBpbmRleCA1ZDRiODkxYmY4NGYuLmI5YmMwMzM0NTE1NyAxMDA2NDQKPiA+ID4gPiA+ID4gLS0t IGEvZHJpdmVycy92aXJ0aW8vdmlydGlvX2JhbGxvb24uYwo+ID4gPiA+ID4gPiArKysgYi9kcml2 ZXJzL3ZpcnRpby92aXJ0aW9fYmFsbG9vbi5jCj4gPiA+ID4gPiA+IEBAIC0xMTA3LDYgKzExMDcs MTUgQEAgc3RhdGljIGludCB2aXJ0YmFsbG9vbl9yZXN0b3JlKHN0cnVjdCB2aXJ0aW9fZGV2aWNl ICp2ZGV2KQo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiAgc3RhdGljIGludCB2aXJ0YmFsbG9vbl92 YWxpZGF0ZShzdHJ1Y3QgdmlydGlvX2RldmljZSAqdmRldikKPiA+ID4gPiA+ID4gIHsKPiA+ID4g PiA+ID4gKyAgICAgICAvKgo+ID4gPiA+ID4gPiArICAgICAgICAqIExlZ2FjeSBkZXZpY2VzIG5l dmVyIHNwZWNpZmllZCBob3cgbW9kZXJuIGZlYXR1cmVzIHNob3VsZCBiZWhhdmUuCj4gPiA+ID4g PiA+ICsgICAgICAgICogRS5nLiB3aGljaCBlbmRpYW4tbmVzcyB0byB1c2U/IEJldHRlciBub3Qg dG8gYXNzdW1lIGFueXRoaW5nLgo+ID4gPiA+ID4gPiArICAgICAgICAqLwo+ID4gPiA+ID4gPiAr ICAgICAgIGlmICghdmlydGlvX2hhc19mZWF0dXJlKHZkZXYsIFZJUlRJT19GX1ZFUlNJT05fMSkp IHsKPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgIF9fdmlydGlvX2NsZWFyX2JpdCh2ZGV2LCBW SVJUSU9fQkFMTE9PTl9GX0ZSRUVfUEFHRV9ISU5UKTsKPiA+ID4gPiA+ID4gKyAgICAgICAgICAg ICAgIF9fdmlydGlvX2NsZWFyX2JpdCh2ZGV2LCBWSVJUSU9fQkFMTE9PTl9GX1BBR0VfUE9JU09O KTsKPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgIF9fdmlydGlvX2NsZWFyX2JpdCh2ZGV2LCBW SVJUSU9fQkFMTE9PTl9GX1JFUE9SVElORyk7Cj4gPiA+ID4gPiA+ICsgICAgICAgfQo+ID4gPiA+ ID4gPiAgICAgICAgIC8qCj4gPiA+ID4gPiA+ICAgICAgICAgICogSW5mb3JtIHRoZSBoeXBlcnZp c29yIHRoYXQgb3VyIHBhZ2VzIGFyZSBwb2lzb25lZCBvcgo+ID4gPiA+ID4gPiAgICAgICAgICAq IGluaXRpYWxpemVkLiBJZiB3ZSBjYW5ub3QgZG8gdGhhdCB0aGVuIHdlIHNob3VsZCBkaXNhYmxl Cj4gPiA+ID4gPgo+ID4gPiA+ID4gVGhlIHBhdGNoIGNvbnRlbnQgaXRzZWxmIEkgYW0gZmluZSB3 aXRoIHNpbmNlIG9kZHMgYXJlIG5vYm9keSB3b3VsZAo+ID4gPiA+ID4gZXhwZWN0IHRvIHVzZSB0 aGVzZSBmZWF0dXJlcyB3aXRoIGEgbGVnYWN5IGRldmljZS4KPiA+ID4gPiA+Cj4gPiA+ID4gPiBB Y2tlZC1ieTogQWxleGFuZGVyIER1eWNrIDxhbGV4YW5kZXIuaC5kdXlja0BsaW51eC5pbnRlbC5j b20+Cj4gPiA+ID4KPiA+ID4gPiBIbW0gc28gbm93IHlvdSBwb2ludGVkIG91dCBpdCdzIGp1c3Qg Y21kIGlkLCBtYXliZSBJIHNob3VsZCBqdXN0IGZpeCBpdAo+ID4gPiA+IGluc3RlYWQ/IHdoYXQg ZG8geW91IHNheT8KPiA+ID4KPiA+ID4gU28gdGhlIGNvbmZpZyBpc3N1ZXMgYXJlIGJ1Z3MsIGJ1 dCBJIGRvbid0IHRoaW5rIHlvdSBzYXcgdGhlIG9uZSBJIHdhcwo+ID4gPiB0YWxraW5nIGFib3V0 LiBJbiB0aGUgZnVuY3Rpb24gc2VuZF9jbWRfaWRfc3RhcnQgdGhlIGNtZF9pZF9hY3RpdmUKPiA+ ID4gdmFsdWUgd2hpY2ggaXMgaW5pdGlhbGl6ZWQgYXMgYSB2aXJ0aW8zMiBpcyBhZGRlZCBhcyBh IHNnIGVudHJ5IGFuZAo+ID4gPiB0aGVuIHNlbnQgYXMgYW4gb3V0YnVmIHRvIHRoZSBkZXZpY2Uu IEknbSBhc3N1bWluZyB2aXJ0aW8zMiBpcyBhIGhvc3QKPiA+ID4gbmF0aXZlIGJ5dGUgb3JkZXJp bmcuCj4gPgo+ID4gSUlVQyBpdCBpc24ndCA6KSB2aXJ0aW8zMiBpcyBndWVzdCBuYXRpdmUgaWYg ZGV2aWNlIGlzIGxlZ2FjeSwgYW5kIExFIGlmCj4gPiBkZXZpY2UgaXMgbW9kZXJuLgo+IAo+IE9r YXkuIFNvIEkgc2hvdWxkIHByb2JhYmx5IGRvY3VtZW50IHRoYXQgZm9yIHRoZSBzcGVjIEkgaGF2 ZSBiZWVuCj4gd29ya2luZyBvbi4gSXQgbG9va3MgbGlrZSB0aGVyZSBpcyBhbiBleGFtcGxlIG9m IHNpbWlsYXIgZG9jdW1lbnRhdGlvbgo+IGZvciB0aGUgbWVtb3J5IHN0YXRpc3RpY3Mgc28gaXQg c2hvdWxkIGJlIHByZXR0eSBzdHJhaWdodCBmb3J3YXJkLgo+IAo+IFRoYW5rcy4KPiAKPiAtIEFs ZXgKCiJndWVzdCBuYXRpdmUgaWYgZGV2aWNlIGlzIGxlZ2FjeSwgYW5kIExFIGlmIGRldmljZSBp cyBtb2Rlcm4iCmlzIGEgc3RhbmRhcmQgdmlydGlvIHRoaW5nLiBCYWxsb29uIGhhcyBzcGVjaWFs IGxhbmd1YWdlIHNheWluZwppdHMgY29uZmlnIHNwYWNlIGlzIGFsd2F5cyBMRS4KCgoyLjQuMwoK TGVnYWN5IEludGVyZmFjZTogQSBOb3RlIG9uIERldmljZSBDb25maWd1cmF0aW9uIFNwYWNlIGVu ZGlhbi1uZXNzCk5vdGUgdGhhdCBmb3IgbGVnYWN5IGludGVyZmFjZXMsIGRldmljZSBjb25maWd1 cmF0aW9uIHNwYWNlIGlzIGdlbmVyYWxseSB0aGUgZ3Vlc3TigJlzIG5hdGl2ZSBlbmRpYW4sIHJh dGhlciB0aGFuClBDSeKAmXMgbGl0dGxlLWVuZGlhbi4gVGhlIGNvcnJlY3QgZW5kaWFuLW5lc3Mg aXMgZG9jdW1lbnRlZCBmb3IgZWFjaCBkZXZpY2UuCgoKVGhpcyBsYW5ndWFnZSBjb3VsZCB1c2Ug c29tZSB0d2Vha2luZzogZS5nLiAiUENJIiBoZXJlIHJlZmVycyB0byB0aGUgdGltZSB3aGVuClBD SSB3YXMgdGhlIG9ubHkgdHJhbnNwb3J0LiBBbmQgbW9zdCBkZXZpY2VzIGRvbid0IGRvY3VtZW50 IGVuZGlhbm5lc3MKc28ganVzdCByZWx5IG9uIHN0YW5kYXJkIG9uZS4KCgpTaW1pbGFybHk6Cgoy LjYuMwoKTGVnYWN5IEludGVyZmFjZXM6IEEgTm90ZSBvbiBWaXJ0cXVldWUgRW5kaWFubmVzcwoK Tm90ZSB0aGF0IHdoZW4gdXNpbmcgdGhlIGxlZ2FjeSBpbnRlcmZhY2UsIHRyYW5zaXRpb25hbCBk ZXZpY2VzIGFuZCBkcml2ZXJzIE1VU1QgdXNlIHRoZSBuYXRpdmUgZW5kaWFuIG9mCnRoZSBndWVz dCBhcyB0aGUgZW5kaWFuIG9mIGZpZWxkcyBhbmQgaW4gdGhlIHZpcnRxdWV1ZS4gVGhpcyBpcyBv cHBvc2VkIHRvIGxpdHRsZS1lbmRpYW4gZm9yIG5vbi1sZWdhY3kgaW50ZXJmYWNlCmFzIHNwZWNp ZmllZCBieSB0aGlzIHN0YW5kYXJkLiBJdCBpcyBhc3N1bWVkIHRoYXQgdGhlIGhvc3QgaXMgYWxy ZWFkeSBhd2FyZSBvZiB0aGUgZ3Vlc3QgZW5kaWFuLgoKCkNvdWxkIHVzZSBzb21lIGxvdmUgdG9v LCBlLmcuIGhvc3QgLT4gZGV2aWNlLCBndWVzdCAtPiBkcml2ZXIuCgoKCi0tIApNU1QKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClZpcnR1YWxpemF0aW9u IG1haWxpbmcgbGlzdApWaXJ0dWFsaXphdGlvbkBsaXN0cy5saW51eC1mb3VuZGF0aW9uLm9yZwpo dHRwczovL2xpc3RzLmxpbnV4Zm91bmRhdGlvbi5vcmcvbWFpbG1hbi9saXN0aW5mby92aXJ0dWFs aXphdGlvbg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E723CC433E1 for ; Wed, 15 Jul 2020 09:47:10 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id C22052067D for ; Wed, 15 Jul 2020 09:47:10 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="cELMly7a" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730819AbgGOJrJ (ORCPT ); Wed, 15 Jul 2020 05:47:09 -0400 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:41295 "EHLO us-smtp-1.mimecast.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729592AbgGOJrJ (ORCPT ); Wed, 15 Jul 2020 05:47:09 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1594806426; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=fgFwB4sgqMo4IjWK8xGAhUdyzExkJ8Foocx1qbcXFec=; b=cELMly7a7cu/U3++mhRx3DvvxB8801E/9dv+HuXSSa8JWwFJ524sGgtRrJECXwElPwMHLD Xu0uCOv/gYMEJ3W9rTY6aAkxPsmv7pgqHDugdcVhwgp9j5wFwb745eVoINRjYM0VoOGu8b KvWPyELcMtPYj9HK3uutmSk858bEhsM= Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-474-gcmcvveNNEOEIZrtVKauMw-1; Wed, 15 Jul 2020 05:47:05 -0400 X-MC-Unique: gcmcvveNNEOEIZrtVKauMw-1 Received: by mail-wm1-f71.google.com with SMTP id t18so439926wmj.5 for ; Wed, 15 Jul 2020 02:47:04 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=fgFwB4sgqMo4IjWK8xGAhUdyzExkJ8Foocx1qbcXFec=; b=IcqJgYA2IyUDHeoGininp+9C56HCVdMf4W3nYgp1yEa6Ck0vGPE/mhzgL7XxuOYrE6 9w9FAEHNy85iTFxcqFcEeOMM3276934T+ekuRKYFgpgJA3XYNSfIUHI6ZW5b2jw6Kdh7 mVOnNq8MtRa+y6fZYiJNv0QdRYG6O96PZiPqr28hgDzwlM6HrEO03k1EYsXvlt+8TSlq tn/l3KlS11bjIBB59FlFycUdZVvUleb4+ZxqzgPuYWIvPEGh4cBSA3Lj1QKLiQ6lsj7D V7CF6WldBwFrCYsfXiNtkM1r8gC8C0RImts1B9JrX49jKS9wQB3CnruV63447fUjFNUE XuJw== X-Gm-Message-State: AOAM532G7SlxYh/c+4RZnG5rtQ79dSkxMRsUGKwJ0Wy76xvU0i5D5SA+ 0nJTvHphK8vUXnX5wszJzLwyVpYodV6y/NfRlKUP1slJfiAsV5Mo1Jmi8oukdmMM0WvHjJyf67A /HbirMXImzZH9lk4fEpA8o7PN X-Received: by 2002:a5d:4bc4:: with SMTP id l4mr9855663wrt.97.1594806423954; Wed, 15 Jul 2020 02:47:03 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwHDUVU4AP3hlp5Siz7vKq3EW4crKSR0xnUKkeLjfUiJpc4ShpyJMTGyZWh8XxJyKnOOZ6fMA== X-Received: by 2002:a5d:4bc4:: with SMTP id l4mr9855634wrt.97.1594806423671; Wed, 15 Jul 2020 02:47:03 -0700 (PDT) Received: from redhat.com (bzq-79-180-10-140.red.bezeqint.net. [79.180.10.140]) by smtp.gmail.com with ESMTPSA id j75sm2897436wrj.22.2020.07.15.02.47.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2020 02:47:02 -0700 (PDT) Date: Wed, 15 Jul 2020 05:46:59 -0400 From: "Michael S. Tsirkin" To: Alexander Duyck Cc: LKML , stable@vger.kernel.org, David Hildenbrand , Jason Wang , virtualization@lists.linux-foundation.org Subject: Re: [PATCH] virtio_balloon: clear modern features under legacy Message-ID: <20200715053808-mutt-send-email-mst@kernel.org> References: <20200710113046.421366-1-mst@redhat.com> <20200712105926-mutt-send-email-mst@kernel.org> <20200714044017-mutt-send-email-mst@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jul 14, 2020 at 10:31:56AM -0700, Alexander Duyck wrote: > On Tue, Jul 14, 2020 at 1:45 AM Michael S. Tsirkin wrote: > > > > On Mon, Jul 13, 2020 at 08:10:14AM -0700, Alexander Duyck wrote: > > > On Sun, Jul 12, 2020 at 8:10 AM Michael S. Tsirkin wrote: > > > > > > > > On Fri, Jul 10, 2020 at 09:13:41AM -0700, Alexander Duyck wrote: > > > > > On Fri, Jul 10, 2020 at 4:31 AM Michael S. Tsirkin wrote: > > > > > > > > > > > > > As you say correctly the command id is actually assumed native endian: > > > > > > > > > > > > static u32 virtio_balloon_cmd_id_received(struct virtio_balloon *vb) > > > > { > > > > if (test_and_clear_bit(VIRTIO_BALLOON_CONFIG_READ_CMD_ID, > > > > &vb->config_read_bitmap)) > > > > virtio_cread(vb->vdev, struct virtio_balloon_config, > > > > free_page_hint_cmd_id, > > > > &vb->cmd_id_received_cache); > > > > > > > > return vb->cmd_id_received_cache; > > > > } > > > > > > > > > > > > So guest assumes native, host assumes LE. > > > > > > This wasn't even the one I was talking about, but now that you point > > > it out this is definately bug. The command ID I was talking about was > > > the one being passed via the descriptor ring. That one I believe is > > > native on both sides. > > > > Well qemu swaps it for modern devices: > > > > virtio_tswap32s(vdev, &id); > > > > guest swaps it too: > > vb->cmd_id_active = cpu_to_virtio32(vb->vdev, > > virtio_balloon_cmd_id_received(vb)); > > sg_init_one(&sg, &vb->cmd_id_active, sizeof(vb->cmd_id_active)); > > err = virtqueue_add_outbuf(vq, &sg, 1, &vb->cmd_id_active, GFP_KERNEL); > > > > So it's native for legacy. > > Okay, that makes sense. I just wasn't familiar with the virtio32 type. > > I guess that just means we need to fix the original issue you found > where the guest was assuming native for the command ID in the config. > Do you plan to patch that or should I? I'll do it. > > > > > > > > > > > > > > > > > > --- > > > > > > drivers/virtio/virtio_balloon.c | 9 +++++++++ > > > > > > 1 file changed, 9 insertions(+) > > > > > > > > > > > > diff --git a/drivers/virtio/virtio_balloon.c b/drivers/virtio/virtio_balloon.c > > > > > > index 5d4b891bf84f..b9bc03345157 100644 > > > > > > --- a/drivers/virtio/virtio_balloon.c > > > > > > +++ b/drivers/virtio/virtio_balloon.c > > > > > > @@ -1107,6 +1107,15 @@ static int virtballoon_restore(struct virtio_device *vdev) > > > > > > > > > > > > static int virtballoon_validate(struct virtio_device *vdev) > > > > > > { > > > > > > + /* > > > > > > + * Legacy devices never specified how modern features should behave. > > > > > > + * E.g. which endian-ness to use? Better not to assume anything. > > > > > > + */ > > > > > > + if (!virtio_has_feature(vdev, VIRTIO_F_VERSION_1)) { > > > > > > + __virtio_clear_bit(vdev, VIRTIO_BALLOON_F_FREE_PAGE_HINT); > > > > > > + __virtio_clear_bit(vdev, VIRTIO_BALLOON_F_PAGE_POISON); > > > > > > + __virtio_clear_bit(vdev, VIRTIO_BALLOON_F_REPORTING); > > > > > > + } > > > > > > /* > > > > > > * Inform the hypervisor that our pages are poisoned or > > > > > > * initialized. If we cannot do that then we should disable > > > > > > > > > > The patch content itself I am fine with since odds are nobody would > > > > > expect to use these features with a legacy device. > > > > > > > > > > Acked-by: Alexander Duyck > > > > > > > > Hmm so now you pointed out it's just cmd id, maybe I should just fix it > > > > instead? what do you say? > > > > > > So the config issues are bugs, but I don't think you saw the one I was > > > talking about. In the function send_cmd_id_start the cmd_id_active > > > value which is initialized as a virtio32 is added as a sg entry and > > > then sent as an outbuf to the device. I'm assuming virtio32 is a host > > > native byte ordering. > > > > IIUC it isn't :) virtio32 is guest native if device is legacy, and LE if > > device is modern. > > Okay. So I should probably document that for the spec I have been > working on. It looks like there is an example of similar documentation > for the memory statistics so it should be pretty straight forward. > > Thanks. > > - Alex "guest native if device is legacy, and LE if device is modern" is a standard virtio thing. Balloon has special language saying its config space is always LE. 2.4.3 Legacy Interface: A Note on Device Configuration Space endian-ness Note that for legacy interfaces, device configuration space is generally the guest’s native endian, rather than PCI’s little-endian. The correct endian-ness is documented for each device. This language could use some tweaking: e.g. "PCI" here refers to the time when PCI was the only transport. And most devices don't document endianness so just rely on standard one. Similarly: 2.6.3 Legacy Interfaces: A Note on Virtqueue Endianness Note that when using the legacy interface, transitional devices and drivers MUST use the native endian of the guest as the endian of fields and in the virtqueue. This is opposed to little-endian for non-legacy interface as specified by this standard. It is assumed that the host is already aware of the guest endian. Could use some love too, e.g. host -> device, guest -> driver. -- MST