시스템 메시지가 어디서 발생하는지 어떻게 알 수 있나요(dmesg/journalctl/message의 "버퍼 테스트")?

시스템 메시지가 어디서 발생하는지 어떻게 알 수 있나요(dmesg/journalctl/message의 "버퍼 테스트")?

지난 며칠 동안 시스템 로그/일지에 메시지가 1초 내에 수천 번 이상 표시되었습니다. 어디서 유래되었는지 어떻게 알 수 있나요?

# journalctl --system | grep "testing the buffer" | uniq --count
1522 Apr 06 13:49:31 laptop unknown: testing the buffer

따라서 "알 수 없음"에 의한 동일한 메시지가 1522번 발생합니다. 이것이 악의적일 가능성이 있나요?

# find / -xdev -type f -print0 | xargs -0 grep "testing the buffer" | grep -v /var/log/journal
Exit 1

해당 문자열을 포함하는 시스템 파일이 없습니다!

시스템은 systemd-journald시스템 로그에 사용합니다.

답변1

최신 커널(5.6.x)과 관련된 것으로 보입니다.

장황한 수준으로 저널을 추적하는 경우

sudo journalctl -f -o verbose

_TRANSPORT=커널을 볼 수 있습니다.

Sun 2020-04-12 09:32:38.852081 CEST [s=ca0e47a50a2047e483013075418f4a72;i=1d58f89;b=343f4563d34649baad6f57aacc0320a1;m=e9cad4480;t=5a312f895b1f1;x=16d4d0c3d713857c]
    _MACHINE_ID=*******
    _HOSTNAME=*******
    _TRANSPORT=kernel
    PRIORITY=4
    SYSLOG_FACILITY=1
    MESSAGE=testing the buffer
    _BOOT_ID=343f4563d34649baad6f57aacc0320a1
    _SOURCE_MONOTONIC_TIMESTAMP=62758810437

실제로 OpenSUSE에 버그가 나열되어 있습니다.https://bugzilla.opensuse.org/show_bug.cgi?id=1168664(그러나 커널 관련, 나는 우분투에 있습니다)https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=41c55ea6c2a7ca4c663eeec05bdf54f4e2419699

다행스럽게도 걱정할 것은 없습니다. 수정 사항을 패키지 커널에 병합하면 사라질 것입니다...

답변2

  1. "버퍼 테스트" 문자열은 커널 5.6.5 파일 내부에 있습니다../net/bpfilter/main.c
  2. 이 무해한 DEBUG 메시지는 향후 커널 릴리스에서 사라질 것으로 예상됩니다.
  3. 이 메시지의 출처를 다음과 같이 찾았습니다.
    1. Bash 쉘에서 커널 5.6.5 소스 트리의 루트를 입력합니다.
    2. 실행 중:
      나 때문에find . -name "*.c"
      하다
      $i를 에코해
      grep "버퍼 테스트" $i
      완료 > pq.log
    3. pq.log 파일 내부에서 열 때마다 문자열을 찾고 다음을 사용하여 파일을 검사합니다.
      vi pq.log

관련 정보