Files

【Issue#988 動作確認】
□ 前提
	・本Issueで修正したmcctrl_clear_pte_range() は、WRITE権限を持つmmap領域を
	unmapした場合に呼び出される
	なお、WRITE権限を持たない領域のunmapの際には、set_host_vma()によって
	パーミッションの初期化が行われる
	・McKernelでは、PROT_WRITEを変更しないmprotectを行った場合、
	ホスト側のVMAの権限は変更されない

□ テスト内容
1. unmapしたホスト側のVMAの権限がRWX(デフォルト)になっていることを確認
C988T01:
	以下の流れでmmap, mprotect, munmapを行い、munmap後のホスト側のVMAの
	パーミッションを確認する
	 1. mmapでメモリ領域を確保
	 2. 確保した領域のVMAの権限がRWXであることを確認
	 3. 確保した領域にmprotect(PROT_NONE) -> mprotect(PROT_WRITE | PROT_EXEC)を行う
	    (McKernelではWRITE属性を変更しないmprotectはvmaを変更しないため、一度NONEを設定する)
	 4. 確保した領域のVMAの権限が-WXであることを確認
	 5. 確保した領域をmunmapで解放する
	 6. 解放後の領域のVMAの権限がRWXであることを確認
	 7. mmapで再びメモリ領域を確保
	 8. 確保した領域にmprotect(PROT_NONE)を行う
	 9. 確保した領域のVMAの権限がRWXでないことを確認
	10. 確保した領域をmunmapで解放する
	11. 解放後の領域のVMAの権限がRWXであることを確認

2. 以下のLTPを用いて既存のmmap機能に影響が無いことを確認
	- mmap01
	- mmap02
	- mmap03
	- mmap04
	- mmap05
	- mmap06
	- mmap07
	- mmap08
	- mmap09
	- mmap12
	- mmap14
	- mmap15

□ 実行手順
(1) cd <mckernel> && patch -p0 < <mckernel>/test/issues/988/get_vma_prot.patch
(2) McKernelをビルドする
(3) cd <mckernel>/test/issues/988/<arch> && make test

McKernelのインストール先や、OSTEST, LTPの配置場所は、
$HOME/.mck_test_config を参照している
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
$HOMEにコピーし、適宜編集する

□ 実行結果
result_x86_64.log および result_aarch64.log 参照。
すべての項目をPASSしていることを確認。