このウェブページのスクリーンショットから、以下の脆弱性に関する重要な情報を取得できます。 1. 脆弱性の説明: - タイトル:net: gso: fix tcp fraglist segmentation after pull from frag_list - 説明:frag_listからのデータ取得後、TCP GSO fraglist skbs(skbuffs)で発生する分割エラーを修正します。skbuffsは、Linuxカーネルにおいてネットワークパケットを格納するための構造体です。 2. 修正方法: - コードの変更:frag_list側がこれらのskbuffsを正しく分割できるため、skb_segment_listではなくskb_segmentでこれらのskbuffsを処理することで、TCP GSO fraglist skbsの分割エラーを修正します。 - データ構造:skbuffsは以下の条件を満たす必要があります。 - 2つ以上のセグメントで構成される - ヘッダ用skbuffがプロトコルヘッダおよび最初のgso_sizeを保持する - 1つ以上のfrag_list skbuffsがそれぞれちょうど1つのセグメントを保持する - 最後のセグメントを除くすべてのセグメントがgso_sizeでなければならない - データパスフック:NATやBPF(bpf_skb_pull_data)などのフックはこれらのskbuffsを変更でき、上記の不変条件を崩す可能性があります。 3. 修正プロセス: - リンク:TCP GSO fraglistに関する議論と、TCP GSO fraglistの修正に関する2つのリンクが提供されています。 - パッチ:IPv4用とIPv6用の2つのパッチが提供されています。 4. 作者とレビュー: - 作者:Felix Fietkau - レビューアー:Willem de Bruijn、Jakub Kicinski、Greg Kroah-Hartman 5. コードの変更内容: - ファイル:net/ipv4/tcp_offload.c および net/ipv6/tcpv6_offload.c - 変更内容:TCP GSO fraglist skbsの分割エラーを修正し、主にskb_segmentおよびskb_segment_listの処理ロジックを変更しました。 6. パッチの状態: - 状態:修正済み。コードはカーネルにコミット済みです。 これらの情報から、この脆弱性の修正プロセス、修正方法、および修正後のコード変更内容について把握できます。