Files
mckernel/test/issues/1166
Masamichi Takagi f07e20a381 copy_user_pte: vmap area not owned by McKernel
Refs: #1166
Fujitsu: POSTK_DEBUG_TEMP_FIX_14
Change-Id: Iae0f1145d58ec2c14cecc14409b08a1db3b067b7
2019-02-28 07:50:16 +00:00
..
2019-01-08 15:15:34 +09:00

【Issue#1166 動作確認】
□ テスト内容
1. /dev/fb0をprivateマップした後にforkを行い、複製が行われていること
   を確認する。
CT1166T01 /dev/fb0 をオープンできる
CT1166T02 /dev/fb0 を mmap を使って仮想空間にマップできる
CT1166T03 マップした領域に書き込みできる
CT1166T04 マップした領域に書き込んだデータを読み込むことができる
CT1166T05 fork できる (指摘では、fork が失敗しなければならない)
CT1166T06 子プロセス側で親プロセスがマップした領域に書き込みできる
CT1166T07 子プロセス側で親プロセスがマップした領域に書き込んだデータを読める
CT1166T08 CT1166T06 の子プロセスの書き込みが親プロセスのマップ領域に影響
          しない (親プロセスでは CT1166T03 のデータが参照されることを確認)

2. LTP を用いて既存処理に影響しないことを確認
   ユーザメモリ領域複製処理を変更したため、fork のテストを選定した。
C1166T09 fork01 が PASS すること
C1166T10 fork02 が PASS すること
C1166T11 fork03 が PASS すること
C1166T12 fork04 が PASS すること
C1166T13 fork07 が PASS すること
C1166T14 fork08 が PASS すること
C1166T15 fork09 が PASS すること
C1166T16 fork10 が PASS すること
C1166T17 fork11 が PASS すること

□ 実行手順
$ make test

□ 実行結果
CT1166.txt 参照。
全ての項目が OK となっていることを確認。

□ 注意
1. テストを実行するユーザは /dev/fb0 に書き込み可能であること。
   即ち、video グループに属すか、特権ユーザである必要がある。
2. wallabyのビデオデバイス(MATROX G200系)など、幾つかのデバイスは mmap に対応
   していないため、CT1166T02 で NG になる。これは Linux も同様である。
   このため、Linux で OK となる環境で実行すること。
   例えば VMWare 環境では実行可能である。