From nobody Mon May 25 03:52:54 2026 Received: from mail-pf1-f180.google.com (mail-pf1-f180.google.com [209.85.210.180]) (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 659E9366563 for ; Tue, 19 May 2026 06:28:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779172131; cv=none; b=f6yzMCCvbK6xO7BrIBMp2A6Rs+R3IbenTrWmCfoCLntTe+xO/ChXuRER6vWOS8BcpjKLAZZf2yIDOPHkB7eCOS7abjJgoUiAPX9OO7d5ouD/iCKIsrKeldqk5+yvCSAeX8oaJNqEo3+2dvVoe0bdOpH93y2OYsKku5E3TB9INR4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779172131; c=relaxed/simple; bh=H6RNv3g1Ds2kKIb9mbKPwle8pMhHto8h2eiocv6qV68=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=SCBKOEaX4AEP6G/pPIUlIIjDOn1NOazc5SYKnSRG3s2xMlnD+K5lnb/iyopEQuIKxEkKuOS8XJO0brxcYdg1kIOrUAlj6QkNebPGemHpWM52LBEJ5h4tbpmn7xZDbiLSWXD3TPWSXnXL7eRP+etpdNCJZSoXJ86pCRzJ0TaZOmg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=cse.iitm.ac.in; spf=pass smtp.mailfrom=cse.iitm.ac.in; dkim=pass (2048-bit key) header.d=cse-iitm-ac-in.20251104.gappssmtp.com header.i=@cse-iitm-ac-in.20251104.gappssmtp.com header.b=JhWK8ac0; arc=none smtp.client-ip=209.85.210.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=cse.iitm.ac.in Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=cse.iitm.ac.in Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=cse-iitm-ac-in.20251104.gappssmtp.com header.i=@cse-iitm-ac-in.20251104.gappssmtp.com header.b="JhWK8ac0" Received: by mail-pf1-f180.google.com with SMTP id d2e1a72fcca58-835399c11e0so1380784b3a.0 for ; Mon, 18 May 2026 23:28:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cse-iitm-ac-in.20251104.gappssmtp.com; s=20251104; t=1779172130; x=1779776930; 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=8zUEbH0RzskapC2a5NR15SwMDD1KBLfzEqEE74hnw70=; b=JhWK8ac0Cpa6D1/fLMmJcIEk7hAANA+AMuFfPkT7pWPDCLxCJ6sWm3Vs1bExv5lTc/ Gi4qARbwwI//nPz5ysZvxIoASaSnlkaGiZEerxy6/w+NYZvHlz+1muE1QNPHWtKu3AWk V+WCF2YKNh7lfpFeMJzTcSUQI6JPCvDOm/zUbwGexjPmemEb/LwBgeKkZcAy6I9/2mhV /jXdfOpr0b9ohCodE2n2jU6/5lzG4XPCQdoQKjti5owMGgjGh09kDsWp1MZtB0wfj4yx cwJFuuZlRe8YzPQOVp2ug6wD8N3MR4HnAWVzxhKFkdfyyOLOoblOpf8VSf9UnIPl1XEM 6sbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779172130; x=1779776930; 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=8zUEbH0RzskapC2a5NR15SwMDD1KBLfzEqEE74hnw70=; b=lLJpqyAQWtAzrxyQ8nBUf2A5GjnMRswuGTaTg4fO8obPp5olyR0U4HXvzPlSjlZjUE bmIyiR1GU4JslVuEOR3Ku9CkkQI+rXCYObS2o2l+/5EmlYgkOzHZhLHh5dsKJCf+Q3nF vtLdJWI5oHXxqSNNDT6Wli9HyCffdmi2mvkIKqSGsZQD4cPWg/funzfqIkjcAo3v8rmC g82H+8PlWnrAAzk36UVy7fzUa7Ef1MEJsETH51hkcbyRYlCjIYo0G89a4sM7pTjqS+HV RpVhiTO0SgKyDk10UV6WvAfZdOLK97LWNQ/oJ0f5Big6O2ZjVUfCFtPT6tE69nJatrOw xDcQ== X-Forwarded-Encrypted: i=1; AFNElJ9CfNze++QFJwNQd3IQP7Nuiv9WEiuSojRWsb9vm2dvcQ1TSEXyaffDk8iRGS7sMuO6JH1JsIWRYeNoYoQ=@vger.kernel.org X-Gm-Message-State: AOJu0Ywzk5r7tjX1CUuNgqbgAo6FbZyxyAEiMXhDww+CdUEH2/g7JPSm tD61vQuSvKt9bLfJba2OFmM+3aZrlJP4F1P/lS41THwonO94JAF6cL3Fbxgc3PsTAQ4= X-Gm-Gg: Acq92OGuZ3Mrl7z9TrXy7CdsKOTm439g12TQuVMXHKS8z+zdih2R/N+RKMcQQX326/T 0ON5QdV9J98UO/4vQiVJc8LVisX69D/zcr5Tyiap2kZeYs3B7ykFX78Fu55+zpkgt8/ENgJQtYN j53x53+8Zz3v/OM6o/htcKFTwAv2xHhzCPB/pd3a4qQn6ayvZBYxv6g9LWtFrlFid64EiCQVhgF X8D8neSDuh7XWjyVgoI+qnbzIbIX408IQ/0aqPmRolII46sG3ImKWM5vt7XKQ9qy2wuQJILPEEf X9a8RkCa0uHPJnxYp/dxY3VNWJDkbGEjgMENXN9sR/9lxIFzinzbD60CLhJbLdLd1IkL3Sqopd4 wk9EGMSO3gyuWDFO/fLWoxf7Ksvfr6sUjSubd0SeFlSbNz8fkQRdanVBtfwEtPRiKyFAEwR3QWv wyDkLbWirCxgC58g/n4hGJRGf0035q3UJnMdBXq7LUwO2C6tlnIe6SZUaH2PNxVa3Q50ulx/q9I xh2ZacIE5xtMX6SyqcmUdAfJEORu08/01WE8/6o607oMFeJo6upaiWQKD1XiI81OQ2v X-Received: by 2002:a05:6a00:3e22:b0:83e:f208:b113 with SMTP id d2e1a72fcca58-83f33c541cdmr17707506b3a.7.1779172129825; Mon, 18 May 2026 23:28:49 -0700 (PDT) Received: from localhost.localdomain ([103.158.43.41]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-83f1966471dsm17045725b3a.6.2026.05.18.23.28.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 May 2026 23:28:49 -0700 (PDT) From: Abdun Nihaal To: loic.poulain@oss.qualcomm.com Cc: Abdun Nihaal , ryazanov.s.a@gmail.com, johannes@sipsolutions.net, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org Subject: [PATCH net v2] net: wwan: iosm: fix potential memory leaks in ipc_imem_init() Date: Tue, 19 May 2026 11:57:39 +0530 Message-ID: <20260519062815.55545-1-nihaal@cse.iitm.ac.in> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The memory allocated in ipc_protocol_init() is not freed on the error paths that follow in ipc_imem_init(). Fix that by calling the corresponding release function ipc_protocol_deinit() in the error path. Fixes: 3670970dd8c6 ("net: iosm: shared memory IPC interface") Cc: stable@vger.kernel.org Signed-off-by: Abdun Nihaal --- v1->v2: - Moved the ipc_protocol_deinit() call to a point after the tasklets and workers are cleaned up to avoid a possible Use after free, as suggested by Jakub Kicinski. Link to v1 patch: https://lore.kernel.org/all/20260508092141.82495-1-nihaal= @cse.iitm.ac.in/ drivers/net/wwan/iosm/iosm_ipc_imem.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/wwan/iosm/iosm_ipc_imem.c b/drivers/net/wwan/iosm/= iosm_ipc_imem.c index 1b7bc7d63a2e..4405c8531888 100644 --- a/drivers/net/wwan/iosm/iosm_ipc_imem.c +++ b/drivers/net/wwan/iosm/iosm_ipc_imem.c @@ -1425,6 +1425,8 @@ struct iosm_imem *ipc_imem_init(struct iosm_pcie *pci= e, unsigned int device_id, protocol_init_fail: cancel_work_sync(&ipc_imem->run_state_worker); ipc_task_deinit(ipc_imem->ipc_task); + if (ipc_imem->ipc_protocol) + ipc_protocol_deinit(ipc_imem->ipc_protocol); ipc_task_init_fail: kfree(ipc_imem->ipc_task); ipc_task_fail: --=20 2.43.0