setrlimit: Check arguments in the same order as in Linux
(1) Check if rlim's address is valid (2) Check if soft-limit does not exceed hard-limit Fujitsu: POSTK_DEBUG_TEMP_FIX_3 Refs: #1050 Change-Id: I5bf1008ce172f9dff64ec89b1f97614926abaf13
This commit is contained in:
committed by
Masamichi Takagi
parent
b920da5103
commit
3636c8e7e4
52
test/issues/1050/README
Normal file
52
test/issues/1050/README
Normal file
@ -0,0 +1,52 @@
|
||||
【Issue#1050 動作確認】
|
||||
□ テスト内容
|
||||
1. Issueで報告された再現プログラムでの確認
|
||||
RT_001: ostest-setrlimit.015
|
||||
rlim_max(ハードリミット)を超えるrlim_cur(ソフトリミット)を指定した場合、
|
||||
-1が返り、errnoにEINVALが設定されることを確認
|
||||
|
||||
2. 既存のsched_setaffinity機能に影響がないことをテストプログラムを用いて確認
|
||||
なお、以下のテストプログラムは特権ユーザ権限で実行する
|
||||
CT_001: Linuxに処理移譲しないresource指定で、rlim_maxを減少させる操作の確認
|
||||
RLIMIT_NPROC をresourceに指定し、以下を確認
|
||||
1. getrlimitで、現在のrlim_max の値を取得
|
||||
2. setrlimitで、現在のrlim_max - 10 の値を設定
|
||||
3. setrlimitが成功し、0を返すことを確認
|
||||
4. errnoが変更されていないことを確認
|
||||
5. getrlimitで、変更後の値が設定されていることを確認
|
||||
|
||||
CT_002: Linuxに処理移譲しないresource指定で、rlim_maxを増加させる操作の確認
|
||||
RLIMIT_NPROC をresourceに指定し、以下を確認
|
||||
1. getrlimitで、現在のrlim_max の値を取得
|
||||
2. setrlimitで、現在のrlim_max + 10 の値を設定
|
||||
3. setrlimitが成功し、0を返すことを確認
|
||||
4. errnoが変更されていないことを確認
|
||||
5. getrlimitで、値が変更されていることを確認
|
||||
|
||||
CT_003: Linuxに処理移譲するresource指定で、rlim_maxを減少させる操作の確認
|
||||
RLIMIT_MSGQUEUE をresourceに指定し、以下を確認
|
||||
1. getrlimitで、現在のrlim_max の値を取得
|
||||
2. setrlimitで、現在のrlim_max - 10 の値を設定
|
||||
3. setrlimitが成功し、0を返すことを確認
|
||||
4. errnoが変更されていないことを確認
|
||||
5. getrlimitで、変更後の値が設定されていることを確認
|
||||
|
||||
CT_004: Linuxに処理移譲するresource指定で、rlim_maxを増加させる操作の確認
|
||||
RLIMIT_MSGQUEUE をresourceに指定し、以下を確認
|
||||
1. getrlimitで、現在のrlim_max の値を取得
|
||||
2. setrlimitで、現在のrlim_max + 10 の値を設定
|
||||
3. setrlimitが成功し、0を返すことを確認
|
||||
4. errnoが変更されていないことを確認
|
||||
5. getrlimitで、値が変更されていることを確認
|
||||
|
||||
□ 実行手順
|
||||
$ make test
|
||||
|
||||
実行できない場合は、C1050.shの以下の行を適切に書き換えた後に実行。
|
||||
BIN= mcexec が存在するパス
|
||||
SBIN= mcreboot.sh が存在するパス
|
||||
OSTEST= OSTESTが存在するパス
|
||||
|
||||
□ 実行結果
|
||||
result.log 参照。
|
||||
すべての項目をPASSしていることを確認。
|
||||
Reference in New Issue
Block a user