From mboxrd@z Thu Jan 1 00:00:00 1970 From: machi1271 Subject: Re: Modify cr0 at dom0 Date: Fri, 17 Oct 2014 15:14:34 +0800 Message-ID: <201410171514301630964@gmail.com> References: <201410170947517919470@gmail.com>, <5440B647.2000502@bitdefender.com> <201410171434447719581@gmail.com>, <5440BBBD.4040709@bitdefender.com> Reply-To: machi1271 Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0130163055619504797==" Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Razvan Cojocaru , xen-devel List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format. --===============0130163055619504797== Content-Type: multipart/alternative; boundary="----=_001_NextPart581547053873_=----" This is a multi-part message in MIME format. ------=_001_NextPart581547053873_=---- Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 SSd2IHRyaWVkIHRoZSB3YXkgdG8gbW9kaWZ5IENSMCBieSB3cml0aW5nIHRvIGl0IGRpcmVjdGx5 LiBCdXQgSSBnb3QgdGhlIGZvbGxvd2luZyBlcnJvcjoNCgIoWEVOKSB0cmFwcy5jOjE3Njg6ZDAg QXR0ZW1wdCB0byBjaGFuZ2UgdW5tb2RpZmlhYmxlIENSMCBmbGFncy4NCmdlbmVyYWwgcHJvdGVj dGlvbiBmYXVsdDogMDAwMCBbMV0gU01QIA0KbGFzdCBzeXNmcyBmaWxlOiAvZGV2aWNlcy9wY2kw MDAwOjAwLzAwMDA6MDA6MDAuMC9yZXNvdXJjZQ0KQ1BVIDAgDQpNb2R1bGVzIGxpbmtlZCBpbjog ZnNwKFUpIGF1dG9mczQgaGlkcCByZmNvbW0gbDJjYXAgYmx1ZXRvb3RoIGxvY2tkIHN1bnJwYyBp cF9jb25udHJhY2tfbmV0Ymlvc19ucyBpcF9jb25udHJhY2sgbmZuZXRsaW5rIHh0X3RjcHVkcCBp cHRhYmxlX2ZpbHRlciBpcF90YWJsZXMgeF90YWJsZXMgYWNwaXBocCBsb29wIGRtX211bHRpcGF0 aCBzY3NpX2RoIHZpZGVvIGJhY2tsaWdodCBzYnMgcG93ZXJfbWV0ZXIgaHdtb24gaTJjX2VjIGRl bGxfd21pIHdtaSBidXR0b24gYmF0dGVyeSBhc3VzX2FjcGkgYWMgaXB2NiB4ZnJtX25hbGdvIGNy eXB0b19hcGkgbHAgam95ZGV2IGZsb3BweSBzZyBzbmRfZW5zMTM3MSBnYW1lcG9ydCBpMmNfcGlp eDQgc25kX3Jhd21pZGkgc25kX2FjOTdfY29kZWMgYWM5N19idXMgc25kX3NlcV9kdW1teSBzbmRf c2VxX29zcyBzbmRfc2VxX21pZGlfZXZlbnQgc25kX3NlcSBpMmNfY29yZSBwY3Nwa3Igc25kX3Nl cV9kZXZpY2Ugc25kX3BjbV9vc3Mgc25kX21peGVyX29zcyBzbmRfcGNtIGUxMDAwIHNuZF90aW1l ciBzbmQgc291bmRjb3JlIHNuZF9wYWdlX2FsbG9jIHNocGNocCBzZXJpb19yYXcgaWRlX2NkIHBh cnBvcnRfcGMgcGFycG9ydCBjZHJvbSBzZXJpYWxfY29yZSBkbV9yYWlkNDUgZG1fbWVzc2FnZSBk bV9yZWdpb25faGFzaCBkbV9tZW1fY2FjaGUgZG1fc25hcHNob3QgZG1femVybyBkbV9taXJyb3Ig ZG1fbG9nIGRtX21vZCBhdGFfcGlpeCBsaWJhdGEgbXB0c3BpIG1wdHNjc2loIG1wdGJhc2Ugc2Nz aV90cmFuc3BvcnRfc3BpIHNkX21vZCBzY3NpX21vZCBleHQzIGpiZCB1aGNpX2hjZCBvaGNpX2hj ZCBlaGNpX2hjZA0KUGlkOiA0MTAzLCBjb21tOiBpbnNtb2QgVGFpbnRlZDogRyAgICAgIDIuNi4x OC0xOTQuZWw1eGVuICMxDQpSSVA6IGUwMzA6WzxmZmZmZmZmZjg4MjE4MDIwPl0gIFs8ZmZmZmZm ZmY4ODIxODAyMD5dIDpmc3A6aW5pdF9mc3ArMHgyMC8weDJkDQpSU1A6IGUwMmI6ZmZmZjg4MDAy NTE0NWY1MCAgRUZMQUdTOiAwMDAxMDIwMg0KUkFYOiAwMDAwMDAwMDgwMDQwMDNiIFJCWDogZmZm ZmZmZmY4ODY4MDYwMCBSQ1g6IDAwMDAwMDAwMDAwMDAwMDANClJEWDogMDAwMDAwMDA4MDA1MDAz YiBSU0k6IDAwMDAwMDAwMDAwMDAwMDAgUkRJOiAwMDAwMDAwMDAwMDAwMDAwDQpSQlA6IDAwMDAw MDAwMWZjNjUwNjAgUjA4OiAwMDAwMDAwMDFmYzY1MDYwIFIwOTogMDAwMDAwMDAwMDAwMDAwMA0K UjEwOiBmZmZmODgwMDI0OTY3MzYwIFIxMTogZmZmZjg4MDAzMmM0MjEwMCBSMTI6IDAwMDAwMDAw MDAwOTRlZTUNClIxMzogMDAwMDJiMzM4M2RjNjAxMCBSMTQ6IDAwMDAwMDAwMDAxMDAwMDAgUjE1 OiAwMDAwMDAwMDAwMTAwMDAwDQpGUzogIDAwMDAyYjMzODNkYzU3NTAoMDAwMCkgR1M6ZmZmZmZm ZmY4MDVkMjAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwDQpDUzogIGUwMzMgRFM6IDAw MDAgRVM6IDAwMDANClByb2Nlc3MgaW5zbW9kIChwaWQ6IDQxMDMsIHRocmVhZGluZm8gZmZmZjg4 MDAyNTE0NDAwMCwgdGFzayBmZmZmODgwMDMyYzQyMTAwKQ0KU3RhY2s6ICBmZmZmZmZmZjgwMmEy OGU4ICAwMDAwMDAwMDAwMTAwMDAwICAwMDAwMmIzMzgzZGM2MDEwICAwMDAwMDAwMDAwMDAwMDAz IA0KIDAwMDA3ZmZmNTIzN2RiZGMgIDAwMDAwMDAwMDAwOTRlZTUgIGZmZmZmZmZmODAyNjAyZjkg IDAwMDAwMDAwMDAwMDAyMDYgDQogMDAwMDAwMDAwMDAwMDAwMCAgMDAwMDAwMDAwMDAwMTAwNyAN CkNhbGwgVHJhY2U6DQogWzxmZmZmZmZmZjgwMmEyOGU4Pl0gc3lzX2luaXRfbW9kdWxlKzB4YWYv MHgxZjINCiBbPGZmZmZmZmZmODAyNjAyZjk+XSB0cmFjZXN5cysweGFiLzB4YjYNCg0KDQpDb2Rl OiAwZiAyMiBjMCAzMSBjMCA0OCA4OSAxNSAzYyAwOSA0NyAwMCBjMyAwMCAwMCAwMCAwMCAwMCAw MCAwMCANClJJUCAgWzxmZmZmZmZmZjg4MjE4MDIwPl0gOmZzcDppbml0X2ZzcCsweDIwLzB4MmQN CiBSU1AgPGZmZmY4ODAwMjUxNDVmNTA+DQogPDA+S2VybmVsIHBhbmljIC0gbm90IHN5bmNpbmc6 IEZhdGFsIGV4Y2VwdGlvbg0KIChYRU4pIERvbWFpbiAwIGNyYXNoZWQ6IHJlYm9vdGluZyBtYWNo aW5lIGluIDUgc2Vjb25kcy4NCg0KRGlyZWN0bHkgbW9kaWZ5aW5nIENSMCBieSBhc3NlbWJseSBs YW5ndWFnZSBzZWVtcyB0byBtb2RpZnkgdGhlIHJlYWwgcGh5c2ljYWwgcmVnaXN0ZXIgb24gdGhl ICByZWFsIENQVSwgDQpidXQgSSBqdXN0IHdhbnQgdG8gbW9kaWZ5IGRvbSdzIHZpcnR1YWwgQ1Iw IGluIHRoZSB2Y3B1IHN0cnVjdHVyZSwgc2luY2UgSSB3YW50IHRvIG1vZGlmeSBzb21lIG1lbW9y eSBhcmVhIA0KaW4gZG9tMCdzIGtlcm5lbCB3aGljaCBpcyBwcm90ZWN0ZWQgYnkgZG9tMCdzIHZj cHUncyBDUjAuV1AgYml0Lg0KDQpSZWdhcmRzfg0KDQoNCg0KDQptYWNoaTEyNzENCg0KRnJvbTog UmF6dmFuIENvam9jYXJ1DQpEYXRlOiAyMDE0LTEwLTE3IDE0OjQ4DQpUbzogbWFjaGkxMjcxOyB4 ZW4tZGV2ZWwNClN1YmplY3Q6IFJlOiBbWGVuLWRldmVsXSBNb2RpZnkgY3IwIGF0IGRvbTANCk9u IDEwLzE3LzE0IDA5OjM0LCBtYWNoaTEyNzEgd3JvdGU6DQo+IFRoYW5rcyBSYXp2YW5+DQo+ICAN Cj4gSSdtIG5ldyB0byBYZW4gYW5kIExpbnV4Lg0KPiBDb3VsZCB5b3UgcGxlYXNlIHRlbGwgbWUg aXMgdGhlcmUgYW55IFhlbi1pbmRlcGVuZGVudCBtYW5uZXIgdG8gbW9kaWZ5DQo+IENSMCwgb3Ig dGhlIG1lbW9yeSBhcmVhIHByb3RlY3RlZCBieSBDUjAuV1AgYml0Pw0KDQpTdXJlLCB0aGVyZSdz IGFuIGV4YW1wbGUgaGVyZToNCg0KaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMv Mzk2Mjk1MC9ob3ctdG8tc2V0LWNvbnRyb2wtcmVnaXN0ZXItMC1jcjAtYml0cy1pbi14ODYtNjQt dXNpbmctZ2NjLWFzc2VtYmx5LW9uLWxpbnV4DQoNCg0KUmF6dmFu ------=_001_NextPart581547053873_=---- Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: quoted-printable
I'v tried the way to modify CR0 by writing to it directly. But I got = the=20 following error:
=02(XEN) traps.c:1768:d0 Attempt to change unmodifiable CR0=20 flags.
general protection fault: 0000 [1] SMP
last sysfs fi= le:=20 /devices/pci0000:00/0000:00:00.0/resource
CPU 0
Modules linked = in:=20 fsp(U) autofs4 hidp rfcomm l2cap bluetooth lockd sunrpc=20 ip_conntrack_netbios_ns ip_conntrack nfnetlink xt_tcpudp iptable_filte= r=20 ip_tables x_tables acpiphp loop dm_multipath scsi_dh video backlight s= bs=20 power_meter hwmon i2c_ec dell_wmi wmi button battery asus_acpi ac ipv6= =20 xfrm_nalgo crypto_api lp joydev floppy sg snd_ens1371 gameport i2c_pii= x4=20 snd_rawmidi snd_ac97_codec ac97_bus snd_seq_dummy snd_seq_oss=20 snd_seq_midi_event snd_seq i2c_core pcspkr snd_seq_device snd_pcm_oss=20 snd_mixer_oss snd_pcm e1000 snd_timer snd soundcore snd_page_alloc shp= chp=20 serio_raw ide_cd parport_pc parport cdrom serial_core dm_raid45 dm_mes= sage=20 dm_region_hash dm_mem_cache dm_snapshot dm_zero dm_mirror dm_log dm_mo= d=20 ata_piix libata mptspi mptscsih mptbase scsi_transport_spi sd_mod scsi= _mod=20 ext3 jbd uhci_hcd ohci_hcd ehci_hcd
Pid: 4103, comm: insmod Tainted= :=20 G      2.6.18-194.el5xen #1
RIP:=20 e030:[<ffffffff88218020>]  [<ffffffff88218020>]=20 :fsp:init_fsp+0x20/0x2d
RSP: e02b:ffff880025145f50  EFLAGS:=20 00010202
RAX: 000000008004003b RBX: ffffffff88680600 RCX:=20 0000000000000000
RDX: 000000008005003b RSI: 0000000000000000 RDI:=20 0000000000000000
RBP: 000000001fc65060 R08: 000000001fc65060 R09:=20 0000000000000000
R10: ffff880024967360 R11: ffff880032c42100 R12:=20 0000000000094ee5
R13: 00002b3383dc6010 R14: 0000000000100000 R15:=20 0000000000100000
FS:  00002b3383dc5750(0000)=20 GS:ffffffff805d2000(0000) knlGS:0000000000000000
CS:  e033 DS:= 0000=20 ES: 0000
Process insmod (pid: 4103, threadinfo ffff880025144000, ta= sk=20 ffff880032c42100)
Stack:  ffffffff802a28e8 =20 0000000000100000  00002b3383dc6010  0000000000000003
=20 00007fff5237dbdc  0000000000094ee5  ffffffff802602f9 =20 0000000000000206
0000000000000000  0000000000001007
Call= =20 Trace:
[<ffffffff802a28e8>] sys_init_module+0xaf/0x1f2
=20 [<ffffffff802602f9>] tracesys+0xab/0xb6


