[{"id":3679169,"web_url":"http://patchwork.ozlabs.org/comment/3679169/","msgid":"<CAKYAXd_e4r-Hf+a3Q80irKNXdXX2dxpPdLt3bCxENs4ry08mYA@mail.gmail.com>","list_archive_url":null,"date":"2026-04-20T01:27:54","subject":"Re: [PATCH 1/2] ksmbd: destroy tree_conn_ida in\n ksmbd_session_destroy()","submitter":{"id":79386,"url":"http://patchwork.ozlabs.org/api/people/79386/","name":"Namjae Jeon","email":"linkinjeon@kernel.org"},"content":"On Sun, Apr 19, 2026 at 8:03 PM DaeMyung Kang <charsyam@gmail.com> wrote:\n>\n> When per-session tree_conn_ida was converted from a dynamically\n> allocated ksmbd_ida to an embedded struct ida, ksmbd_ida_free() was\n> removed from ksmbd_session_destroy() but no matching ida_destroy()\n> was added.  The session is therefore freed with the IDA's backing\n> xarray still intact.\n>\n> The kernel IDA API expects ida_init() and ida_destroy() to be paired\n> over an object's lifetime, so add the missing cleanup before the\n> enclosing session is freed.\n>\n> Also move ida_init() to right after the session is allocated so that\n> it is always paired with the destroy call even on the early error\n> paths of __session_create() (ksmbd_init_file_table() or\n> __init_smb2_session() failures), both of which jump to the error\n> label and invoke ksmbd_session_destroy() on a partially initialised\n> session.\n>\n> No leak has been observed in testing; this is a pairing fix to match\n> the IDA lifetime rules, not a response to a reproduced regression.\n>\n> Fixes: d40012a83f87 (\"cifsd: declare ida statically\")\n> Signed-off-by: DaeMyung Kang <charsyam@gmail.com>\nApplied it to #ksmbd-for-next-next.\nThanks!","headers":{"Return-Path":"\n <linux-cifs+bounces-10920-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-cifs@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=NqLfZYVW;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c09:e001:a7::12fc:5321; helo=sto.lore.kernel.org;\n envelope-from=linux-cifs+bounces-10920-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=\"NqLfZYVW\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201"],"Received":["from sto.lore.kernel.org (sto.lore.kernel.org\n [IPv6:2600:3c09:e001:a7::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fzSYD2sWyz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 20 Apr 2026 11:28:16 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sto.lore.kernel.org (Postfix) with ESMTP id F0A5F3001473\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 20 Apr 2026 01:28:12 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 9069027F01E;\n\tMon, 20 Apr 2026 01:28:09 +0000 (UTC)","from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org\n [10.30.226.201])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 2D42033F8BC\n\tfor <linux-cifs@vger.kernel.org>; Mon, 20 Apr 2026 01:28:08 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPSA id A3483C2BCB7\n\tfor <linux-cifs@vger.kernel.org>; Mon, 20 Apr 2026 01:28:08 +0000 (UTC)","by mail-ed1-f53.google.com with SMTP id\n 4fb4d7f45d1cf-67179ed133dso2666324a12.2\n        for <linux-cifs@vger.kernel.org>;\n Sun, 19 Apr 2026 18:28:08 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776648489; cv=none;\n b=ckC2l8fE6gMnN2hgFm5U0TkC6VaRu7M5z4USZjEpR+QMs1GUiL1hqhPh2b4zXyotcq7g7ZR7wJ11sPXa8n3nlJYsLnu0zu4Ml7+PrOWuO3p4i5mBMDf+J2ou7Zm1vmyotBhmREQJDYqkwbNdxk2E56FM5F7b/efbRNaAj0w3NVQ=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776648489; c=relaxed/simple;\n\tbh=EK3HjWXXUIRe45hghDYV/HoK8qEGXWdkXO3I98Ph0PQ=;\n\th=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:\n\t To:Cc:Content-Type;\n b=uVI0z+xZRv+QcxSO9Z7KvkupqI+9jrLMv0zavAbfkE6O6a3zPEezTuBelHGY0d5nWMN1WWlW0TMFA5bi1WF2Eo/2aBbMdK1uhdYzrlcX76CVYYpWLsoM39VxCGXWkq1lGDsJ/ami/4dfEIyf/XspCDBsg/vhQnRMKpaGSJ0GnpI=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=NqLfZYVW; arc=none smtp.client-ip=10.30.226.201","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1776648488;\n\tbh=EK3HjWXXUIRe45hghDYV/HoK8qEGXWdkXO3I98Ph0PQ=;\n\th=References:In-Reply-To:From:Date:Subject:To:Cc:From;\n\tb=NqLfZYVW9gtUfJ0D5LjHLL/+Net8VHuixnhSVd3xXVyBMArJItT25rLPo7AuMQk90\n\t p6AywLuupjYTXLI9Az64MFDYxzeX08oIt7fgsWnmSKE7TaFr9T2Opli+8DDyrG5IoT\n\t 7iZ1YjVtbHCfuo79vjPCIkAcQy472v6CGaYzxzJjpV2IaQkFwwWOmHOXsawH4AR4zR\n\t tKzoXM1prT1LGA0PViIt2h3HJSJx8NSmBaNydNxyuY+ro54vPDIdVBUAJUkYL7RSNk\n\t ORSmeWpqoCMCxHDxfAMrph7v+zhSGdKOKSmMefmRB2bVfkhToIUI2aKRXhW+HHtt5P\n\t E6ROQ3yEaI9mA==","X-Forwarded-Encrypted":"i=1;\n AFNElJ+mY6Lao86lW9pwIniJ1NEFr2SSE1wV3ovgQ5C7cV1HnxfWK6SinQ4J39gnzVdXQmNgyp3I21c1YPnG@vger.kernel.org","X-Gm-Message-State":"AOJu0Yzeb7WdbREPE6PIu9DbfN0YJHv2RBeWIsqd/RutEBZFQD3Rx8pY\n\tBfFzUHUTaYr9yaz/58mVo3dXxm0DmDXwDoqcQ8ShpipYHe/GoXxd2n8dsET8cJJj18Bawq9vwhF\n\th5JV3/KhQm1UHK2O1+1oiKMa13ag1JyQ=","X-Received":"by 2002:a05:6402:159a:b0:672:7298:31a2 with SMTP id\n 4fb4d7f45d1cf-672bfd9cb4emr4353718a12.7.1776648487222; Sun, 19 Apr 2026\n 18:28:07 -0700 (PDT)","Precedence":"bulk","X-Mailing-List":"linux-cifs@vger.kernel.org","List-Id":"<linux-cifs.vger.kernel.org>","List-Subscribe":"<mailto:linux-cifs+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-cifs+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","References":"<20260419110255.2477785-1-charsyam@gmail.com>\n <20260419110255.2477785-2-charsyam@gmail.com>","In-Reply-To":"<20260419110255.2477785-2-charsyam@gmail.com>","From":"Namjae Jeon <linkinjeon@kernel.org>","Date":"Mon, 20 Apr 2026 10:27:54 +0900","X-Gmail-Original-Message-ID":"\n <CAKYAXd_e4r-Hf+a3Q80irKNXdXX2dxpPdLt3bCxENs4ry08mYA@mail.gmail.com>","X-Gm-Features":"AQROBzBjl6EpuMtpkElBIkA3kAQJnz4UrV19FzZYmsS5rPHld2tWmmcivqtJvBk","Message-ID":"\n <CAKYAXd_e4r-Hf+a3Q80irKNXdXX2dxpPdLt3bCxENs4ry08mYA@mail.gmail.com>","Subject":"Re: [PATCH 1/2] ksmbd: destroy tree_conn_ida in\n ksmbd_session_destroy()","To":"DaeMyung Kang <charsyam@gmail.com>","Cc":"Steve French <smfrench@gmail.com>,\n Sergey Senozhatsky <senozhatsky@chromium.org>,\n\tTom Talpey <tom@talpey.com>, linux-cifs@vger.kernel.org,\n linux-kernel@vger.kernel.org","Content-Type":"text/plain; charset=\"UTF-8\"","Content-Transfer-Encoding":"quoted-printable"}}]