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)オプションは、システムコール番号を出力します。
  • 新しい --secontext[=full] オプションは SELinux コンテキストを表示します。
  • ポク挿入インジェクションが実装され、2 つの新規オプションが追加されました( --inject=SET:poke_enter= および --inject=SET:poke_exit= )。
  • IBM POWER アーキテクチャーでは、System Call Vectored(SCV)ABI のサポートが追加されました。
  • libdw- ベースのスタックトレースは、ネイティブでないパーソナリティーに対して有効になります。
  • netlink データは、より構造化された方法で出力されます。
  • 以下のシステムコールのデコードは、close_range,epoll_pwait2,faccessat2,landlock_add_rule,landlock_create_ruleset,landlock_restrict_self,mount_setattr, and process_madvise.
  • io_uring_setupmembarrierperf_event_open、および pidfd_open のシステムコールのデコードが強化されました。
  • GPIO_* および TEE_* ioctl コマンドを実装します。
  • 以下の ioctl コマンドのデコードが実装されています。 fs _IOC_FS[gs]etXATTR, fs_IOC_[gs]etFLAGS, fs_IOC32_[gs]etFLAGS, lOOP_CONFIGURE, siOCADDMULTI, siOCDELMULTI, sIOCGIFENCAP, SIOCOUTQNSDSIOCSIFENCAPSIOCSIFHWBROADCASTUBI_IOCRPEB および UBI_IOCSPEBV4L2_BUF_TYPE_META_CAP TURE、V4L2_BUF_TYPE_META_OUTPUT、 および VIDIOC_QUERY_EXT_CTRL
  • NT_PRSTATUS および NT_FPREGSET regsets の PTRACE_GETREGSET および PTRACE_SETREGSET ptrace リクエストのデコードが実装されています。
  • Ptrace 要求の regs 引数のデコードが実装されています。PTRACE_GETREGS 64、PTRACE_GETREGS64PTRACE_SETREGS 64、PTRACE_SETREGS64、PTRACE_SETREGS64、PTRACE_SETFPREGS、および PTRACE_SETFPREGS
  • 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 の struct semid_ds 引数、および SEM_STAT_ANY semctl のシステムコールコマンドを実装します。
  • 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 カーネルに一致するように更新。
  • 以下の定数のリストが更新されます。 *_magic , aLG_*, audit _*, bpf _*, bt RFS_*, cap _*, close _RANGE_*, dev CONF_*, eth _*, fAN_*, ifLA_*, iNET_DIAG_*, iORING_*, ipv6_*, ip_*, kEXEC_*, keyCTL_*, key_*, kvm_*, lOOP_*, mdbA_*, memBARRIER_CMD_*, mPOL_*, ms_*, mtD_*, nd a_*, 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 コンテキストの正確性のチェックが大幅に迅速化されます。システムコールトレースは、アクセス制御チェックに関する特定のカーネルの動作を説明することもできます。

バグ修正

  • SIOCGIFINDEX コマンド、SIOCBRADDIF、および SIOCBRDELIF ioctl コマンドのデコードが修正されました。
  • clock_gettime64、lock_settime64、lock_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