3장. 외부 커널 매개변수의 중요한 변경 사항


이 장에서는 Red Hat Enterprise Linux 7.7에 제공된 커널의 중요한 변경 사항에 대한 요약을 시스템 관리자에게 제공합니다. 이러한 변경 사항에는 추가 또는 업데이트된 proc 항목, sysctlsysfs 기본값, 부팅 매개 변수, 커널 구성 옵션 또는 눈에 띄는 동작 변경 사항이 포함됩니다.

새 커널 매개변수

usbcore.quirks = [USB]

이 매개변수는 내장 usb 코어 quirk 목록을 보강하기 위해 quirk 항목 목록을 제공합니다.

항목은 쉼표로 구분됩니다. 각 항목에는 VendorID:ProductID: >-<s 형식이 있습니다.

ID 는 4자리 16진수이고 ECDHE는 문자 집합입니다. 각 문자는 내장 된 quirk를 변경합니다; 설정 된 경우 명확하고 해제하는 경우. 문자에는 다음과 같은 의미가 있습니다.

  • A = USB_QUIRK_STRING_FETCH_255 (문자열 설명자는 255바이트 읽기를 사용하여 가져오지 않아야 함)
  • b = USB_QUIRK_RESET_RESET_RESUME (시스템을 올바르게 재개할 수 없으므로 대신 재설정할 수 없음)
  • C = USB_QUIRK_NO_SET_INTF (device가 Set-Interface 요청을 처리할 수 없음)
  • D = USB_QUIRK_CONFIG_INTF_STRINGS (디바이스 구성 또는 인터페이스 문자열을 처리할 수 없음)
  • e = USB_QUIRK_RESET (device cannot be reset (e.g calledph devices))은 reset을 사용하지 마십시오.
  • F = USB_QUIRK_HONOR_BNUMINTERFACES (대화 장치에는 bNumInterfaces 수보다 더 많은 인터페이스 설명이 있으며 이러한 인터페이스에 대한 대화를 처리할 수 없음)
  • G = USB_QUIRK_DELAY_INIT (Device descriptor를 읽은 후 초기화 중 일시 중지가 필요함)
  • H = USB_QUIRK_LINEAR_UFRAME_INTERVAL (고속 속도 및 초고속 인터럽트 끝점의 경우 USB 2.0 및 USB 3.0 사양은 간격 = 2 ^ (bInterval-1)로 계산되기 위해서는 마이크로 프레임 (1마이크 프레임 = 125 초)의 간격이 필요합니다. 이 quirk가 있는 장치는 계산에 사용된 지수 변수 대신 이 계산의 결과로서 bInterval 을 보고합니다.
  • i = USB_QUIRK_DEVICE_QUALIFIER (디바이저가 device_qualifier 설명자 요청을 처리할 수 없음)
  • J = USB_QUIRK_IGNORE_REMOTE_ WAK EUP (device generates spurious wakeup, ignore remote wakeup 기능).
  • k = USB_QUIRK_NO_LPM (device cannot handle Link Power Management)
  • L = USB_QUIRK_LINEAR_FRAME_INTR_BINTERVAL (Device는 USB 2.0 계산 대신 선형 프레임으로 bInterval 을 보고함)
  • m = USB_QUIRK_DISCONNECT_SUSPEND (재해 발생을 방지하기 위해 일시 중지되기 전에 장치 연결이 끊어야 함)
  • N = USB_QUIRK_DELAY_CTRL_MSG (모든 제어 메시지 이후 장치에 일시 중지 필요)

    예제 항목:

    quirks=0781:5580:bk,0a5c:5834:gij
ppc_tm = [PPC]

하드웨어 트랜잭션 메모리를 비활성화합니다.

형식: {"off"}

cgroup.memory = [KNL]

cgroup 메모리 컨트롤러에 옵션을 전달합니다.

형식: <string>

nokmem ECDHE-ECDHE 이 옵션은 커널 메모리 계산을 비활성화합니다.

mds = [X86,INTEL]

MDS(Micro-architectural Data Sampling) 취약점에 대한 완화 조치를 제어합니다.

특정 CPU는 특정 조건에서 공개 가젯으로 정보를 전달할 수 있는 CPU 내부 버퍼에 대한 악용에 취약합니다.

취약한 프로세서에서는 추측적으로 전달된 데이터를 캐시 사이드 채널 공격에 사용하여 공격자가 직접 액세스할 수 없는 데이터에 액세스할 수 있습니다.

옵션은 다음과 같습니다.

  • Full - 취약한 CPU에서 MDS 완화를 활성화합니다.
  • 전체,nosmt - MDS 완화를 활성화하고 취약한 CPU에서 SMT(Simultaneous multithreading)를 비활성화합니다.
  • Off - 무조건 MDS 완화를 비활성화합니다.

    이 옵션을 지정하지 않는 것은 mds=full 과 동일합니다.

mitigations = [X86,PPC,S390]

CPU 취약점에 대한 선택적 완화 조치를 제어합니다. 이는 선별된 아키텍처 독립적인 옵션 세트이며, 각각은 기존 아키텍처별 옵션의 집계입니다.

옵션은 다음과 같습니다.

  • Off - 선택한 CPU 완화를 모두 비활성화합니다. 이로 인해 시스템 성능이 향상되지만 사용자가 여러 CPU 취약점에 노출될 수도 있습니다.

    다음과 같습니다.

    • nopti [X86,PPC]
    • nospectre_v1 [PPC]
    • nobp=0 [S390]
    • nospectre_v2 [X86,PPC,S390]
    • spec_store_bypass_disable=off [X86,PPC]
    • l1tf=off [X86]
    • mds=off [X86]
  • Auto (default) - 모든 CPU 취약점을 완화하지만 취약한 경우에도 SMT(Simultaneous multithreading)를 활성화합니다. 이는 SMT가 커널 업그레이드 전반에 걸쳐 비활성화되거나 SMT 기반 공격을 방지할 수 있는 다른 방법이 있는 경우 예기치 않은 사용자용입니다.

    다음과 같습니다.

    • (기본 동작)
  • Auto,nosmt - 모든 CPU 취약점을 완화하여 필요한 경우 SMT(Simultaneous multithreading)를 비활성화합니다. 이는 SMT 손실을 의미하더라도 항상 완전히 완화되기를 원하는 사용자에게 적합합니다.

    다음과 같습니다.

    • l1tf=flush,nosmt [X86]
    • mds=full,nosmt [X86]
watchdog_thresh = [KNL]

하드 잠금 감지기 stall 기간 임계값을 초 단위로 설정합니다.

소프트 잠금 감지기 임계값이 값의 두 배로 설정됩니다.

값이 0이면 두 잠금 감지기를 모두 비활성화합니다. 기본값은 10초입니다.

novmcoredd [KNL,KDUMP]

장치 덤프를 비활성화합니다. 장치 덤프를 사용하면 드라이버에서 vmcore에 덤프 데이터를 추가할 수 있으므로 지정된 디버그 정보를 수집할 수 있습니다.

드라이버는 제한 없이 데이터를 추가할 수 있으며 이 데이터는 메모리에 저장되므로 이로 인해 상당한 메모리 과부하가 발생할 수 있습니다.

장치 덤프를 비활성화하면 메모리를 절약할 수 있지만 드라이버 디버그 데이터를 더 이상 사용할 수 없습니다.

이 매개변수는 CONFIG_PROC_VMCORE_DEVICE_DUMP 가 설정된 경우에만 사용할 수 있습니다.

업데이트된 커널 매개변수

resource_alignment

정렬 및 장치를 지정하여 정렬된 메모리 리소스를 다시 할당합니다.

형식:

  • [<order of align>@][<domain>:]<bus>:<slot>.<func>[; …​]
  • [<order of align>@]pci:<vendor>:<device>\[:<subvendor>:<subdevice>][; …​]

& lt;order of align& gt;을 지정하지 않으면 PAGE_SIZE가 정렬으로 사용됩니다. 리소스 창을 확장해야 하는 경우 PCI- PCI 브리지를 지정할 수 있습니다.

irqaffinity = [SMP]

기본 irq 선호도 마스크를 설정합니다.

형식:

  • <cpu number>,…​,<cpu number>
  • <cpu number>-<cpu number>
  • 드라이버(정확한 순서의 범위여야 함)
  • mixture <cpu number>,…​,<cpu number>-<cpu number>

    드라이버는 CPU0에 모두 배치하지 않고 기본 인터럽트 할당에 드라이버의 선호도 마스크를 사용합니다.

옵션은 다음과 같습니다.

  • Auto (default) - 모든 CPU 취약점을 완화하지만 취약한 경우에도 SMT(Simultaneous multithreading)를 활성화합니다. 이는 SMT가 커널 업그레이드 전반에 걸쳐 비활성화되거나 SMT 기반 공격을 방지할 수 있는 다른 방법이 있는 경우 예기치 않은 사용자용입니다.

    동일성: (기본 동작)

  • Auto,nosmt - 모든 CPU 취약점을 완화하여 필요한 경우 SMT(Simultaneous multithreading)를 비활성화합니다. 이는 SMT 손실을 의미하더라도 항상 완전히 완화되기를 원하는 사용자에게 적합합니다.

    다음과 같습니다.

    • l1tf=flush,nosmt [X86]
    • mds=full,nosmt [X86]

새로운 /proc/sys/net/core 매개변수

bpf_jit_kallsyms

Berkeley Packet Filter Just in Time 컴파일러가 활성화된 경우 컴파일된 이미지는 커널에 알 수 없는 주소입니다. 이는 추적이나 /proc/kallsyms 파일에 표시되지 않음을 의미합니다. 이를 통해 이러한 주소를 내보낼 수 있으며, 이는 디버깅/추적에 사용할 수 있습니다. bpf_jit_harden 매개변수가 활성화된 경우 이 기능은 비활성화되어 있습니다.

가능한 값은 다음과 같습니다.

0 -JIT(Just in Time) kallsyms 내보내기(기본값)를 비활성화합니다.

1 - 권한 있는 사용자에게만JIT(Just in Time) kallsyms 내보내기를 활성화합니다.

업데이트된 /proc/sys/fs 매개변수

dentry-state

들여쓰기는 동적으로 할당 및 할당 해제됩니다.

linux/include/linux/dcache.h 에서 다음을 수행합니다.

struct dentry_stat_t dentry_stat {
        int nr_dentry;
        int nr_unused;
        int age_limit;         (age in seconds)
        int want_pages;        (pages requested by system)
        int nr_negative;       (# of unused negative dentries)
        int dummy;             (Reserved for future use)
};

nr_dentry 번호는 할당된 총 들여쓰기 수(활성 + 사용되지 않음)를 보여줍니다.

nr_unused 숫자는 적극적으로 사용되지 않지만 나중에 재사용할 수 있도록 가장 적게 사용되는 LRU(LRU) 목록에 저장됩니다.

age_limit 숫자는 메모리가 단축될 때 dcache 항목을 회수할 수 있는 시간(초)이며, shrink_dcache_pages() 함수가 호출되고 dcache가 아직 정리되지 않은 경우 want_pages 번호가 0이 아닙니다.

nr_negative 번호는 파일에 매핑되지 않는 음수 들여쓰기이기도 하는 사용하지 않는 들여쓰기 수를 보여줍니다. 대신 사용자가 제공한 기존 파일의 거부 속도를 높이는 데 도움이 됩니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.