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:
Ken Sato
2018-07-02 13:15:32 +09:00
committed by Masamichi Takagi
parent b920da5103
commit 3636c8e7e4
10 changed files with 481 additions and 13 deletions

52
test/issues/1050/README Normal file
View 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していることを確認。