From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mx1.redhat.com ([209.132.183.28]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1XoeZ8-0001BA-J3 for kexec@lists.infradead.org; Wed, 12 Nov 2014 20:30:59 +0000 Message-ID: <5463C35C.2000103@redhat.com> Date: Wed, 12 Nov 2014 21:30:20 +0100 From: Laszlo Ersek MIME-Version: 1.0 Subject: Re: uniquely identifying KDUMP files that originate from QEMU References: <5461F18C.2080400@redhat.com> <20141111130913.11eec0a3@hananiah.suse.cz> <20141112.120838.303682123986142686.d.hatayama@jp.fujitsu.com> <20141112090441.3ee42632@hananiah.suse.cz> <546373B8.70103@redhat.com> <20141112194325.246ff381@hananiah.suse.cz> In-Reply-To: <20141112194325.246ff381@hananiah.suse.cz> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "kexec" Errors-To: kexec-bounces+dwmw2=infradead.org@lists.infradead.org To: Petr Tesarik , anderson@redhat.com Cc: wency@cn.fujitsu.com, tumanova@linux.vnet.ibm.com, kexec@lists.infradead.org, qiaonuohan@cn.fujitsu.com, qemu-devel@nongnu.org, HATAYAMA Daisuke , kumagai-atsushi@mxc.nes.nec.co.jp, crash-utility@redhat.com YWRkaW5nIGJhY2sgYSBmZXcgQ0MncyBiZWNhdXNlIHRoaXMgZGlzY3Vzc2lvbiBpcyB1c2VmdWwK Ck9uIDExLzEyLzE0IDE5OjQzLCBQZXRyIFRlc2FyaWsgd3JvdGU6Cj4gViBXZWQsIDEyIE5vdiAy MDE0IDE1OjUwOjMyICswMTAwCj4gTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT4gbmFw c8Ohbm86Cj4gCj4+IE9uIDExLzEyLzE0IDA5OjA0LCBQZXRyIFRlc2FyaWsgd3JvdGU6Cj4+PiBP biBXZWQsIDEyIE5vdiAyMDE0IDEyOjA4OjM4ICswOTAwIChKU1QpCj4+PiBIQVRBWUFNQSBEYWlz dWtlIDxkLmhhdGF5YW1hQGpwLmZ1aml0c3UuY29tPiB3cm90ZToKPj4KPj4+PiBBbnl3YXksIHBo eXNfYmFzZSBpcyBrZXJuZWwgaW5mb3JtYXRpb24uIFRvIG1ha2UgaXQgYXZhaWxhYmxlIGZvciBx ZW11Cj4+Pj4gc2lkZSwgdGhlcmUncyBuZWVkIHRvIHByZXBhcmUgYSBtZWNoYW5pc20gZm9yIHFl bXUgdG8gaGF2ZSBhbnkgYWNjZXNzCj4+Pj4gdG8gaXQuCj4+Pgo+Pj4gWWVzLiBJIHdvbmRlciBp ZiB5b3UgY2FuIGhhdmUgYWNjZXNzIHdpdGhvdXQgc29tZSBzb3J0IG9mIGNvLW9wZXJhdGlvbgo+ Pj4gZnJvbSB0aGUgZ3Vlc3Qga2VybmVsIGl0c2VsZi4gSSBndWVzcyBub3QuCj4+Cj4+IFByb3Bh Z2F0aW5nIGFueSBraW5kIG9mIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gZnJvbSB0aGUgZ3Vlc3Qg a2VybmVsCj4+ICh3aGljaCBpcyB1bnByaXZpbGVnZWQgYW5kIHBvdGVudGlhbGx5IG1hbGljaW91 cykgdG8gdGhlIGhvc3Qtc2lkZSBxZW11Cj4+IHByb2Nlc3MgKHdoaWNoIGlzIGJ5IGRlZmluaXRp b24gbW9yZSBwcml2aWxlZ2VkLCBhbHRob3VnaCBzdGlsbCBjb25maW5lZAo+PiBieSB2YXJpb3Vz IG1lYXN1cmVzKSBpcyBzb21ldGhpbmcgd2UnZCBleHBsaWNpdGx5IGxpa2UgdG8gYXZvaWQuCj4+ Cj4+IFRoaW5rIG9mIGl0IGxpa2UgdGhpcy4gSSB0aHJvdyBhIHBoeXNpY2FsIGJveCBhdCB5b3Us IHJ1bm5pbmcgTGludXgsCj4+IHRoYXQgaGFzIGZyb3plbiBpbiB0aW1lLiBDYW4gImNyYXNoIiB3 b3JrIHdpdGggbm90aGluZyBlbHNlIGJ1dCB0aGUKPj4gY29udGVudHMgb2YgdGhlIG1lbW9yeSwg YW5kIGluZm9ybWF0aW9uIGFib3V0IHRoZSBDUFVzPwo+IAo+IElmIG9ubHkgeW91IGNvdWxkIHNh dmUgdGhlIF9jb21wbGV0ZV8gc3RhdGUgb2YgdGhlIENQVS4uLiBGb3IgZXhhbXBsZQo+IHRoZSBj b250ZW50IG9mIENSMyB3b3VsZCBiZSBxdWl0ZSB1c2VmdWwuCgooMSkgQ1IzIGlzIGFscmVhZHkg c2F2ZWQsIGluIGJvdGggdGhlIEVMRiBhbmQgdGhlIGtkdW1wIGNvbXByZXNzZWQgZm9ybWF0cy4K Ci0gRUxGIGNhc2U6CgpxbXBfZHVtcF9ndWVzdF9tZW1vcnkoKSBbZHVtcC5jXQogIGNyZWF0ZV92 bWNvcmUoKQogICAgZHVtcF9iZWdpbigpCiAgICAgIHdyaXRlX2VsZjY0X25vdGVzKCkKCiAgICAg ICAgbG9vcCBmcm9tIDEgdG8gI3ZjcHU6CiAgICAgICAgICBjcHVfd3JpdGVfZWxmNjRfbm90ZSgp IFtxb20vY3B1LmNdCiAgICAgICAgICAgIHg4Nl82NF93cml0ZV9lbGY2NF9ub3RlKCkgW3Rhcmdl dC1pMzg2L2FyY2hfZHVtcC5jXQogICAgICAgICAgICAgIHdyaXRlcyAiQ09SRSIKCiAgICAgICAg bG9vcCBmcm9tIDEgdG8gI3ZjcHU6CiAgICAgICAgICBjcHVfd3JpdGVfZWxmNjRfcWVtdW5vdGUo KSBbcW9tL2NwdS5jXQogICAgICAgICAgICB4ODZfY3B1X3dyaXRlX2VsZjY0X3FlbXVub3RlKCkg W3RhcmdldC1pMzg2L2FyY2hfZHVtcC5jXQogICAgICAgICAgICAgIGNwdV93cml0ZV9xZW11X25v dGUoKQogICAgICAgICAgICAgICAgcWVtdV9nZXRfY3B1c3RhdGUoKQogICAgICAgICAgICAgICAg ICBzLT5jclszXSA9IGVudi0+Y3JbM107IDwtLS0tLS0tLS0tIGhlcmUKICAgICAgICAgICAgICAg IHdyaXRlcyAiUUVNVSIKCkhlbmNlLCB0aGUgaW5mb3JtYXRpb24gaXMgcGFydCBvZiB0aGUgUUVN VSBub3RlLgoKLSBrZHVtcCBjYXNlOgoKcW1wX2R1bXBfZ3Vlc3RfbWVtb3J5KCkgW2R1bXAuY10K ICBjcmVhdGVfa2R1bXBfdm1jb3JlKCkKICAgIHdyaXRlX2R1bXBfaGVhZGVyKCkKICAgICAgY3Jl YXRlX2hlYWRlcjY0KCkKICAgICAgICB3cml0ZV9lbGY2NF9ub3RlcygpCiAgICAgICAgICBbLi4u IHNhbWUgYXMgYWJvdmUgLi4uXQoKVGhlIHRyaWNrIGhlcmUgaXMgdGhhdCB0aGUgbm90ZS13cml0 ZXIgZnVuY3Rpb25zIHVzZSBhIGNhbGxiYWNrIGZ1bmN0aW9uCmZvciBhY3R1YWxseSBvdXRwdXR0 aW5nIHRoZSBkYXRhLiBTbyB3aGlsZSBpbiB0aGUgRUxGIGNhc2UgdGhlIHN0dWZmCmdvZXMgZGly ZWN0bHkgdG8gYSBmaWxlLCBpbiB0aGUga2R1bXAgY2FzZSB0aGUgbm90ZXMgYXJlIGZpcnN0IHNh dmVkIGluCmEgbWVtb3J5IGJ1ZmZlciwgYW5kIHRoZW4gbGF0ZXIgc2F2ZWQgaW4gdGhlIGZpbGUg YXQgb2Zmc2V0CktkdW1wU3ViSGVhZGVyNjQub2Zmc2V0X25vdGUuICguLi4gV2hpY2ggaXMgdGhl biByZXByZXNlbnRlZCBpbiB0aGUKZmxhdHRlbmVkIGZpbGUgZm9ybWF0IG9mIGNvdXJzZS4pCgpT bywgdGhlIGluZm9ybWF0aW9uIGlzIHRoZXJlIGluIGJvdGggY2FzZXMuCgoKKDIpIERhdmUgLS0g dGhpcyBqdXN0IG1hZGUgbWUgcmVhbGl6ZSB0aGF0IHRoZSBRRU1VIG5vdGUgaXMgKmFscmVhZHkq CnRoZXJlIGluIHRoZSBrZHVtcCBmaWxlIGFzIHdlbGw7IHBvaW50ZWQtdG8gYnkKS2R1bXBTdWJI ZWFkZXI2NC5vZmZzZXRfbm90ZSwgZm9yIGEgbGVuZ3RoIG9mIEtkdW1wU3ViSGVhZGVyNjQubm90 ZV9zaXplLgoKRnJvbSB5b3VyIG90aGVyIGVtYWlsCjxodHRwOi8vdGhyZWFkLmdtYW5lLm9yZy9n bWFuZS5saW51eC5rZXJuZWwua2V4ZWMvMTI3ODcvZm9jdXM9MTI3OTc+OgoKPiAgICAgc3ViX2hl YWRlcl9rZHVtcDogMWM5Y2ZmMAo+ICAgICAgICAgICAgICBwaHlzX2Jhc2U6IDAKPiAgICAgICAg ICAgICBkdW1wX2xldmVsOiAxICgweDEpIChEVU1QX0VYQ0xVREVfWkVSTykKPiAgICAgICAgICAg ICAgICAgIHNwbGl0OiAwCj4gICAgICAgICAgICAgIHN0YXJ0X3BmbjogKHVudXNlZCkKPiAgICAg ICAgICAgICAgICBlbmRfcGZuOiAodW51c2VkKQo+ICAgICAgb2Zmc2V0X3ZtY29yZWluZm86IDAg KDB4MCkKPiAgICAgICAgc2l6ZV92bWNvcmVpbmZvOiAwICgweDApCj4gICAgICAgICAgICBvZmZz ZXRfbm90ZTogNDIwMCAoMHgxMDY4KSAgICAgICA8LS0tLS0tLS0tLS0gaGVyZQo+ICAgICAgICAg ICAgICBzaXplX25vdGU6IDMyMzIgKDB4Y2EwKSAgICAgICAgPC0tLS0tLS0tLS0tCj4gICAgIG51 bV9wcnN0YXR1c19ub3RlczogNAo+ICAgICAgICAgICAgICBub3Rlc19idWY6IDFjOWUwMDAKPiAg ICAgICAgICAgICAgIG5vdGVzWzBdOiAxYzllMDAwCj4gICAgICAgICAgICAgICBub3Rlc1sxXTog MWM5ZTE2NAo+ICAgICAgICAgICAgICAgbm90ZXNbMl06IDFjOWUyYzgKPiAgICAgICAgICAgICAg IG5vdGVzWzNdOiAxYzllNDJjCj4gICAgIE5UX1BSU1RBVFVTX29mZnNldDogMTA2OAo+ICAgICAg ICAgICAgICAgICAgICAgICAgIDExY2MKPiAgICAgICAgICAgICAgICAgICAgICAgICAxMzMwCj4g ICAgICAgICAgICAgICAgICAgICAgICAgMTQ5NAo+ICAgICAgIG9mZnNldF9lcmFzZWluZm86IDAg KDB4MCkKPiAgICAgICAgIHNpemVfZXJhc2VpbmZvOiAwICgweDApCj4gICAgICAgICAgIHN0YXJ0 X3Bmbl82NDogKHVudXNlZCkKPiAgICAgICAgICAgICBlbmRfcGZuXzY0OiAodW51c2VkKQo+ICAg ICAgICAgICBtYXhfbWFwbnJfNjQ6IDEyNDUxODQgKDB4MTMwMDAwKQoKQ2FuIHlvdSBmZXRjaCB0 aGF0IGluICJjcmFzaCI/IElmIHlvdSBjYW4sIHRoZW4gdGhlcmUncyBub3RoaW5nIHRvIGRvIG9u CnRoZSBxZW11IHNpZGUgKGFuZCBJJ2xsIGhhdmUgdG8gYXBvbG9naXplIGZvciBzcGFtbWluZyBh IGJ1bmNoIG9mIGxpc3RzIDovKS4KCkkgdGhpbmsgImNyYXNoIiBhbHJlYWR5IGl0ZXJhdGVzIG92 ZXIgYWxsIG9mIHRoZSBub3RlcyBpbiB0aGUgbm90ZQpidWZmZXIsIGJ1dCBza2lwcyBldmVyeXRo aW5nIGRpZmZlcmVudCBmcm9tIE5UX1BSU1RBVFVTLgoKCigzKSBSZWdhcmRpbmcgdGhlIHN0cnVj dHVyZSBvZiB0aGUgbm90ZXMsIHdlIGhhdmUgdG8gY29uc2lkZXIgdGhlCnBsYWNlbWVudCBvZiB0 aGUgbm90ZXMgYW5kIHRoZWlyIGludGVybmFsIHN0cnVjdHVyZS4gVGhlIHBsYWNlbWVudCBpcwpk aWZmZXJlbnQgYmV0d2VlbiB0aGUgRUxGIGFuZCB0aGUgS0RVTVAgZmlsZSBmb3JtYXQuIFRoZSBp bnRlcm5hbApzdHJ1Y3R1cmUgb2YgdGhlIG5vdGVzIGlzIGlkZW50aWNhbCBiZXR3ZWVuIHRoZSB0 d28gZmlsZSBmb3JtYXRzLgoKRm9yIGV4YW1wbGUsIGZvciBhIDQgVkNQVSBndWVzdCwgeW91IGVu ZCB1cCB3aXRoIG5vdGUgbmFtZXMgbGlrZQoKICBDT1JFCiAgQ09SRQogIENPUkUKICBDT1JFCiAg UUVNVQogIFFFTVUKICBRRU1VCiAgUUVNVQoKQWxsIG9mIHRoZXNlIGFyZSBFbGY2NF9OaGRyIHN0 cnVjdHVyZXMuIFRoZSBDT1JFIG9uZXMgaGF2ZSB0eXBlCk5UX1BSU1RBVFVTLCBhbmQgdGhlIFFF TVUgb25lcyBoYXZlIHR5cGUgMC4KCigzYSkgVGhlIHBsYWNlbWVudCBpbiB0aGUgRUxGIGZpbGUg aXMgYWxyZWFkeSBoYW5kbGVkIGJ5ICJjcmFzaCIuIEVhY2gKbm90ZSAic2ltcGx5IiBnZXRzIGl0 cyBvd24gRUxGIG5vdGUgc2VnbWVudC9zZWN0aW9uLgoKKDNiKSBJbiB0aGUga2R1bXAgZmlsZSwg dGhlIEVsZjY0X05oZHIgc3RydWN0dXJlcyAoOCBwaWVjZXMgaW4gdG90YWwsIGluCnRoZSBhYm92 ZSBleGFtcGxlIC0tIDR4IENPUkUsIDR4IFFFTVUpIGFyZSBjb25jYXRlbmF0ZWQgaW4gdGhhdCBv cmRlciwKYW5kIGZpbmFsbHkgc3RvcmVkIGF0ICJvZmZzZXRfbm90ZSIuCgooM2MpIFJlZ2FyZGlu ZyB0aGUgaW50ZXJuYWwgc3RydWN0dXJlIG9mIHRoZSBub3Rlcy4gVGhlIENPUkUgb25lcyBhcmUK YWxyZWFkeSBrbm93biBhbmQgaGFuZGxlZC4gVGhlIFFFTVUgbm90ZXMgaGF2ZSB0aGUgZm9sbG93 aW5nIHN0cnVjdHVyZToKCj4gRWxmNjRfTmhkcjoKPiBuX25hbWVzejogNSAoIlFFTVUiKQo+IG5f ZGVzY3N6OiA0MzIKPiAgIG5fdHlwZTogMCAoPykKPiAgICAgICAgICAgMDAwMDAxYjAwMDAwMDAw MSAwMDAwMDAwMDAwMDAwMDAwCiAgICAgICAgICAgIHwtLS0tLS18fC0tLS0tLXwgfC0tLS0tLS0t LS0tLS0tfAogICAgICAgICAgICBzaXplICAgIHZlcnNpb24gIHJheAoKPiAgICAgICAgICAgMDAw MDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwCiAgICAgICAgICAgIHwtLS0tLS0tLS0tLS0t LXwgfC0tLS0tLS0tLS0tLS0tfAogICAgICAgICAgICByYnggICAgICAgICAgICAgIHJjeAoKPiAg ICAgICAgICAgMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAxCiAgICAgICAgICAgIHwt LS0tLS0tLS0tLS0tLXwgfC0tLS0tLS0tLS0tLS0tfAogICAgICAgICAgICByZHggICAgICAgICAg ICAgIHJzaQoKPiAgICAgICAgICAgZmZmZmZmZmY4MWRkNTIyOCBmZmZmZmZmZjgxYTAxZWM4CiAg ICAgICAgICAgIHwtLS0tLS0tLS0tLS0tLXwgfC0tLS0tLS0tLS0tLS0tfAogICAgICAgICAgICBy ZGkgICAgICAgICAgICAgIHJzcAoKPiAgICAgICAgICAgZmZmZmZmZmY4MWEwMWVjOCAwMDAwMDAw MDAwMDAwMDAwCiAgICAgICAgICAgIHwtLS0tLS0tLS0tLS0tLXwgfC0tLS0tLS0tLS0tLS0tfAog ICAgICAgICAgICByYnAgICAgICAgICAgICAgIHI4Cgo+ICAgICAgICAgICAwMDAwMDAwMDAwMDAw MDAwIDAwMDAwMDEzOTExZDVmMjkKICAgICAgICAgICAgfC0tLS0tLS0tLS0tLS0tfCB8LS0tLS0t LS0tLS0tLS18CiAgICAgICAgICAgIHI5ICAgICAgICAgICAgICAgcjEwCgo+ICAgICAgICAgICAw MDAwMDAwMDAwMDAwMDAwIGZmZmZmZmZmODFjMDA0ODAKICAgICAgICAgICAgfC0tLS0tLS0tLS0t LS0tfCB8LS0tLS0tLS0tLS0tLS18CiAgICAgICAgICAgIHIxMSAgICAgICAgICAgICAgcjEyCgo+ ICAgICAgICAgICAwMDAwMDAwMDAwMDAwMDAwIGZmZmZmZmZmZmZmZmZmZmYKICAgICAgICAgICAg fC0tLS0tLS0tLS0tLS0tfCB8LS0tLS0tLS0tLS0tLS18CiAgICAgICAgICAgIHIxMyAgICAgICAg ICAgICAgcjE0Cgo+ICAgICAgICAgICAwMDAwMDAwMDAzMDlmMDAwIGZmZmZmZmZmODEwMzc1YWIK ICAgICAgICAgICAgfC0tLS0tLS0tLS0tLS0tfCB8LS0tLS0tLS0tLS0tLS18CiAgICAgICAgICAg IHIxNSAgICAgICAgICAgICAgcmlwCgo+ICAgICAgICAgICAwMDAwMDAwMDAwMDAwMjQ2IGZmZmZm ZmZmMDAwMDAwMTAKICAgICAgICAgICAgfC0tLS0tLS0tLS0tLS0tfCB8LS0tLS0tfHwtLS0tLS18 CiAgICAgICAgICAgIHJmbGFncyAgICAgICAgICAgY3MvbGltICBjcy9zZWwKCj4gICAgICAgICAg IDAwMDAwMDAwMDBhMDliMDAgMDAwMDAwMDAwMDAwMDAwMAogICAgICAgICAgICB8LS0tLS0tfHwt LS0tLS18IHwtLS0tLS0tLS0tLS0tLXwKICAgICAgICAgICAgY3MvcGFkICBjcy9mbGFncyBjcy9i YXNlCgo+ICAgICAgICAgICBmZmZmZmZmZjAwMDAwMDE4IDAwMDAwMDAwMDBjMDkzMDAKICAgICAg ICAgICAgfC0tLS0tLXx8LS0tLS0tfCB8LS0tLS0tfHwtLS0tLS18CiAgICAgICAgICAgIGRzL2xp bSAgZHMvc2VsICAgZHMvcGFkICBkcy9mbGFncwoKPiAgICAgICAgICAgMDAwMDAwMDAwMDAwMDAw MCBmZmZmZmZmZjAwMDAwMDE4CiAgICAgICAgICAgIHwtLS0tLS0tLS0tLS0tLXwgfC0tLS0tLXx8 LS0tLS0tfAogICAgICAgICAgICBkcy9iYXNlICAgICAgICAgIGVzL2xpbSAgZXMvc2VsCgo+ICAg ICAgICAgICAwMDAwMDAwMDAwYzA5MzAwIDAwMDAwMDAwMDAwMDAwMDAKICAgICAgICAgICAgfC0t LS0tLXx8LS0tLS0tfCB8LS0tLS0tLS0tLS0tLS18CiAgICAgICAgICAgIGVzL3BhZCAgZXMvZmxh Z3MgZXMvYmFzZQoKPiAgICAgICAgICAgZmZmZmZmZmYwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAw CiAgICAgICAgICAgIHwtLS0tLS18fC0tLS0tLXwgfC0tLS0tLXx8LS0tLS0tfAogICAgICAgICAg ICBmcy9saW0gIGZzL3NlbCAgIGZzL3BhZCAgZnMvZmxhZ3MKCj4gICAgICAgICAgIDAwMDAwMDAw MDAwMDAwMDAgZmZmZmZmZmYwMDAwMDAwMAogICAgICAgICAgICB8LS0tLS0tLS0tLS0tLS18IHwt LS0tLS18fC0tLS0tLXwKICAgICAgICAgICAgZnMvYmFzZSAgICAgICAgICBncy9saW0gIGdzL3Nl bAoKPiAgICAgICAgICAgMDAwMDAwMDAwMDAwMDAwMCBmZmZmODgwMDAzMjAwMDAwCiAgICAgICAg ICAgIHwtLS0tLS18fC0tLS0tLXwgfC0tLS0tLS0tLS0tLS0tfAogICAgICAgICAgICBncy9wYWQg IGdzL2ZsYWdzIGdzL2Jhc2UKCj4gICAgICAgICAgIGZmZmZmZmZmMDAwMDAwMTggMDAwMDAwMDAw MGMwOTMwMAogICAgICAgICAgICB8LS0tLS0tfHwtLS0tLS18IHwtLS0tLS18fC0tLS0tLXwKICAg ICAgICAgICAgc3MvbGltICBzcy9zZWwgICBzcy9wYWQgIHNzL2ZsYWdzCgo+ICAgICAgICAgICAw MDAwMDAwMDAwMDAwMDAwIGZmZmZmZmZmMDAwMDAwMDAKICAgICAgICAgICAgfC0tLS0tLS0tLS0t LS0tfCB8LS0tLS0tfHwtLS0tLS18CiAgICAgICAgICAgIHNzL2Jhc2UgICAgICAgICAgbGR0Li4u Cgo+ICAgICAgICAgICAwMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMDAKICAgICAgICAg ICAgfC0tLS0tLXx8LS0tLS0tfCB8LS0tLS0tLS0tLS0tLS18CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC4uLmxkdAoKPiAgICAgICAgICAgMDAwMDIwODcwMDAwMDA0MCAw MDAwMDAwMDAwMDA4YjAwCiAgICAgICAgICAgIHwtLS0tLS18fC0tLS0tLXwgfC0tLS0tLXx8LS0t LS0tfAogICAgICAgICAgICB0ci4uLgoKPiAgICAgICAgICAgZmZmZjg4MDAwMzIxM2I0MCAwMDAw MDA3ZjAwMDAwMDAwCiAgICAgICAgICAgIHwtLS0tLS0tLS0tLS0tLXwgfC0tLS0tLXx8LS0tLS0t fAogICAgICAgICAgICAgICAgICAgICAgIC4uLnRyIGdkdC4uLgoKPiAgICAgICAgICAgMDAwMDAw MDAwMDAwMDAwMCBmZmZmODgwMDAzMjA0MDAwCiAgICAgICAgICAgIHwtLS0tLS18fC0tLS0tLXwg fC0tLS0tLS0tLS0tLS0tfAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAu Li5nZHQKCj4gICAgICAgICAgIDAwMDAwZmZmMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAwMAogICAg ICAgICAgICB8LS0tLS0tfHwtLS0tLS18IHwtLS0tLS18fC0tLS0tLXwKICAgICAgICAgICAgaWR0 Li4uCgo+ICAgICAgICAgICBmZmZmZmZmZjgxZGQyMDAwIDAwMDAwMDAwODAwNTAwM2IKICAgICAg ICAgICAgfC0tLS0tLS0tLS0tLS0tfCB8LS0tLS0tLS0tLS0tLS18CiAgICAgICAgICAgICAgICAg ICAgICAuLi5pZHQgY3IwCgo+ICAgICAgICAgICAwMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDFi MmUwMDAKICAgICAgICAgICAgfC0tLS0tLS0tLS0tLS0tfCB8LS0tLS0tLS0tLS0tLS18CiAgICAg ICAgICAgIGNyMSAgICAgICAgICAgICAgY3IyCgo+ICAgICAgICAgICAwMDAwMDAwMDA3YjE4MDAw IDAwMDAwMDAwMDAwMDA2ZjAKICAgICAgICAgICAgfC0tLS0tLS0tLS0tLS0tfCB8LS0tLS0tLS0t LS0tLS18CiAgICAgICAgICAgIGNyMyAgICAgICAgICAgICAgY3I0CgpGcm9tICJ0YXJnZXQtaTM4 Ni9hcmNoX2R1bXAuYyI6Cgo+IHN0cnVjdCBRRU1VQ1BVU2VnbWVudCB7Cj4gICAgIHVpbnQzMl90 IHNlbGVjdG9yOwo+ICAgICB1aW50MzJfdCBsaW1pdDsKPiAgICAgdWludDMyX3QgZmxhZ3M7Cj4g ICAgIHVpbnQzMl90IHBhZDsKPiAgICAgdWludDY0X3QgYmFzZTsKPiB9Owo+Cj4gdHlwZWRlZiBz dHJ1Y3QgUUVNVUNQVVNlZ21lbnQgUUVNVUNQVVNlZ21lbnQ7Cj4KPiBzdHJ1Y3QgUUVNVUNQVVN0 YXRlIHsKPiAgICAgdWludDMyX3QgdmVyc2lvbjsKPiAgICAgdWludDMyX3Qgc2l6ZTsKPiAgICAg dWludDY0X3QgcmF4LCByYngsIHJjeCwgcmR4LCByc2ksIHJkaSwgcnNwLCByYnA7Cj4gICAgIHVp bnQ2NF90IHI4LCByOSwgcjEwLCByMTEsIHIxMiwgcjEzLCByMTQsIHIxNTsKPiAgICAgdWludDY0 X3QgcmlwLCByZmxhZ3M7Cj4gICAgIFFFTVVDUFVTZWdtZW50IGNzLCBkcywgZXMsIGZzLCBncywg c3M7Cj4gICAgIFFFTVVDUFVTZWdtZW50IGxkdCwgdHIsIGdkdCwgaWR0Owo+ICAgICB1aW50NjRf dCBjcls1XTsKPiB9Owo+Cj4gdHlwZWRlZiBzdHJ1Y3QgUUVNVUNQVVN0YXRlIFFFTVVDUFVTdGF0 ZTsKCgpTdW1tYXJ5OiBJIHRoaW5rIHRoZSBpbmZvIGlzIGFsbCB0aGVyZS4KClRoYW5rcwpMYXN6 bG8KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmtleGVj IG1haWxpbmcgbGlzdAprZXhlY0BsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZy YWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8va2V4ZWMK From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54991) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XoeZI-0000oJ-0m for qemu-devel@nongnu.org; Wed, 12 Nov 2014 15:31:12 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XoeZD-0003F5-MM for qemu-devel@nongnu.org; Wed, 12 Nov 2014 15:31:07 -0500 Received: from mx1.redhat.com ([209.132.183.28]:41932) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XoeZD-0003Ex-FW for qemu-devel@nongnu.org; Wed, 12 Nov 2014 15:31:03 -0500 Message-ID: <5463C35C.2000103@redhat.com> Date: Wed, 12 Nov 2014 21:30:20 +0100 From: Laszlo Ersek MIME-Version: 1.0 References: <5461F18C.2080400@redhat.com> <20141111130913.11eec0a3@hananiah.suse.cz> <20141112.120838.303682123986142686.d.hatayama@jp.fujitsu.com> <20141112090441.3ee42632@hananiah.suse.cz> <546373B8.70103@redhat.com> <20141112194325.246ff381@hananiah.suse.cz> In-Reply-To: <20141112194325.246ff381@hananiah.suse.cz> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] uniquely identifying KDUMP files that originate from QEMU List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Petr Tesarik , anderson@redhat.com Cc: tumanova@linux.vnet.ibm.com, kexec@lists.infradead.org, qiaonuohan@cn.fujitsu.com, qemu-devel@nongnu.org, HATAYAMA Daisuke , kumagai-atsushi@mxc.nes.nec.co.jp, crash-utility@redhat.com adding back a few CC's because this discussion is useful On 11/12/14 19:43, Petr Tesarik wrote: > V Wed, 12 Nov 2014 15:50:32 +0100 > Laszlo Ersek naps=C3=A1no: >=20 >> On 11/12/14 09:04, Petr Tesarik wrote: >>> On Wed, 12 Nov 2014 12:08:38 +0900 (JST) >>> HATAYAMA Daisuke wrote: >> >>>> Anyway, phys_base is kernel information. To make it available for qe= mu >>>> side, there's need to prepare a mechanism for qemu to have any acces= s >>>> to it. >>> >>> Yes. I wonder if you can have access without some sort of co-operatio= n >>> from the guest kernel itself. I guess not. >> >> Propagating any kind of additional information from the guest kernel >> (which is unprivileged and potentially malicious) to the host-side qem= u >> process (which is by definition more privileged, although still confin= ed >> by various measures) is something we'd explicitly like to avoid. >> >> Think of it like this. I throw a physical box at you, running Linux, >> that has frozen in time. Can "crash" work with nothing else but the >> contents of the memory, and information about the CPUs? >=20 > If only you could save the _complete_ state of the CPU... For example > the content of CR3 would be quite useful. (1) CR3 is already saved, in both the ELF and the kdump compressed format= s. - ELF case: qmp_dump_guest_memory() [dump.c] create_vmcore() dump_begin() write_elf64_notes() loop from 1 to #vcpu: cpu_write_elf64_note() [qom/cpu.c] x86_64_write_elf64_note() [target-i386/arch_dump.c] writes "CORE" loop from 1 to #vcpu: cpu_write_elf64_qemunote() [qom/cpu.c] x86_cpu_write_elf64_qemunote() [target-i386/arch_dump.c] cpu_write_qemu_note() qemu_get_cpustate() s->cr[3] =3D env->cr[3]; <---------- here writes "QEMU" Hence, the information is part of the QEMU note. - kdump case: qmp_dump_guest_memory() [dump.c] create_kdump_vmcore() write_dump_header() create_header64() write_elf64_notes() [... same as above ...] The trick here is that the note-writer functions use a callback function for actually outputting the data. So while in the ELF case the stuff goes directly to a file, in the kdump case the notes are first saved in a memory buffer, and then later saved in the file at offset KdumpSubHeader64.offset_note. (... Which is then represented in the flattened file format of course.) So, the information is there in both cases. (2) Dave -- this just made me realize that the QEMU note is *already* there in the kdump file as well; pointed-to by KdumpSubHeader64.offset_note, for a length of KdumpSubHeader64.note_size. >>From your other email : > sub_header_kdump: 1c9cff0 > phys_base: 0 > dump_level: 1 (0x1) (DUMP_EXCLUDE_ZERO) > split: 0 > start_pfn: (unused) > end_pfn: (unused) > offset_vmcoreinfo: 0 (0x0) > size_vmcoreinfo: 0 (0x0) > offset_note: 4200 (0x1068) <----------- here > size_note: 3232 (0xca0) <----------- > num_prstatus_notes: 4 > notes_buf: 1c9e000 > notes[0]: 1c9e000 > notes[1]: 1c9e164 > notes[2]: 1c9e2c8 > notes[3]: 1c9e42c > NT_PRSTATUS_offset: 1068 > 11cc > 1330 > 1494 > offset_eraseinfo: 0 (0x0) > size_eraseinfo: 0 (0x0) > start_pfn_64: (unused) > end_pfn_64: (unused) > max_mapnr_64: 1245184 (0x130000) Can you fetch that in "crash"? If you can, then there's nothing to do on the qemu side (and I'll have to apologize for spamming a bunch of lists := /). I think "crash" already iterates over all of the notes in the note buffer, but skips everything different from NT_PRSTATUS. (3) Regarding the structure of the notes, we have to consider the placement of the notes and their internal structure. The placement is different between the ELF and the KDUMP file format. The internal structure of the notes is identical between the two file formats. For example, for a 4 VCPU guest, you end up with note names like CORE CORE CORE CORE QEMU QEMU QEMU QEMU All of these are Elf64_Nhdr structures. The CORE ones have type NT_PRSTATUS, and the QEMU ones have type 0. (3a) The placement in the ELF file is already handled by "crash". Each note "simply" gets its own ELF note segment/section. (3b) In the kdump file, the Elf64_Nhdr structures (8 pieces in total, in the above example -- 4x CORE, 4x QEMU) are concatenated in that order, and finally stored at "offset_note". (3c) Regarding the internal structure of the notes. The CORE ones are already known and handled. The QEMU notes have the following structure: > Elf64_Nhdr: > n_namesz: 5 ("QEMU") > n_descsz: 432 > n_type: 0 (?) > 000001b000000001 0000000000000000 |------||------| |--------------| size version rax > 0000000000000000 0000000000000000 |--------------| |--------------| rbx rcx > 0000000000000000 0000000000000001 |--------------| |--------------| rdx rsi > ffffffff81dd5228 ffffffff81a01ec8 |--------------| |--------------| rdi rsp > ffffffff81a01ec8 0000000000000000 |--------------| |--------------| rbp r8 > 0000000000000000 00000013911d5f29 |--------------| |--------------| r9 r10 > 0000000000000000 ffffffff81c00480 |--------------| |--------------| r11 r12 > 0000000000000000 ffffffffffffffff |--------------| |--------------| r13 r14 > 000000000309f000 ffffffff810375ab |--------------| |--------------| r15 rip > 0000000000000246 ffffffff00000010 |--------------| |------||------| rflags cs/lim cs/sel > 0000000000a09b00 0000000000000000 |------||------| |--------------| cs/pad cs/flags cs/base > ffffffff00000018 0000000000c09300 |------||------| |------||------| ds/lim ds/sel ds/pad ds/flags > 0000000000000000 ffffffff00000018 |--------------| |------||------| ds/base es/lim es/sel > 0000000000c09300 0000000000000000 |------||------| |--------------| es/pad es/flags es/base > ffffffff00000000 0000000000000000 |------||------| |------||------| fs/lim fs/sel fs/pad fs/flags > 0000000000000000 ffffffff00000000 |--------------| |------||------| fs/base gs/lim gs/sel > 0000000000000000 ffff880003200000 |------||------| |--------------| gs/pad gs/flags gs/base > ffffffff00000018 0000000000c09300 |------||------| |------||------| ss/lim ss/sel ss/pad ss/flags > 0000000000000000 ffffffff00000000 |--------------| |------||------| ss/base ldt... > 0000000000000000 0000000000000000 |------||------| |--------------| ...ldt > 0000208700000040 0000000000008b00 |------||------| |------||------| tr... > ffff880003213b40 0000007f00000000 |--------------| |------||------| ...tr gdt... > 0000000000000000 ffff880003204000 |------||------| |--------------| ...gdt > 00000fff00000000 0000000000000000 |------||------| |------||------| idt... > ffffffff81dd2000 000000008005003b |--------------| |--------------| ...idt cr0 > 0000000000000000 0000000001b2e000 |--------------| |--------------| cr1 cr2 > 0000000007b18000 00000000000006f0 |--------------| |--------------| cr3 cr4 >>From "target-i386/arch_dump.c": > struct QEMUCPUSegment { > uint32_t selector; > uint32_t limit; > uint32_t flags; > uint32_t pad; > uint64_t base; > }; > > typedef struct QEMUCPUSegment QEMUCPUSegment; > > struct QEMUCPUState { > uint32_t version; > uint32_t size; > uint64_t rax, rbx, rcx, rdx, rsi, rdi, rsp, rbp; > uint64_t r8, r9, r10, r11, r12, r13, r14, r15; > uint64_t rip, rflags; > QEMUCPUSegment cs, ds, es, fs, gs, ss; > QEMUCPUSegment ldt, tr, gdt, idt; > uint64_t cr[5]; > }; > > typedef struct QEMUCPUState QEMUCPUState; Summary: I think the info is all there. Thanks Laszlo