"latent_entropy"는 Linux 커널 기능을 어떻게 수정합니까?

"latent_entropy"는 Linux 커널 기능을 어떻게 수정합니까?

따라서 Linux 커널에서는 /kernel/fork.c에 다음 함수의 메소드 서명이 있습니다.

static __latent_entropy struct task_struct *copy_process(
                    struct pid *pid,
                    int trace,
                    int node,
                    struct kernel_clone_args *args)

이 함수를 수정하기 위해 __latent_entropy "속성"(또는 그것이 무엇입니까?)을 사용할 수 있는 C 언어 기능은 무엇입니까?

Latent_entropy가 무엇을 하는지 구체적으로 물어볼 필요는 없습니다. Google에서 검색한 결과 C 메서드 서명 구문이 더 궁금하기 때문입니다. Latent_entropy와 같은 메서드 서명에 추가 플래그를 추가할 수 있다는 것을 몰랐습니다. 이것은 어떤 유형의 언어 기능인가요?/이 기능을 더 잘 이해하려면 Google에서 무엇을 검색할 수 있나요?

감사해요.

답변1

이것은 매크로이며 기본적으로아무것도 아닌 것으로 대체:

#ifndef __latent_entropy
# define __latent_entropy
#endif

GCC의 경우 경우에 따라그것은 재산이 된다:

#if defined(LATENT_ENTROPY_PLUGIN) && !defined(__CHECKER__)
#define __latent_entropy __attribute__((latent_entropy))
#endif

이것은 GCC에서 사용됩니다엔트로피 플러그인.

관련 정보