From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f176.google.com (mail-pf1-f176.google.com [209.85.210.176]) (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 A046337E2E9 for ; Sat, 25 Apr 2026 13:57:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.176 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777125457; cv=none; b=fJwlaoOnS85G0PLkv5UGDwAqIEAIQGKL65VmPSHWrYh1wq/txaws9vI6Q0RXo13mJ/qJgwiJ8YDGsqKIHo8GR05vgLFHKNi121C+O9nBwbMDyvzLGPrOPa5MujaeWtIKAr3Tt0hOXseDAsK2cwx/7eBto/qeqznYoj8/BEqKkdE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777125457; c=relaxed/simple; bh=6q6QibfaDrRNRHt69KoOIAl2M88nD324TRC+BfeOpWI=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type; b=SumAT8hz9kHZ623j2Sdc7pXE+qqtBZIW9rE7CtPIF584dxjtuWSZ8iukiyOWi4sfujbITh7D+mEIoFlMRWyHzYWY//YnqayJ4EdQiPo6WofyOgN+VhhVO52LAwD6IHML9ADv3J7J4SXLrbC7b5+aUiRugxuhq8A1//s3z7A4TUM= 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=VrRUWvnk; arc=none smtp.client-ip=209.85.210.176 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="VrRUWvnk" Received: by mail-pf1-f176.google.com with SMTP id d2e1a72fcca58-827270d50d4so7928567b3a.3 for ; Sat, 25 Apr 2026 06:57:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777125456; x=1777730256; 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=je/OfPs9aQIQ5RP7OJEYodKDzXQthrzLsRzK6wB2b4Q=; b=VrRUWvnk3MXV15nu0Qu1oCGpik1KGZ1dSDRZNWIraevofMTJ5HstFn45m5H3MNHtt6 MpMGXhXOuGgjkDmkwDFEXGPopu5kPPmYa84jg77RshIGdlkA9TqrTnj+j/hMiGzDznWO l2gyCckm42HQA0CHQ1xGCOR2CwSABuZylCOXmVkZbjj6kijiWiObi8zYn4AKDi+ixQqv YJnZ5G+9ya4jKwIPzeQ8EBVyu+lhYw3uYCy5SydcaIXqkukhf3WFEVMBk3hDPEbxHzme BMhBsa3qHHu5WWUHERS8x3elCELBFtFlNq0oCzzMXpJ1xeBFKBOP3xRMS6kXOm9NzJcm mm6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777125456; x=1777730256; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=je/OfPs9aQIQ5RP7OJEYodKDzXQthrzLsRzK6wB2b4Q=; b=jX5up9Uy3mgMsoGCGLqqXR1KtMeo2glR7NSMad5EHJ7iRk9HSO8DPo4iaOy1TrMaKL /FNFpoXkQPpCXF/daceUjhvU+sCj27EW/yCl4JxN0J+DvCyrDCF/KxNcEXh2Z/gOw6BQ 6iig1n8zw9BNYO0NeG8ni6crYi00pZ52//TJF+9TjG2t3gezcF9+SVGzXSZ5m8tlOytM E0dYqUX4+X3ZtgigO6uuOvm3PmkBzkXBp8ZPbualW9tXG+0WW6GqAz++8TXzlHnsGTIC sP0ZO6pmzEXrmXx6fs8OEoi0oncmPIEopJD0a6oigKZ8kjrEvtbnOxdT30njzUBgmrwj jZjg== X-Forwarded-Encrypted: i=1; AFNElJ9AtkAfbtVsDHQR+OWEftrp+mWzRxCefMP4jk0LrnZHf1QWs93k+LUc6bGdy4NlyGdSmS0V9TR/OLLW5gE=@vger.kernel.org X-Gm-Message-State: AOJu0YxvFABg1iVvsgwjhnDAurY/9s+buuojW/2P6jkNoh/TjY9m7Z62 jcVXj1ApKoJkW6xonSLP6M/UVWWXNhlXcOdjP9svTw1Z7JRqEddFm541 X-Gm-Gg: AeBDietcyMXdkzVE/CF/DArbIs4TGIdCt8PpBS2lVotK7TdVSCnMMtk7d/vHWFiuhfk TvtK/Fipc34XfhhyBJpv5HmnT1QTH5YQY2TORp36Sw0dJRogmiUWOHSL+VIzdQSAseYxqyKgk10 E6GhUZfL4Gk2bPXLKBq4btrteguiIDfJpf7OtTG7MyhuiDW3A7EQItsMRXju7Kdzha5WaeWgPCX kLdyFdK5AB1KIzm9U0jVNFo05O+ua6ppIl1gqaPriNl3UzBpbVfChmwBi6TgFc0Ph2wBVkRxON+ 8DpnHHeZfJlUDlRZHHLMONXzDL+bwMeDlhc2/M/vsIKoeMrV4E2kWTR/pOSPpcw3n58mc3tx9VL G0VG3GJJciSC1kG8Ai8GAVEwojHjEbPo9tbVCmgRx+8r7mxqhtyPKl12zVtACw5KOUzQx7Sryyq IylgMhvmFyqtmDCieMLp+kk4xPg/L/J3q/2xSSxSJrqtJc6gcmR34= X-Received: by 2002:a05:6a00:3cc8:b0:82f:1b50:d2f2 with SMTP id d2e1a72fcca58-82f8c8335fbmr38917499b3a.18.1777125455828; Sat, 25 Apr 2026 06:57:35 -0700 (PDT) Received: from Nighthawk.localdomain ([223.178.220.204]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-82f8ec0307esm27071088b3a.53.2026.04.25.06.57.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 25 Apr 2026 06:57:35 -0700 (PDT) From: Sagar Taunk To: ojeda@kernel.org Cc: aliceryhl@google.com, bjorn3_gh@protonmail.com, boqun@kernel.org, gary@garyguo.net, lossin@kernel.org, a.hindborg@kernel.org, tmgross@umich.edu, dakr@kernel.org, contact@onurozkan.dev, rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org, Sagar Taunk Subject: [PATCH] rust: workqueue: fix SAFETY comment Arc refs in Pin> Date: Sat, 25 Apr 2026 19:27:01 +0530 Message-ID: <20260425135701.34010-1-sagartaunk2@gmail.com> X-Mailer: git-send-email 2.54.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The `WorkItemPointer` implementation for `Pin>` contained SAFETY comments that incorrectly referenced `Arc::into_raw` instead of `KBox::into_raw`. This implementation uses `KBox`, not `Arc`, so update the comments to accurately reflect the actual ownership transfer. Suggested-by: Onur Özkan Link: https://github.com/Rust-for-Linux/linux/issues/1233 Signed-off-by: Sagar Taunk --- rust/kernel/workqueue.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/rust/kernel/workqueue.rs b/rust/kernel/workqueue.rs index 7e253b6f299c..74c59f2b1c09 100644 --- a/rust/kernel/workqueue.rs +++ b/rust/kernel/workqueue.rs @@ -890,9 +890,10 @@ unsafe impl WorkItemPointer for Pin> unsafe extern "C" fn run(ptr: *mut bindings::work_struct) { // The `__enqueue` method always uses a `work_struct` stored in a `Work`. let ptr = ptr.cast::>(); - // SAFETY: This computes the pointer that `__enqueue` got from `Arc::into_raw`. + // SAFETY: This computes the pointer that `__enqueue` got from `KBox::into_raw`. let ptr = unsafe { T::work_container_of(ptr) }; - // SAFETY: This pointer comes from `Arc::into_raw` and we've been given back ownership. + // SAFETY: This pointer comes from `KBox::into_raw` and we have been given back ownership, + // as the workqueue guarantees `run` is called exactly once. let boxed = unsafe { KBox::from_raw(ptr) }; // SAFETY: The box was already pinned when it was enqueued. let pinned = unsafe { Pin::new_unchecked(boxed) }; -- 2.54.0