From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f169.google.com (mail-pf1-f169.google.com [209.85.210.169]) (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 D201D35F161 for ; Fri, 17 Apr 2026 17:49:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.169 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776448177; cv=none; b=DKQUsb805+YlaWppcNoizLjVPnNhAtLGYyNvBvRC5hzzfjnzaDtZSuV5G1K2tt/PYSMht7DHww8+JouXC7rJsCI7k8kt3xW3jVtH2pPeFUAKjliBLFubd/za1kWB1b9IzIbU0a5joM9slz8RTvf60ut3MHOEYbU/86kCWBnfkFY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776448177; c=relaxed/simple; bh=Y5gGVtPUQWWV9DgXubawA41gEn2jv0Fyb1w6SaJul4Y=; h=Message-ID:In-Reply-To:References:From:Date:Subject:To:Cc; b=RjvENE7ZZt7CNM8avPYMZX4IQPOwBdhQpXFy84OB2Szzq/wZqbXGPjH46hmpjKEeaHs9uoVCVD8i8V/889z+iv1VxV16qA1Ewgtu1/yy/D62Sdv5nSOWKbztBOCBKJ2RtAK/2upxKjRKzKiWtC6Zf/DghKZtfdEkJUuGr1eIvfk= 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=do47RhCS; arc=none smtp.client-ip=209.85.210.169 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="do47RhCS" Received: by mail-pf1-f169.google.com with SMTP id d2e1a72fcca58-82d0b68837aso650326b3a.2 for ; Fri, 17 Apr 2026 10:49:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776448170; x=1777052970; darn=vger.kernel.org; h=cc:to:subject:date:from:references:in-reply-to:message-id:from:to :cc:subject:date:message-id:reply-to; bh=EY6Kxrq1+okn9a1kU1LHUIX3F/DntU2kfVrB9AkbALc=; b=do47RhCStnn/9/vsRCby6oMNJzZRM+LRzrTp/9iIJh7I8MumC1X9xrTLXQFSV/8GRN yvMYedxv9D5ox0sCfrEHTKoKDANSlI86VwrrxUETSKIfhNISUwPGflp/WSvSUkraKTZP TXKTUAik9JFo7mJVQpGy8wXBaMW6pNQptnV9YDtL6JVQNFbDFi1KzdgOg1EVCsgqdswI QIYuBdGIvGO8FUx/QepfyHBjt+IXTNmD4lALR3Qo3I2OReV+B1kW7POyoPquhisUkA06 8lnrK0/vTZbM+axNatdx9m6azt6Nfc/1jV4iPj9nmCZYd0RKdEYlLHD0XM7wdO4MyGuv Vsmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776448170; x=1777052970; h=cc:to:subject:date:from:references:in-reply-to:message-id:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=EY6Kxrq1+okn9a1kU1LHUIX3F/DntU2kfVrB9AkbALc=; b=Ikp0WGDEgz/fWoaA6/LDS6mIftsRUfEh4Qp75usHQPMLawQQ4IkHc7px09IkQxAtrK 7hbq2yA1hLe+UCEEq7jY1j/3llAM3P8Tw7Cm5cVQJozVgYxLAk+4xsA0SWkUB3D3FRdj OoLjKgCOqb0TGVlUb+c5xrYxKPIL0DO3SLPXKu2uSHRTACyZlYBmJB7zJoF66MGoHKd3 0B893/GSPQaxkNtv3pL5TVY34rL/OiQ55yVsktAjhJGLuqHPgeiRCItG5O/DL4AdyT1I eZFaY2vIIV0v8GLFXbbFXC+TMYMGmpVwMjuigmxwh16XETsmjXEiPnoj5pH/ql9lo3oH dOcw== X-Gm-Message-State: AOJu0YzeuDe6QO3s3Ed+smJ5mVFmNteVKu6e+/8pTLR4PMMb+WwmAAaj oRHoIPH8HJeuGY5XLMl0pJ1EHBQx69NqY/wrRw+7ZdksJ7WuA0GvahuS X-Gm-Gg: AeBDieupUvOaMv7mb8nyBXmTzfSPJg3UMEI4C+Rb79VGghsm7E0ocQ6Fmf0OBUqTIto vuGvpM7rlq6qJzBPsz5iel+Jq0o2foib+IBSK8mGWcWAX98XARGTQqMihzsFXlspIsDmbRnGeOc Osx9LD1cUUHXtgeiYO0wnK+uhqK7/KurOTAe1tsAT00CxMExgEM+NZJHUlyzU5BKOEvk+AHNtkM Duc0Fm55Ht6/8FiffrRs3aMb1CVVIaKpTU5hGjjGevAWLknTluSScvmzxLYj2l7AhD8Z93nOSxy PJDer6ElOpaBC738WkvwR53FQuN5+VPtI82dLha/6w5tBqhBXyDgEM1dkoigWTAs80xhsf97Z6P De5sJMQ7rbXs6k8f8Ad5NK2+LhjR+ZeG2ORqYgKH6IEMnDU5/L4GKg4nUoJb2JIAp6kad35WytM Id44dC9LYe1XEU4fYwFDmEvJySdKkGmvZ7HFBc5gAnkojgUh18PsPiq+uyshYvQbjitNCRnZ+oN vKdoKNZUu3GxPOQ4WDe746xYKc= X-Received: by 2002:a05:6a00:bb0d:b0:82c:e60c:f376 with SMTP id d2e1a72fcca58-82f8c934432mr4531401b3a.47.1776448169406; Fri, 17 Apr 2026 10:49:29 -0700 (PDT) Received: from Shuvs-MacBook-Air.local ([43.245.86.86]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-82f8ec23b19sm2949913b3a.59.2026.04.17.10.49.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Apr 2026 10:49:29 -0700 (PDT) Message-ID: In-Reply-To: <20260414071322.30851-1-shuvampandey1@gmail.com> References: <20260414071322.30851-1-shuvampandey1@gmail.com> From: Shuvam Pandey Date: Fri, 17 Apr 2026 23:34:25 +0545 Subject: [PATCH v2 0/3] mISDN: fix socket/device lifetime and naming races To: netdev@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Simon Horman Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: This is a respin of the original get_mdevice() reference leak fix. Patch 1 makes unregister wait for the last device reference and closes sockets that still point at the device before delete_stack() runs. It also serializes bind against unregister so a new socket cannot attach once teardown has started. Patch 2 drops the temporary get_mdevice() references from IMGETDEVINFO and IMSETDEVNAME, and serializes those ioctl paths against unregister. Patch 3 keeps an mISDN-owned copy of the device name so ioctl, sysfs, and debug paths no longer depend on the kobject name storage remaining stable across device_rename(). Previous discussion: https://lore.kernel.org/r/20260414071322.30851-1-shuvampandey1@gmail.com This series was developed with AI assistance. I reviewed, revised, and tested it, and I take responsibility for the submission. --- Changes in v2: - split the fix into three focused patches - close sockets before delete_stack() and wait for the final device release - serialize bind and ioctl lookup/rename paths against unregister - cache stable device names for mISDN paths outside the kobject - keep existing debug behavior while switching layer1 name reads to the cached name - document the device_lock(dev) -> lock_sock(sk) ordering - build-test the series on arm64 with W=1 for drivers/isdn/mISDN and drivers/isdn/hardware/mISDN Shuvam Pandey (3): mISDN: serialize socket teardown against device unregister mISDN: socket: drop temporary references from get_mdevice() mISDN: cache stable device names outside the kobject drivers/isdn/mISDN/core.c | 37 ++++- drivers/isdn/mISDN/core.h | 1 + drivers/isdn/mISDN/layer1.c | 2 +- drivers/isdn/mISDN/socket.c | 263 +++++++++++++++++++++++++++++++----- drivers/isdn/mISDN/stack.c | 36 ++--- drivers/isdn/mISDN/tei.c | 2 +- include/linux/mISDNif.h | 2 + 7 files changed, 284 insertions(+), 59 deletions(-) -- 2.50.1 (Apple Git-155)