๋ค์ค ์ค๋ ๋ฉ์ ๋น๊ฒฐ์ ์ ํน์ฑ์ผ๋ก ์ธํด ๋๋ฒ๊ทธํ๊ธฐ๊ฐ ์ด๋ ต์ง๋ง ์ ์๊ฐ์๋ ์ฌํ ๊ฐ๋ฅํ ํ
์คํธ ์ผ์ด์ค seccomp_omp.c.gz์ ๋๋ฌํ ๊ฒ -O0 -ggdb -fopenmp
ํ์ฌ ํ๋ก๊ทธ๋จ์ ์ปดํ์ผํฉ๋๋ค.
ํ๋์ ์ค๋ ๋๋ก ์คํํ๊ณ ๊ธ์ง๋ ์์คํ ํธ์ถ์ ์ํํ๋๋ก ํ๋ฉด ํ๋ก๊ทธ๋จ์ด ์์๋๋ก ์ข ๋ฃ๋ฉ๋๋ค.
$ ./seccomp_omp -t 1 -k 0
86195973
[1] 10103 invalid system call (core dumped) ./seccomp_omp -t 1 -k 0
๊ทธ๋ฌ๋ ๋ ๋ง์ ์ค๋ ๋๊ฐ ์ฃผ์ด์ง๋ฉด ์๋์ ๋ฉ์ถฅ๋๋ค.
$ ./seccomp_omp -t 2 -k 0
86198868
86195973
86200317
^C
ํ๋ก๊ทธ๋จ์ ์ฃฝ์ง ์๊ณ ๊ทธ๋ฅ ์๋ฌด๊ฒ๋ ํ์ง ์์ต๋๋ค. SIGSYS ์ ํธ์ ๋ฌด์จ ์ผ์ด ์ผ์ด๋ฌ๋์ง, ๊ทธ๋ฆฌ๊ณ ์ ์ฒ๋ฆฌ๋์ง ์๋์ง ํผ๋์ค๋ฝ์ต๋๋ค.
์ด๊ฒ์ libseccomp ๋ฌธ์ ๊ฐ ์๋ ์๋ ์์ง๋ง, ์ ๋ ๊ทผ๋ณธ ์์ธ์ ๋๋ฒ๊น ํ ์ ์์ ๋งํผ ์ผ๋ฐ์ ์ผ๋ก seccomp, ์ ํธ ๋ฐ ์ค๋ ๋ฉ ์์คํ ์ ๋ฅ์ํ์ง ์์ต๋๋ค. ๋น์ ์ด ๊ทธ๊ฒ์ ์ดํดํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์ฐธ๊ณ : ์์ง ํ ์คํธ ์ผ์ด์ค๋ฅผ ๋ณด์ง ์์์ผ๋ฉฐ ์ ์์ฑ๋ ์ค๋ช ์ ๊ธฐ๋ฐ์ผ๋ก ์ถ์ธกํ๊ณ ์์ต๋๋ค.
๋ค์ค ์ค๋ ๋์ ํน์ฑ์ ๊ณ ๋ คํ์ฌ ์ปค๋์ ํํฐ๋ฅผ ๋ก๋ํ๊ธฐ ์ ์ SCMP_FLTATR_CTL_TSYNC
ํํฐ ์์ฑ์ true๋ก ์ค์ ํด ๋ณด์
จ์ต๋๊น?
์ค๋ ๋๋ก ๋ถํ ํ๊ธฐ ์ ์ seccomp ํํฐ๋ฅผ ์ถ๊ฐํ๊ธฐ ๋๋ฌธ์ SCMP_FLTATR_CTL_TSYNC
์ค์ ํ์ง ์์์ต๋๋ค. ๋ฐ๋ผ์ ์ปค๋์ ์ด์จ๋ ๋ชจ๋ ์ค๋ ๋์ ํํฐ๋ฅผ ์ ์ฉํด์ผ ํฉ๋๋ค(๊ทธ๋ฆฌ๊ณ ๋ถ๋ช
ํ ๊ทธ๋ ๊ฒ ํฉ๋๋ค). ํ
์คํธ ์ผ์ด์ค์ SCMP_FLTATR_CTL_TSYNC
๋ฅผ ์ถ๊ฐํด๋ ์ฐจ์ด๊ฐ ์์ต๋๋ค(ํํ์ ์ค๋ฅ ์ฒ๋ฆฌ, btw๋ฅผ ์ฌ์ฉํ๋ฉด 100์ค ๋ฏธ๋ง).
์ข์์, ๊ทธ๋ฅ ์ธ๊ธํ๊ณ ์ถ์์ต๋๋ค. ๋น์ ์ด ์ผ์ ์ฌ๋ฐ๋ฅด๊ฒํ๊ณ ์๋ ๊ฒ์ฒ๋ผ ๋ค๋ฆฝ๋๋ค (์ ์ค๋ ๋๋ฅผ ์์ฑํ๊ธฐ ์ ์ ํํฐ๋ฅผ ์ค์ ํ์ญ์์ค). ์ข ๋ ์ง์ผ๋ด์ผ ํ๊ฒ ์ง๋ง, ์กฐ๋ง๊ฐ ๊ทธ๋ด ๊ธฐํ๊ฐ ์์ ๊ฒ ๊ฐ์ต๋๋ค.
๋ด๊ฐ ๋ป๋ปํ๊ฒ ์๋ชป๋ ์ผ์ ํ๊ณ ์์ง ์๋ค๋ ํ์ธ๋ง์ผ๋ก๋ ์ถฉ๋ถํฉ๋๋ค. ์ฒ์ฒํํ์ธ์!
๋จ์ผ ์ค๋ ๋ ์์ ./seccomp_omp -t 1 -k 0
์์ openmp๋ ๋จ์ผ ์ค๋ ๋๋ง ์คํ๋ ๊ฒ์์ ์ธ์ํ๋ฏ๋ก openmp๋ ๋ค์ค ์ค๋ ๋ for ๋ฃจํ์์ ์ผ๋ฐ์ ์ผ๋ก ์ํํ๋ ๋๊ธฐํ์ ๋๋ถ๋ถ์ ์ฐํํฉ๋๋ค. ์ปค๋์ seccomp_run_filters()์์ ์ฒ๋ฆฌ๋ ์์คํ
ํธ์ถ์ ๊ด์ฐฐํ์ฌ ์ด๋ฅผ ํ์ธํ์ต๋๋ค. ์์๋๋ก __NR_write()์ ๋ํ ํธ์ถ๊ณผ seccomp๊ฐ ์ค๋ ๋๋ฅผ ์ข
๋ฃํ๋๋ก ์ปค๋์ ์ง์ํ๋๋ก ์ ๋ํ๋ __NR_madvise()์ ๋ํ ํธ์ถ์ ๋ณด์์ต๋๋ค.
๋ค์ค ์ค๋ ๋ ์์ ./seccomp_omp -t 2 -k 0
์์ openmp๋ for ๋ฃจํ๋ฅผ ๋ณ๋ ฌํํ๋ ค๊ณ ์๋ํฉ๋๋ค. ๋ฐ๋ผ์ ํจ์ฌ ๋ ๋ง์ openmp ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํ์ฉ๋ฉ๋๋ค. ์ด๊ฒ์ seccomp_run_filters()๋ฅผ ํตํด ์์คํ
ํธ์ถ์ ๋ค์ ๋ณผ ๋ ๋ถ๋ช
ํฉ๋๋ค. __NR_mmap(), __NR_mprotect(), __NR_clone(), __NR_futex() ๋ฐ ๋ ๋ง์ ์์คํ
ํธ์ถ์ด madvise()๋ฅผ ํธ์ถํ๊ธฐ ์ ์ ํธ์ถ๋ฉ๋๋ค. ๊ถ๊ทน์ ์ผ๋ก ๋ ์ค๋ ๋ ์ค ํ๋๊ฐ ๋ง์นจ๋ด madvise()๋ฅผ ํธ์ถํ๊ณ seccomp๊ฐ ํด๋น ์ค๋ ๋๋ฅผ ์ ์ ํ๊ฒ ์ข
๋ฃํฉ๋๋ค. ๊ทธ๋ฌ๋ openmp๋ ์ค๋ ๋ ์ฌ์ด์ ๋๊ธฐํ๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ ๋ ๋ฒ์งธ ์ค๋ ๋๊ฐ madvise()๋ฅผ ํธ์ถํ๊ธฐ ์ ์(๊ทธ๋ฆฌ๊ณ ์ฃฝ๊ธฐ ์ ์) ๋ ๋ฒ์งธ ์ค๋ ๋๋ ์ฃฝ์ ์ค๋ ๋์์ ๋ฌด์ธ๊ฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ ๋ futex()๋ฅผ ํธ์ถํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ด ํ๋ก๊ทธ๋จ์ด ์ค๋จ๋๋ ์ด์ ์
๋๋ค. ํ๋์ ์ค๋ ๋๊ฐ ์ข
๋ฃ๋์๊ณ ๋ ๋ฒ์งธ ์ค๋ ๋๋ ๋์ฐฉํ์ง ์์ ๋ฐ์ดํฐ(์ฃฝ์ ์ค๋ ๋์์)๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ต๋๋ค.
๋๋ openmp๋ก ๋ง์ ์์ ์ ํ์ง ์์์ง๋ง ๋ณ๋ ฌ ๋ธ๋ก์ ์ ํธ์ ๋ํด [ 1 , 2 , 3 , ...] ์ฝ๊ฐ์ ํ ๋ก ์ด ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ถ๊ทน์ ์ผ๋ก ๊ทธ๊ฒ์ ํผํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ ์ด๋ ค์ด ๋ฌธ์ ์ฒ๋ผ ๋ณด์ ๋๋ค.
๋ช ๊ฐ์ง ์ ์ฌ์ ์ธ ์ฌ์ด ์๋ฃจ์ ์ด ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
SCMP_ACT_KILL
๋ฅผ ๊ธฐ๋ณธ ํธ๋ค๋ฌ๋ก ์ฌ์ฉํ์ง ๋ง์ญ์์ค. ๋์ SCMP_ACT_ERROR(5)
์ ๊ฐ์ ์ค๋ฅ ์ฝ๋๋ฅผ ๋์ ์ฌ์ฉํ๋๋ก ์ ํํ์ญ์์ค. ์์ ํ๋ก๊ทธ๋จ์์ ์ด ๋ณ๊ฒฝ์ ์ํํ์ผ๋ฉฐ ์ ๋๋ก ์ข
๋ฃ๋์๋์ง ํ์ธํ์ต๋๋ค.
openmp์ ํ์ด ํ์ํ์ง ์์ ๊ฒฝ์ฐ ๋ค๋ฅธ ์ต์ ์ pthread_create() ๋๋ fork()์ ๊ฐ์ ๋ณด๋ค ์ผ๋ฐ์ ์ธ ์๋ฃจ์ ์ ์ฌ์ฉํ๋๋ก ์ ํํ๋ ๊ฒ์ ๋๋ค.
@drakenclimber ๊ทธ๋์ ๋ฌธ์ ๋ ์ค์ ๋ก openmp๊ฐ ์ผ๋ฐ์ ์ผ๋ก ํํฐ์ ์ผ๋ถ๊ฐ ์๋ ์ ์๋ ์ถ๊ฐ ์์คํ
@drakenclimber ์๊ฐ์ ํฌ์
๋ ๋ง์ ๋งฅ๋ฝ์ ์ ๊ณตํ๊ธฐ ์ํด: ์ ๋ ๊ณผํ ์ฝ๋๋ฅผ ์์ฑํ๋ฏ๋ก OpenMP๋ก ๋จ์ํ๊ฒ ์ ์งํ๋ ๊ฒ์ ์ข์ํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋๋ ๋ํ ๋ด ์ฌ์ฉ์๋ฅผ ์์ ์ผ๋ก๋ถํฐ ๋ณดํธํ๊ณ ์ถ์ต๋๋ค. ๋ฐ๋ผ์ ๋ด ํ๋ก๊ทธ๋จ์ด ๋น์ ์์ ์ธ ์์ ์ ์ํํ๋ฉด ํต์ ์ ๊ฑฐํ์ญ์์ค. ๋ด๊ฐ ๊ถ๊ทน์ ์ผ๋ก ๋ฌ์ฑํ๊ณ ์ ํ๋ ๊ฒ์ ๋ค์ ํฉ๋ฆฌ์ ์ธ ์ค๋ฅ ๋ฉ์์ง์ ํจ๊ป ํ๋ก์ธ์ค(#96)๋ฅผ ์ข ๋ฃํ๋ ๊ฒ์ ๋๋ค.
๋๋์ errno๋ฅผ ์ฌ์ฉํด์ผ ์ด๋ค ๊ฐ์น SCMP_ACT_ERROR
๋ฐ์ ํ๊ฒ ๋ชจ๋ฐฉ์ SECCOMP_RET_KILL_PROCESS
? ๋ชจ๋ syscall์์ ์ ์๋ํ๋ ๊ฒ์ด ์์ต๋๊น?
@pcmoore - ์ข. ๊ทธ๋ฌ๋ ๋ ํฐ ๋ฌธ์ ๋ openmp๊ฐ ๋ณ๋ ฌ ๊ตฌ์กฐ ๋ด์์ ์ ํธ๋ฅผ ์ ์์ ์ผ๋ก ์ฒ๋ฆฌํ์ง ์๋๋ค๋ ๊ฒ์ ๋๋ค. ๋๋ ์ด๊ฒ์ด ๋์์ธ์ ์ํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
@kloetzl - ๊ฑฑ์ ํ์ง ๋ง์ธ์. OpenMP๋ฅผ ์์ ํ ๊ณ ์ํ ์ ์์ต๋๋ค. OpenMP ์ปค๋ฎค๋ํฐ์ ๋ค๋ฅธ ์ฌ๋๋ค์ด ๋ค์๊ณผ ๊ฐ์ ์ผ์ ํ๊ณ ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
ctx = seccomp_init(SCMP_ACT_ERRNO(ENOTBLK));
...
bool kill_process = false;
int rc;
#pragma omp parallel for num_threads(THREADS)
for (int i = 0; i < THREADS * 2; i++) {
fprintf(stderr, "%u\n", func(i));
if (i == K) {
rc = madvise(NULL, 0, 0);
if (rc < 0)
kill_process = true;
}
// sleep(10);
}
if (kill_process)
goto error;
seccomp_release(ctx);
return 0;
error:
seccomp_release(ctx);
return -1;
}
SCMP_ACT_ERRNO()
๋ฐํํด์ผ ํ๋ ์ค๋ฅ SCMP_ACT_ERRNO()
๋ ๋ชจ๋ ์์คํ
ํธ์ถ์์ ์๋ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋น์ ์ ํ๋ก๊ทธ๋จ์ ๊ทธ๊ฒ์ ์ฒ๋ฆฌํ๊ณ ์ฌ์ฉ์์๊ฒ ์ค๋ฅ๋ฅผ ๋ฐํํ๋ ํ๋ก๊ทธ๋จ์ด ๋ ๊ฒ์
๋๋ค. ๊ทธ๋์ ๋น์ ์ ๋น์ ์๊ฒ ๊ฐ์ฅ ์ ํฉํ errno๋ฅผ ์ ํํ ์ ์์ต๋๋ค. ์ค์ ๋ก ENOTBLK
๊ฐ์ด ๋ชจํธํ ๊ฒ์ ์ ํ ํ๋ฉด ์ค๋ฅ๊ฐ ํธ์ถ์ ์ฐจ๋จํ๋ seccomp์์ ๋ฐ์ํ์์
tl;dr - ๋ณ๋ ฌ ๋ฃจํ์์ ๋ฌธ์ ๋ฅผ ๊ฐ์งํ์ง๋ง ๋ฃจํ๊ฐ ์๋ฃ๋ ๋๊น์ง ์ฒ๋ฆฌ๋ฅผ ๊ธฐ๋ค๋ฆฝ๋๋ค. ์คํจํ ์์คํ ํธ์ถ๋ก ์ธํด ๋ฃจํ ๋ด์ ์ถ๊ฐ ๋ฐฉ์ด ์ฝ๋ฉ์ ์ถ๊ฐํด์ผ ํ ์๋ ์์ต๋๋ค.
@kloetzl - ๋ฌธ์ #96์ ์ดํด๋ณด๊ณ OpenMP์ ์ผ๋ง๋ ์ ์๋ํ๋์ง ํ์ธํ๊ฒ ์ต๋๋ค. ๊ทธ๊ฒ์ ๋ ๋ค๋ฅธ ํด๊ฒฐ์ฑ ์ด ๋ ์๋ ์์ต๋๋ค. ๊ฐ์ฌ ํด์!
๊ทธ๋ฆฌ๊ณ ๋น์ ์ ํ๋ก๊ทธ๋จ์ ๊ทธ๊ฒ์ ์ฒ๋ฆฌํ๊ณ ์ฌ์ฉ์์๊ฒ ์ค๋ฅ๋ฅผ ๋ฐํํ๋ ํ๋ก๊ทธ๋จ์ด ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋์ ๋น์ ์ ๋น์ ์๊ฒ ๊ฐ์ฅ ์ ํฉํ errno๋ฅผ ์ ํํ ์ ์์ต๋๋ค. ์ฌ์ค, ENOTBLK์ ๊ฐ์ด ๋ชจํธํ ๊ฒ์ ์ ํํ๋ฉด ์ค๋ฅ๊ฐ ํธ์ถ์ ์ฐจ๋จํ๋ seccomp์์ ๋ฐ์ํ๋ค๋ ๊ฒ์ ์ ์ ์์ต๋๋ค.
๋ฌธ์ ๋ madvise
๊ฐ malloc
์ ๊น์ํ ๊ณณ์์ ํธ์ถ๋๋ค๋ ๊ฒ์
๋๋ค. ๋ฐ๋ผ์ ๋๋ ์ค๋ฅ๋ฅผ ์ฒ๋ฆฌํ๋ ์ฌ๋์ด ์๋๋๋ค. glibc๋ ๊ทธ๋ ์ต๋๋ค. ๋ฐ๋ผ์ ๋ฌธ์ ๋ glibc(๋ฐ ์์คํ
ํธ์ถ์ ์ํํ๋ ๋ค๋ฅธ ๋ชจ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ)๊ฐ ์์คํ
ํธ์ถ์ด ๋งค๋ด์ผ ํ์ด์ง์ ์ ๊ณต๋ ๊ฒ๊ณผ ๋ค๋ฅธ ์ค๋ฅ๋ฅผ ๋ฐํํ๊ณ ์ ์ ํ๊ฒ ์ฒ๋ฆฌํ ์ ์๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๊น?
๋ฌธ์ ๋ madvise๊ฐ malloc์ ๊น์ํ ๊ณณ์์ ํธ์ถ๋๋ค๋ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์ ๋๋ ์ค๋ฅ๋ฅผ ์ฒ๋ฆฌํ๋ ์ฌ๋์ด ์๋๋๋ค. glibc๋ ๊ทธ๋ ์ต๋๋ค. ๋ฐ๋ผ์ ๋ฌธ์ ๋ glibc(๋ฐ ์์คํ ํธ์ถ์ ์ํํ๋ ๋ค๋ฅธ ๋ชจ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ)๊ฐ ์์คํ ํธ์ถ์ด ๋งค๋ด์ผ ํ์ด์ง์ ์ ๊ณต๋ ๊ฒ๊ณผ ๋ค๋ฅธ ์ค๋ฅ๋ฅผ ๋ฐํํ๊ณ ์ ์ ํ๊ฒ ์ฒ๋ฆฌํ ์ ์๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๊น?
์... ์์์ด. ํ์คํ ํ๋ ค๋ฉด glibc ์ฝ๋๋ฅผ ์ดํด๋ด์ผ ํ์ง๋ง ๋ค์๊ณผ ๊ฐ์ ์ถ์ธก์ ์ํ์ ๊ฐ์ํ ์ ์์ต๋๋ค.
madvise
๊ฐ ์ค๋ฅ๋ฅผ ๋ฐํํ๋ฉด glibc๋ _ํ์คํ_ ์ค๋ฅ๋ ๋ฐํํฉ๋๋ค.ENOTBLK
์ ๊ฐ์ "์ฌ์ฉ์ ์ง์ " ๋ฐํ ์ฝ๋๋ฅผ ์์ํ๋ ๊ฒฝ์ฐ ์ฃผ์ํด์ผ ํฉ๋๋ค.๊ฐ๋จํ ๋งํด์ glibc๋ _any_ ์ค๋ฅ ์ฝ๋๋ฅผ ์ต์ ํ์ง ์์์ผ ํ์ง๋ง ๋์ ๋ค๋ฅธ ์ค๋ฅ ์ฝ๋๋ฅผ ๋ฐํํ ์ ์์ต๋๋ค.
๋๋ ์ฌ๋ฌ๋ถ๊ณผ ํจ๊ปํ๋ ค๊ณ ๋
ธ๋ ฅํ๊ณ ์์ง๋ง OpenMP์ ๋ํ ๋ฐฐ๊ฒฝ ์ง์์ด ๋ถ์กฑํ์ฌ ์ฝ๊ฐ ๋ค์ณ์ง ๊ฒ ๊ฐ์ต๋๋ค ... ์์ ์๊ฒฌ์ ๋ฐ๋ฅด๋ฉด KILL_PROCESS
์ฌ๊ธฐ์์ ์คํ ๊ฐ๋ฅํ ์๋ฃจ์
์ด ๋ ์ ์์ต๋๊น? ๊ทธ๋ ๋ค๋ฉด v2.4 ๋ฆด๋ฆฌ์ค ์ ์ ํด๊ฒฐํด์ผ ํ ์ฌํญ ๋ชฉ๋ก์ ์์ง๋ง ํด๋น ๋ฌธ์ ์ ์ฐ์ ์์๋ฅผ ๋์ผ ์ ์์ต๋๋ค.
@pcmoore - ์, KILL_PROCESS
๊ฐ ์ด ๋ฒ๊ทธ์ ๋ํ ์คํ ๊ฐ๋ฅํ ์๋ฃจ์
์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. KILL_PROCESS
์์
์ ์ฌ์ฉํ์ฌ ์์ @kloetzl ์ ํ
์คํธ ํ๋ก๊ทธ๋จ์ ํ
์คํธ
๋๋ ๊ทธ๊ฒ์ ๊ตฌํํ์ง๋ง ํ์ฌ ํ์ด์ฌ ์๋ ํ ์คํธ์์ ๋ช ๊ฐ์ง ๊ฑธ๋ฆผ๋์ ์น๊ณ ์์ต๋๋ค. ๋ค์ ์ฃผ์ ํจ์น๊ฐ ๋์์ผ ํฉ๋๋ค.
@drakenclimber ์ค, ํจ์น? ์ ๋ ํจ์น๋ฅผ ์ข์ํฉ๋๋ค :)
๊ณ ๋ง์ ์๋ค์.
KILL_PROCESS
๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์์ ํ์ธํ ์ ์์ต๋๋ค. ์ ๋ Arch์์ ๋ก์ปฌ ๋ฒ์ ์ libseccomp๋ฅผ ํดํนํ์ผ๋ฉฐ ํ
์คํธ ํ๋ก๊ทธ๋จ์ด ์๋ํ ๋๋ก ์คํจํ์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ฒฌ๊ณ ํ ํ
์คํธ๋ฅผ ์ ๊ณตํ๊ณ ์ด๋ฅผ ๋ค๋ฅธ ์ปค๋์์ ์คํํ๋ ๊ฒ์ด ๋ ํฐ ๋์ ์ด ๋ ์ ์์ต๋๋ค.
@kloetzl ํ์ธ ๊ฐ์ฌํฉ๋๋ค.
์, ์ ์ ํ ํ ์คํธ๋ฅผ ์์ฑํ๋ ๊ฒ์ ์ง๋ฃจํ ์ ์์ง๋ง ์ค์ํฉ๋๋ค. IMHO๋ฅผ ํ ์คํธํ๋ ์ฝ๋๋งํผ ์ค์ํฉ๋๋ค.
@drakenclimber ์ PR์ ๊ธฐ๋ํ๊ณ ์์ต๋๋ค. ํด๋น ์ฝ๋๊ฐ ๊ฒ์๋๋ฉด ์ข ๋ ๋ ผ์ํ ์ ์์ต๋๋ค.
์ ๋ COVID-19 ๋ด์ฒ ๋์ฒญ์๋ฅผ ํ๊ณ ์๋๋ฐ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ ๊ฒ ๊ฐ์ต๋๋ค. @kloetzl์ด ๋ง์ต๋๊น? ์ด ๋ฌธ์ ๋ฅผ ๋ซ์ ์์ ์ด์ง๋ง ๋ด๊ฐ ํ๋ ธ๊ณ ์ฌ์ ํ ๋ฌธ์ ๊ฐ ํ์๋๋ฉด ์๋ ค์ฃผ์๋ฉด ๋ค์ ์ด๊ฒ ์ต๋๋ค!
์๊ธฐ์์ผ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ๋๋ ์ฝ๊ฐ์ ํ ์คํธ๋ฅผ ๊ฑฐ์ณค์ต๋๋ค.
์ด ๋ฌธ์ ๋ ๋๋ถ๋ถ ํด๊ฒฐ๋์์ผ๋ฉฐ ์์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์๋ชป๋ ์์คํ
ํธ์ถ์ด ๋ฐ์ํ์ ๋ ํ๋ก๊ทธ๋จ์ด ๋ ์ด์ ๋ฆผ๋ณด์ ๊ฑธ๋ฆฌ์ง ์์ต๋๋ค. SCMP_ACT_TRAP
๋ฅผ ์ฌ์ฉํ๋ฉด ์๋ชป๋ ์์คํ
ํธ์ถ์ ์ด๋ฆ์ ์์ฑํ ์๋ ์์ต๋๋ค. ๊ทธ๋ฌ๋ OpenMP๋ ๋ด ์ ํธ ์ฒ๋ฆฌ๊ธฐ๋ฅผ ๋ฎ์ด์ฐ๋ฏ๋ก ์ฌ๋ฌ ์ค๋ ๋๊ฐ ์์ฑ๋๋ฉด ๊ธฐ๋ณธ ์ค๋ฅ ๋ฉ์์ง๋ก ๋์ฒด๋ฉ๋๋ค. ์ฌ์ฉ์ ๊ฒฝํ์ ๊ด์ ์์ ๋๋ ์ด ๋์์ด ๋ง์์ ๋ค์ง ์์ง๋ง ๊ฐ๋ฅํ ํ ์ข๋ค๊ณ ์๊ฐํฉ๋๋ค.
์, ์, libseccomp์์ ์ ํธ ์ฒ๋ฆฌ๊ธฐ๋ฅผ ๋ฎ์ด์ฐ๋ ๊ฒ์ ๋ํด ์ฐ๋ฆฌ๊ฐ ํ ์ ์๋ ์ผ์ด ๋ง์ง ์์ต๋๋ค. ์ฃ์กํฉ๋๋ค.
๋๋จธ์ง ์์ ์ด ์๋ฃ๋์์์ ์๋ ค์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!