Code: 0f 22 c= 0 31=20 c0 48 89 15 3c 09 47 00 c3 00 00 00 00 00 00 00
RIP =20 [<ffffffff88218020>] :fsp:init_fsp+0x20/0x2d
RSP=20 <ffff880025145f50>
<0>Kernel panic - not syncing: Fata= l=20 exception
(XEN) Domain 0 crashed: rebooting machine in 5 seconds.<= /DIV>
 
Directly modifying CR0 by assembly language seems to m= odify=20 the real physical register on the  real CPU,
but I just want to modify dom's virtual CR0 in the vcpu str= ucture,=20 since I want to modify some memory area
in dom0's kernel which is protected by dom0's vcpu's CR0.WP= =20 bit.
Regards~
 

machi1271
 
Date: 2014-10-17 14:48
To: machi1271;= xen-devel
Subject: Re: [Xen-devel] Modify cr0 at dom0
On 10/17/14 09:34, machi1271 wrote:
> Thanks Razvan~
>  
> I'm new to Xen and Linux.
> Could you please tell me is t= here any Xen-independent manner to modify
> CR0, or the memory area protected&= nbsp;by CR0.WP bit?
 
Sure, there's an example here:
 
https://stackoverflow.com/questions/3962950/how-to-set-control-regist= er-0-cr0-bits-in-x86-64-using-gcc-assembly-on-linux
 
 
Razvan
------=_001_NextPart581547053873_=------ --===============0130163055619504797== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel --===============0130163055619504797==--