From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) (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 4F83E439005 for ; Wed, 4 Feb 2026 20:46:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.41 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770237997; cv=none; b=Fo8gc/M2r6BwCHSGfugU90ApiXzsb+JzMjMDRpvCixtI1vYlJB8g+21VzbRkoEH8d8wUzSRq3v+pAW8VG54Y8tja3Aqc130ZQ9WJQzsdlBwodQhGReBD6cmlW9ZYZ261156lC9+khTMSyPettWTLKbhp0hpiDTLodE7nq691HSE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770237997; c=relaxed/simple; bh=DFjcgfwpFc02b8FCn4ecsSgsL3flya6kUNfAylzY1Hw=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=QaavoteTv9w3WzjvnlOfdzsw7r3s8QQdRO6p/Fp6IL7UYFJviZIieFTSsma7HZkoDYwtPKdVR3YqIZg9T/2i8/03lUwlB1SEe4n8pcP8ofNicFLh+LEBsFzbv982nCGGuTEjhD3P9VO9BIJyTiZPMxo/mN1OHAYkTyPU7F5+sKk= 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=EDFU/+jy; arc=none smtp.client-ip=209.85.128.41 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="EDFU/+jy" Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-47edd6111b4so2011955e9.1 for ; Wed, 04 Feb 2026 12:46:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1770237996; x=1770842796; darn=vger.kernel.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=FS3qrLVp/vDb8lw48V6TAtY1iZUsmv6A+sCC05qR8kU=; b=EDFU/+jyibMGwDMy29I3RT8x+0Ct3PzoZVgT9SbfQBKUZ+uwIHn0Gc2zIjaMXjY+Fq D1MJYAe8NZPfKx7RyBdODNnEFON40ZkOid9HUq0VpxoVqqSxRL93DPbttqfyv5Eu1rUi i7Hm4Az/0JQNphpv0d1LLu8iZFP0790OXuT4nMqgvTVaeFVvVMRxeD6CkzTju0SKBnjf aRkxF5no7v3CkDfS3XRaOILWgHvthtMAYfR4pIRlYBp4BxbKehJFpLt2PgGh+KXMHhRX lOA+9h0+bJXJ7IoUw/NQoFPWrGeFjbZWBk+AGEAYJhxGDlJhXaJ2uIWEw6SdPlctZs5R bEKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770237996; x=1770842796; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=FS3qrLVp/vDb8lw48V6TAtY1iZUsmv6A+sCC05qR8kU=; b=bmbYpku1NTz5CQQvXPBs49z58mC/t29bna2Un2KKw8IMrrDr4ZHFAp2iZmFSYHgMA9 I0NuKHjq6yyUh97X5+qXxVfYPK2UuSnr9CHTd4zkbLvN4jpkFfyjA5X2qNV5Zmgum0Jz fQa2ydlh7DkwvnH3VCKbnWkitV1bceO8gl20bQbyS7eJtIiebzBmwMELFPqlM+M2r9cd VeOjWFhV9L8p+Ae9T1+6TKY/NfZjlRVm18myCuG3y2OQijm0w6O5SSwjlm+/L7UK3qXG 7+gAZmZjA6UK2ndx3WCDNwg8TXx33pV2/+suVFmADn7pJjtPkTXuductSooQNK9kRUnt +1uw== X-Forwarded-Encrypted: i=1; AJvYcCX5r1LMcy+NQTtRqAVcfKojGy2XIR3K73/UnZ6mLWS8mNmgYQIALCxQiI7AXw9H2ATUNJF2NIl/rBqo6eQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yy0MGFCQvwwOqmbBD82d81Ld5NcMDXS0VLPAvyH+8LZ16pgU4d0 O1UGe7ilOOUSJs9dRxpYgpEracox9qSUGm+DkE8/rDNjpwXaZEFvddWmUgfnsA== X-Gm-Gg: AZuq6aJrrg/isUDCB1a+iHhOfAYEvapXSedKfl+021MIUxTds/TG01J/ph760tQj7Dg aJkz8dMQjAV0yvpFd0nzSKLVCkufc0DECaXXXNNEF2YX0fKSKHRLvPVhHEKDXLv9DtJA6zztpmE pv1X1wt7BAgetptJJAzq1ZCesYCAZbWWzY7ggep4+eeB4Dn3gkAeRcl4Uvc81pgibsyHkjw6yX3 b/ueVPk3aFAyyENEKvvjfBeQrgF333aGbyhk2CNFWmYn0VMoHNIt+Bvp8Dw+2zwf06dgliKdyrC Mmt7CEKg5LZG2rF7C581Ys9zcD2gM5BUDypHL9xIthiTT+b3CVSwnYPIoY3jmFZfz7WVbEypFML cH6ia5zmlx8knbVFJFuGOcVvNJv3YT8cQaJg1LVdUbpvMODSrWfVv9cGbG4rV8vcdf2rkoQcEBW +JAA== X-Received: by 2002:a05:600c:6986:b0:480:6873:b2f6 with SMTP id 5b1f17b1804b1-4830e979302mr51870325e9.20.1770237995657; Wed, 04 Feb 2026 12:46:35 -0800 (PST) Received: from pc ([196.235.235.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48317d20319sm16055535e9.2.2026.02.04.12.46.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Feb 2026 12:46:35 -0800 (PST) Date: Wed, 4 Feb 2026 21:46:32 +0100 From: Salah Triki To: Ian Abbott Cc: H Hartley Sweeten , linux-kernel@vger.kernel.org Subject: Re: [PATCH] comedi: fix device lifecycle handling in comedi_dev_kref_release() Message-ID: References: <20260130223517.223996-1-salah.triki@gmail.com> <52bbc0a3-90b4-4330-9487-240a62694ccb@mev.co.uk> 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-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: On Mon, Feb 02, 2026 at 03:12:29PM +0000, Ian Abbott wrote: > On 02/02/2026 12:09, Ian Abbott wrote: > > NAK > > > > This isn't freeing the `struct device`, it is freeing the `struct > > comedi_device`.  The `struct device` will be freed by > > `device_create_release()` in "drivers/base/core.c". > > To clarify, the call to `put_device()` from `comedi_dev_kref_release()` > matches the call to `get_device()` after a successful call to > `device_create()` from `comedi_alloc_board_minor()`. > > The counterpart to `comedi_alloc_board_minor()` is `comedi_free_board_dev()` > which calls `device_destroy()` (matching the call to `device_create()`), > followed by a call to `comedi_dev_put()`. `comedi_dev_put()` will call > `comedi_dev_kref_release()` via `kref_put()` when its reference count > reaches zero, and as mentioned previously, its call to `put_device()` > matches the previous call to `get_device()` after the device was created. > So there are no hooks back to the comedi module code or the `struct > comedi_device` at that point because the `struct device` has already been > removed from the system. > > The reason for the extra calls to `get_device()` and `put_device()` is > explained by commit 8f988d8784e3 ("staging/comedi: keep reference to class > device after destroyed"). > > -- > -=( Ian Abbott || MEV Ltd. is a company )=- > -=( registered in England & Wales. Regd. number: 02862268. )=- > -=( Regd. addr.: S11 & 12 Building 67, Europa Business Park, )=- > -=( Bird Hall Lane, STOCKPORT, SK3 0XA, UK. || www.mev.co.uk )=- Thanks for the detailed explanation, that makes sense. I’ll drop this patch. Best regards, Salah