On Mon, 16 Nov 2020 09:37:34 -0800 Martin KaFai Lau wrote: > On Sat, Nov 14, 2020 at 05:17:20PM -0800, Jakub Kicinski wrote: > > On Thu, 12 Nov 2020 13:13:13 -0800 Martin KaFai Lau wrote: > > > This patch adds bpf_sk_storage_get_tracing_proto and > > > bpf_sk_storage_delete_tracing_proto. They will check > > > in runtime that the helpers can only be called when serving > > > softirq or running in a task context. That should enable > > > most common tracing use cases on sk. > > > > > + if (!in_serving_softirq() && !in_task()) > > > > This is a curious combination of checks. Would you mind indulging me > > with an explanation? > The current lock usage in bpf_local_storage.c is only expected to > run in either of these contexts. :) Locks that can run in any context but preempt disabled or softirq disabled? Let me cut to the chase. Are you sure you didn't mean to check if (irq_count()) ?