A.7. strace の変更点


Red Hat Developer Toolset 11.0 には strace 5.13 が同梱されています。

以下の機能は、Red Hat Developer Toolset の以前のリリース以降に追加または変更されています。

動作の変更

  • 変更された %process クラスには、プロセスのライフサイクル (作成、実行、終了) に関連するシステムコールが含まれています。

    • 新しい呼び出し: killtkilltgkillpidfd_send_signal、および rt_sigqueueinfo
    • 削除された呼び出し: arch_prctl および unshare

改良

  • 新しい -n (--syscall-number) オプションは、システムコール番号を出力します。
  • 新しい --seccontext=full オプションは、SELinux コンテキストを表示します。
  • Poke インジェクションが実装され、--inject=SET:poke_enter=--inject=SET:poke_exit= の 2 つの新しいオプションが追加されました。
  • IBM POWER アーキテクチャーでは、System Call Vectored (SCV) ABI サポートが追加されました。
  • libdw ベースのスタックトレースは、ネイティブ以外のパーソナリティーに対して有効になります。
  • Netlink データの出力方法が整理されました。
  • close_rangeepoll_pwait2faccessat2landlock_add_rulelandlock_create_rulesetlandlock_restrict_selfmount_setattr、および process_madvise のシステムコールのデコードが実装されました。
  • io_uring_setupmembarrierperf_event_open、および pidfd_open のシステムコールのデコードが強化されました。
  • GPIO_* および TEE_* ioctl コマンドのデコードが実装されました。
  • FS_IOC_FSGSETXATTRFS_IOC_GSETFLAGSFS_IOC32_GSETFLAGSLOOP_CONFIGURESIOCADDMULTISIOCDELMULTISIOCGIFENCAPSIOCOUTQNSDSIOCSIFENCAPSIOCSIFHWBROADCASTUBI_IOCRPEB and UBI_IOCSPEBV4L2_BUF_TYPE_META_CAPTUREV4L2_BUF_TYPE_META_OUTPUT、and VIDIOC_QUERY_EXT_CTRLioctl コマンドのデコードが実装されました。
  • PTRACE_GETREGSET および PTRACE_SETREGSET ptrace リクエストの NT_PRSTATUS および NT_FPREGSET regset のデコードが実装されました。
  • PTRACE_GETREGSPTRACE_GETREGS64PTRACE_SETREGSPTRACE_SETREGS64PTRACE_GETFPREGS、および PTRACE_SETFPREGS など、ptrace リクエストの regs 引数のデコードが実装されています。
  • IPC_INFO および MSG_INFO msgctl システムコールコマンドの struct msginfo 引数のデコードが実装されました。
  • MSG_STAT および MSG_STAT_ANY msgctl システムコールコマンドの struct msqid_ds 引数のデコードが実装されました。
  • IPC_INFO および SEM_INFO semctl システムコールコマンドの struct seminfo 引数のデコードが実装されました。
  • IPC_SETIPC_STATSEM_STAT、および SEM_STAT_ANY semctl システムコールコマンドの struct semid_ds 引数のデコードが実装されました。
  • IPC_INFO shmctl システムコールコマンドの struct shminfo 引数のデコードが実装されました。
  • SHM_INFO shmctl システムコールコマンドの struct shm_info 引数のデコードが実装されました。
  • SHM_STAT および SHM_STAT_ANY shmctl システムコールコマンドの struct shmid_ds 引数のデコードが実装されました。
  • IFLA_BRPORT_* netlink 属性のデコードが更新され、Linux 5.12 カーネルに一致するようになりました。
  • *_MAGICALG_*AUDIT_*BPF_*BTRFS_*CAP_*CLOSE_RANGE_*DEVCONF_*ETH_*FAN_*IFLA_*INET_DIAG_*IORING_*IPV6_*IP_*KEXEC_*KEYCTL_*KEY_*KVM_*LOOP_*MDBA_*MEMBARRIER_CMD_*MPOL_*MS_*MTD_*NDA_*NFT_MSG_*NLMSGERR_*NT_*PR_*PTP_PEROUT_*PTRACE_*RESOLVE_*RTAX_*RTA_*RTC_*RTM_*RTNH_*RTPROT_*SCTP_*SEGV_*SO_*STATX_*ST_*SYS_*TCA_*TRAP_*UFFDIO_*UFFD_*、および V4L2_* の定数リストが更新されました。
  • ioctl コマンドのリストは、Linux 5.13 カーネル更新からのリストと一致するように更新されています。
  • RHEA-2022:4635 アドバイザリーのリリースにより、strace は、実際の SELinux コンテキストと SELinux コンテキストデータベースから抽出された定義との間の不一致を表示できるようになりました。

    strace の既存の --secontext オプションは、mismatch パラメーターで拡張されました。このパラメーターを使用すると、不一致の場合にのみ、実際のコンテキストとともに期待されるコンテキストを出力できます。出力は、2 つの感嘆符 ( !!) で区切られます。最初は実際のコンテキスト、次に期待されるコンテキストです。以下の例では、コンテキストのユーザー部分が不一致であるため、full,mismatch パラメーターは、実際のコンテキストとともに期待される完全なコンテキストを出力します。ただし、単独の mismatch を使用する場合は、コンテキストのタイプ部分のみをチェックします。コンテキストのタイプ部分が一致するため、予期されるコンテキストは出力されません。

    [...]
    $ strace --secontext=full,mismatch -e statx stat /home/user/file
    statx(AT_FDCWD, "/home/user/file" [system_u:object_r:user_home_t:s0!!unconfined_u:object_r:user_home_t:s0], ...
    
    $ strace --secontext=mismatch -e statx stat /home/user/file
    statx(AT_FDCWD, "/home/user/file" [user_home_t:s0], ...
    Copy to Clipboard Toggle word wrap

    SELinux コンテキストの不一致は、SELinux に関連するアクセス制御の問題を引き起こすことがよくあります。システムコールトレースに出力された不一致により、SELinux コンテキストの正確性のチェックが大幅に迅速化されます。システムコールトレースは、アクセス制御チェックに関する特定のカーネルの動作を説明することもできます。

バグ修正

  • SIOCGIFINDEXSIOCBRADDIF、および SIOCBRDELIF ioctl コマンドのデコードが修正されました。
  • clock_gettime64clock_settime64clock_adjtime64、および lock_getres_time64 システムコールが %clock トレースクラスに追加されました。
  • statx システムコールが %fstat トレースクラスに追加されました。
  • 以前は、strace は、ネットワークインターフェイス名の出力に不十分なバッファーサイズを使用していました。これにより、-xx モードで 4 文字を超える名前など、引用符を必要とするインターフェイス名を出力しようとすると、アサーションが発生しました。RHEA-2022:4635 アドバイザリーのリリースにより、このバグは修正されました。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat