From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7D0631F03DE for ; Thu, 26 Mar 2026 03:17:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774495040; cv=none; b=ZW+YSUrshmXiWG2npkWqUAyZKk3/umSj8leGq1nHu22US4QL40Q9Dv9CDodvccGkLzRI6j4t0yZAp06q/5aJqEvW5uQbqDxdtthrCZNvN/Z/vudWn+YdfuYVYic8KFJTXuHYCwkZqZDxALYYm8iOak0dBULhqvPh1YZFsDpIXu0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774495040; c=relaxed/simple; bh=qEMu4a1EBiI1qS1w4fpDR/u6eaGVbAKl6V32/+r3aXo=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=q8ReW7JwEiULrbFTy29u8ai4qpJ1g1FeuNg5UIhckahcS1EVXegXg7aPwFJBzPT3GEPzdUGGgu95DNoSdTGKBSjo2oJZDyr99JsKCd+KOk/7ZwX4ZOCbPBocGm7BJrzUD4XM1qV4nuLg48tG/gJe5bY5FjQfLnO8Q9xNSU2j/D8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=JL2+CKQl; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="JL2+CKQl" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1774495036; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=qEMu4a1EBiI1qS1w4fpDR/u6eaGVbAKl6V32/+r3aXo=; b=JL2+CKQlV1vQL0FG18MqmztmgmOBSQcyT5mznqThtQ+pwaZf/OhOfGXDPNwzw3Cfox05l9 XObCNciuX8pTfjeZ6X68LtSeI47TRXJ9dBNkpLzr/3lXYwr+1tl4dMSYhJDwwrKbjtIRGI Z7Isq64LyAq1uASCy/S3YAd9kR4iiQY= Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-20--0cNrKaSMJevZJqcNl5dbw-1; Wed, 25 Mar 2026 23:17:15 -0400 X-MC-Unique: -0cNrKaSMJevZJqcNl5dbw-1 X-Mimecast-MFC-AGG-ID: -0cNrKaSMJevZJqcNl5dbw_1774495034 Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2b06b68783dso6312855ad.3 for ; Wed, 25 Mar 2026 20:17:15 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774495034; x=1775099834; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=qEMu4a1EBiI1qS1w4fpDR/u6eaGVbAKl6V32/+r3aXo=; b=nh+o3pVSeiRIBqX+lCYfKKngnUcBuSx1cjUpujtz4pZ4Tr/kUFvBJ3CkQjrY2GiHYd J1zlMS9s591O1HNGWIMOXVHXt55iaMYsWUAG6wv7bq+037UNb4RFuEDzl31hds1xhXKX GSxqQM5nhfHPeOgw/5fzFgX0Y9YDJqEHVnF9AS8B3KWiW9JIj/RnAmT4Lb/a4tZRuQMW yNffq4mIfEROiw5wSTQ7k1xMe85ORB5KC7B7xWWjgvq12CCRf+ATbjIhyAvrtHIgBj4T 24q8/iEOfIf5Vc4u20tatVUBC9lSEplN0Jtu482IX99W6QZ9UJBXuAe+qg5SCVLaxxlF POUA== X-Forwarded-Encrypted: i=1; AJvYcCU9GK0uh153zFaNbNjvtebgL75MRsVWtLlhJK1aeDHJTvgw1NdExZ9ilXieQ3UNeybxP7WFva0NjqapSUboUw==@lists.linux.dev X-Gm-Message-State: AOJu0YzrMLQQ11525B3I91bCMIJAEpTm2ENKQpnS5pfaQURYH2ijiMxL 4GD/FTJO7jHXVsR6+mTgejS2Y4EuczhEFhv2alRw8kC6Y4BBgNMOAVzBE70Ngwoz8oFi2/5/CrR 1g4LVts6+5NLA7/7DGYAWDzCq9vvbxRhb4CKxzbyzmzBLEFhXGdUrZcX1vSIT2iY7H43GDwh57P bS1KHs4fHxZ3ldjal/7eRHl/eWNuGPR0IY3ZCgvRX+yC4= X-Gm-Gg: ATEYQzzs40eJGuT1OBxXfqap6Kzj6NfCNkWW235mufJPUjC4dMOUJGvz4QXFGN6dDUp 4RLD4mk8Q+e3zcg3X1rR5k0gyAP2a58Py7l9TPzc34kbqJ650oxC2yVzBmDHbRVSEyY8wJYqBou WrQc9WN07HnJc0+krdird7cqzhfkuBGT92BGLhT0k99fAn5rjuuopiFBql2sKCOaPnmleFElWmq y8v X-Received: by 2002:a05:6a21:998a:b0:39b:f9f5:7a4a with SMTP id adf61e73a8af0-39c4ae08a84mr6464217637.50.1774495034106; Wed, 25 Mar 2026 20:17:14 -0700 (PDT) X-Received: by 2002:a05:6a21:998a:b0:39b:f9f5:7a4a with SMTP id adf61e73a8af0-39c4ae08a84mr6464185637.50.1774495033612; Wed, 25 Mar 2026 20:17:13 -0700 (PDT) Precedence: bulk X-Mailing-List: virtualization@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: In-Reply-To: From: Jason Wang Date: Thu, 26 Mar 2026 11:17:02 +0800 X-Gm-Features: AQROBzAarNEtZJEoyFy_DkMNrrDU5KBdW2pr9F5lbth0WTjJwR9jg3tFeGnbKuI Message-ID: Subject: Re: [PATCH v2 net] ptr_ring: disable KCSAN warnings To: "Michael S. Tsirkin" Cc: linux-kernel@vger.kernel.org, bpf@vger.kernel.org, Simon Schippers , willemdebruijn.kernel@gmail.com, andrew+netdev@lunn.ch, davem@davemloft.net, kuba@kernel.org, pabeni@redhat.com, eperezma@redhat.com, leiyang@redhat.com, stephen@networkplumber.org, jon@nutanix.com, tim.gebauer@tu-dortmund.de, netdev@vger.kernel.org, kvm@vger.kernel.org, virtualization@lists.linux.dev, Eric Dumazet X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: 4gKf7ptGQhgsb8lx6DvIJb5oqXZG9suYYeBcSEBolBo_1774495034 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Mar 26, 2026 at 1:36=E2=80=AFAM Michael S. Tsirkin = wrote: > > Eric Dumazet reported KCSAN warnings: > > BUG: KCSAN: data-race in pfifo_fast_dequeue / pfifo_fast_enqueue > > write to 0xffff88811d5ccc00 of 8 bytes by interrupt on cpu 0: > __ptr_ring_zero_tail include/linux/ptr_ring.h:259 [inline] > __ptr_ring_discard_one include/linux/ptr_ring.h:291 [inline] > __ptr_ring_consume include/linux/ptr_ring.h:311 [inline] > __skb_array_consume include/linux/skb_array.h:98 [inline] > pfifo_fast_dequeue+0x770/0x8f0 net/sched/sch_generic.c:770 > dequeue_skb net/sched/sch_generic.c:297 [inline] > qdisc_restart net/sched/sch_generic.c:402 [inline] > __qdisc_run+0x189/0xc80 net/sched/sch_generic.c:420 > qdisc_run include/net/pkt_sched.h:120 [inline] > net_tx_action+0x379/0x590 net/core/dev.c:5793 > handle_softirqs+0xb9/0x280 kernel/softirq.c:622 > do_softirq+0x45/0x60 kernel/softirq.c:523 > __local_bh_enable_ip+0x70/0x80 kernel/softirq.c:450 > local_bh_enable include/linux/bottom_half.h:33 [inline] > bpf_test_run+0x2db/0x620 net/bpf/test_run.c:426 > bpf_prog_test_run_skb+0x9a4/0xef0 net/bpf/test_run.c:1159 > bpf_prog_test_run+0x204/0x340 kernel/bpf/syscall.c:4721 > __sys_bpf+0x52e/0x7e0 kernel/bpf/syscall.c:6246 > __do_sys_bpf kernel/bpf/syscall.c:6341 [inline] > __se_sys_bpf kernel/bpf/syscall.c:6339 [inline] > __x64_sys_bpf+0x41/0x50 kernel/bpf/syscall.c:6339 > x64_sys_call+0x10cb/0x3020 arch/x86/include/generated/asm/syscalls_64.h:3= 22 > do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] > do_syscall_64+0x12c/0x370 arch/x86/entry/syscall_64.c:94 > entry_SYSCALL_64_after_hwframe+0x77/0x7f > > read to 0xffff88811d5ccc00 of 8 bytes by task 22632 on cpu 1: > __ptr_ring_produce include/linux/ptr_ring.h:106 [inline] > ptr_ring_produce include/linux/ptr_ring.h:129 [inline] > skb_array_produce include/linux/skb_array.h:44 [inline] > pfifo_fast_enqueue+0xd5/0x2c0 net/sched/sch_generic.c:741 > dev_qdisc_enqueue net/core/dev.c:4144 [inline] > __dev_xmit_skb net/core/dev.c:4188 [inline] > __dev_queue_xmit+0x6a4/0x1f20 net/core/dev.c:4795 > dev_queue_xmit include/linux/netdevice.h:3384 [inline] > __bpf_tx_skb net/core/filter.c:2153 [inline] > __bpf_redirect_common net/core/filter.c:2197 [inline] > __bpf_redirect+0x862/0x990 net/core/filter.c:2204 > ____bpf_clone_redirect net/core/filter.c:2487 [inline] > bpf_clone_redirect+0x20c/0x290 net/core/filter.c:2450 > bpf_prog_53f18857bc887b09+0x22/0x2a > bpf_dispatcher_nop_func include/linux/bpf.h:1402 [inline] > __bpf_prog_run include/linux/filter.h:723 [inline] > bpf_prog_run include/linux/filter.h:730 [inline] > bpf_test_run+0x29d/0x620 net/bpf/test_run.c:423 > bpf_prog_test_run_skb+0x9a4/0xef0 net/bpf/test_run.c:1159 > bpf_prog_test_run+0x204/0x340 kernel/bpf/syscall.c:4721 > __sys_bpf+0x52e/0x7e0 kernel/bpf/syscall.c:6246 > __do_sys_bpf kernel/bpf/syscall.c:6341 [inline] > __se_sys_bpf kernel/bpf/syscall.c:6339 [inline] > __x64_sys_bpf+0x41/0x50 kernel/bpf/syscall.c:6339 > x64_sys_call+0x10cb/0x3020 arch/x86/include/generated/asm/syscalls_64.h:3= 22 > do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] > do_syscall_64+0x12c/0x370 arch/x86/entry/syscall_64.c:94 > entry_SYSCALL_64_after_hwframe+0x77/0x7f > > value changed: 0xffff888104a93a00 -> 0x0000000000000000 > > Reported by Kernel Concurrency Sanitizer on: > CPU: 1 UID: 0 PID: 22632 Comm: syz.0.4135 Tainted: G W syzkaller #0 > PREEMPT(full) > Tainted: [W]=3DWARN > Hardware name: Google Google Compute Engine/Google Compute Engine, > BIOS Google 01/24/2026 > > There is no race on ring accesses: reading/writing a partial pointer > would be fine, because the reading is done by the producer > which merely cares about NULL/non NULL. > Document and disable the warnings using data_race(). > > Tested-by: Opus Sonnet 4.6 1M window. > Signed-off-by: Michael S. Tsirkin > --- > Acked-by: Jason Wang Thanks