From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ej1-f48.google.com (mail-ej1-f48.google.com [209.85.218.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0EB1420C027 for <io-uring@vger.kernel.org>; Tue, 1 Apr 2025 15:45:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.48 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743522303; cv=none; b=bRxmsj4ayMSUhns8qp92oOrQeKz3vEf2eCO8OM34zlNgly4JAbJHaudVSiwxuYKhLit6+G2llO76KsWv8ztlgK907z+CCPzMqFYsXQJuNnNvmuQ21hvqdJI/Vzp3JltjcvC5RWDbQjsepBF3yjNCUIPP8EtfF6dDcJDAcQ9kaRs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743522303; c=relaxed/simple; bh=To+ZIS6y9amnx3D3q0apiArudSLor6epXqAOZ5i6dpc=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=u/MgeYXSRDTYwH4+k6h8g2A5NbqYhDKoCYo7QFclifb/O1i1e5AKaokxqCVeq+nVeXFQwgJTytnFgYsQ/EzhASG1qEVLpaxNdTogeUAYCphETeKe8hE8Q0qYnRT/ckSDzVU/tMAXxrpuJLpXZ6PdSmUvvuw5yWdCXEIx75/imOo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=YOOlMsmR; arc=none smtp.client-ip=209.85.218.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="YOOlMsmR" Received: by mail-ej1-f48.google.com with SMTP id a640c23a62f3a-ac6ed4ab410so908169766b.1 for <io-uring@vger.kernel.org>; Tue, 01 Apr 2025 08:45:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1743522300; x=1744127100; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=xqbS7ka2VHAGeI0eMEemx5lSh/7rv/QDT3KYEcCNgxA=; b=YOOlMsmR0v6ODmUGwBy+oA2o76vwdawXqUdVfogl/ohVo9/BNQhZPl0kgpraXii20x FkeOd8OAYZFuzzo0kAH9u2wTwY/gLAkGlZHuDL2KrVZ37Ymfu9szStXGDGIE+E+7bEQO QQ2Y28ElRk17d3ZxBuoFbfrHAk1WGVy/hsEqyUM/GHj/5NNaQBG4liVjLfCDdhOYYSLD /v61RwaYBjnOHNDKnIrXYHgY8r4OJNvDqMIL6QEw4bvdeW2tuVP8RHbpxuOKdPIAYhvc cl1zyNL2xqKfmjZwlk/298LRZ2myZ9U/hbMRo8JYmLByMPWANKwwuCCs4cNd3Pnsu8nb TFug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743522300; x=1744127100; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=xqbS7ka2VHAGeI0eMEemx5lSh/7rv/QDT3KYEcCNgxA=; b=uoR+ZkBnCAfJcbWjmhUfsE7ynu79niiE6G2gTI+5VkW+0s/LXhzLfTWNgUe5QPsb4e TqaT3plj3jrAgCk5Az9fW3OBXtHxd0jTUuBR+19cnsBbfeEhNhMiLvHW0N013NrmSdHn 1gk+g11S1BpdCAXKwGLLVtN150J3bj8bGMn5KDEhMRmLfo2eMWmh7XzJl2+8CpicMzaD DSX+zCT+hW3FRNLnb6917FELrEjfJz9TPkB3slCiDOHeA7onEwSpbhX9u0L0upu7qpZw WxJYjQeDFEZrdFMsu2YDqvYQeWxTbe8SxDY3BfQfjTEErXpXzSDjz53jdInHDJK+aLpD pX8Q== X-Gm-Message-State: AOJu0Yz5mw7TGjEbh9rphx8taHiOqjZCdD8JC0dmk1Vnh9CUTOyj30Va QO0QNqPGdEEVmoUnZj2GV6YUrmnrRGelyWlTiSBp1LyT80MxdeaWLrC4gw== X-Gm-Gg: ASbGncsQeKADDBgnXOniy4EAcRvKjQ0z+twj4PxbBLWYtbySnZJ48Ms5hEHDQwU/N6r /hxonkp9Ww9MQdOIzKKCl2rl5/hnsDU3ImSGKA4uTCevC/89C5C6/FClrTW5d4tXjekYbv5sTjv P4/PGEb69y6xWoE6egdexOphXQjZSg+eqDKzdWWs4PzdGuyTto61qKFi2aVUdOiXspcWXk84pwy tfMi7rbTWL5xm76fBwC4npVH/krp+mfQcO0yQy0Dw9lUVt31jzJQg8eGDNMllxDoPcQB7YpnLv+ odbbaHErfR6wj6UnFC/mk+mPPIESRV2B5CPJio7dxvpZOo83ZTjKR8G9TSg= X-Google-Smtp-Source: AGHT+IHveVmmj7p/32fQC6MMJdYC5AgC9TFZ58CZQH4axmy8EPevmDh2/dDO93qvb3TNCbcXv6nkGA== X-Received: by 2002:a17:906:f58f:b0:ac3:1763:cc32 with SMTP id a640c23a62f3a-ac738b37e88mr1309921966b.29.1743522299613; Tue, 01 Apr 2025 08:44:59 -0700 (PDT) Received: from 127.0.0.1localhost ([148.252.140.143]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ac71922bf43sm776731466b.6.2025.04.01.08.44.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 01 Apr 2025 08:44:59 -0700 (PDT) From: Pavel Begunkov <asml.silence@gmail.com> To: io-uring@vger.kernel.org Cc: asml.silence@gmail.com Subject: [PATCH 1/1] io_uring: add lockdep checks for io_handle_tw_list Date: Tue, 1 Apr 2025 16:46:16 +0100 Message-ID: <ffd30102aee729e48911f595d1c05804e59b0403.1743522348.git.asml.silence@gmail.com> X-Mailer: git-send-email 2.48.1 Precedence: bulk X-Mailing-List: io-uring@vger.kernel.org List-Id: <io-uring.vger.kernel.org> List-Subscribe: <mailto:io-uring+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:io-uring+unsubscribe@vger.kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Add a lockdep check to io_handle_tw_list() verifying that the context is locked and no task work drops it by accident. Signed-off-by: Pavel Begunkov <asml.silence@gmail.com> --- io_uring/io_uring.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c index 6df996d01ccf..13e0b48d1aac 100644 --- a/io_uring/io_uring.c +++ b/io_uring/io_uring.c @@ -1054,6 +1054,10 @@ struct llist_node *io_handle_tw_list(struct llist_node *node, mutex_lock(&ctx->uring_lock); percpu_ref_get(&ctx->refs); } + + lockdep_assert(req->ctx == ctx); + lockdep_assert_held(&ctx->uring_lock); + INDIRECT_CALL_2(req->io_task_work.func, io_poll_task_func, io_req_rw_complete, req, ts); -- 2.48.1