From nobody Tue Apr 7 06:14:31 2026 Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) (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 4656A13C918 for ; Sun, 15 Mar 2026 10:51:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773571911; cv=none; b=qSpwYug1tw6LeCkNBn+WgoVd+kINDfIAFL4Fisx7nSAHA3Q7MdTNVpIoTRCsPsikG0YzYU6A9zdUsIGAVhKpnKj6otwp8s4J3uuTOVjqXzh61Y1ZzX/Jky8VWVqtqbZjwOD25SX3Ioql/sCfWSI9wOuBB3eDylpPKx9biUbRQEQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773571911; c=relaxed/simple; bh=WrjYdAZ1gpPUidP+ex11mExhhOG06gOKsCA4QYX1FA0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=WHQ3mrwr+wgNX29R1/jY8NoOXBdo6PZMTAR2VZOdIDUaP3JTNP2N6LfMOYCUH8PQOVDVisTDrKXYqHkRIlZo5gRGpeYAIyfUgYpaMUSWVQnfUvdHd8dIwBv/KG27czqBj4lVN0AnOUrKJIlnirs8nqElskVhsDJJUy5jQrQOb8M= 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=GGYpYSu9; arc=none smtp.client-ip=209.85.214.172 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="GGYpYSu9" Received: by mail-pl1-f172.google.com with SMTP id d9443c01a7336-2a871daa98fso27611585ad.1 for ; Sun, 15 Mar 2026 03:51:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773571909; x=1774176709; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=FlSTVkt2Hr9uFmMrTVFBqTieBRyNKp6QC6tkoO2VILU=; b=GGYpYSu9xCNfE4em9I9TlKESW+25C+UQ5F4lkkYe8wSqbe3zesvQ4RlakPsEx3xadV /PTFqpN3LStjbz4NHrlsl3KyVobUCt/MKt/epXk6KS8Ruetwx0xYGGYtvnIUFr+zy8HK wLZ3jWcurslBFW5xVT9AL8+r9u+vJTTUp9xT89pl5xm1bG06xy2dYsYMWaHLHZtPpLRL rFdpx4gowGKAIMM85s04pGhqhTKx3iZZkveKreTa+3va6hsHg7/3MVpRPq5FbXZebWp5 pbm8tIvxe3CK6M4tQ0rAADbyANRduiHOFm+1vljAHk2MwkVsMe0KzxGgXuHsVSMuU6x9 aTag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773571909; x=1774176709; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=FlSTVkt2Hr9uFmMrTVFBqTieBRyNKp6QC6tkoO2VILU=; b=Y10xA9dm3m94oCm2ic27cWfWQk8TJ9WV6Y+uNjJtqrUcrl66MhmUUrn1hmTbgN7BwP DG8VJDDwvPuM9Zg1xJ962m6JVkURqmGztWymL4Z04C2q74+VEMYK628SXo15qhA5oA0k dDwAEbWlMM+T8EpwVAPJE1JLILkTSCNgb/U+NE4F+jgc0ll18udKydgNOouK8zauLBhk ZkgY3vQub+KDDe+6wH7tTfTUIxrIHoQL2yzqCSUVROqOTGT093QoJurSOipxO6GHMIl+ hJyd6hLTPyHfK6h6GyVFdwytUQUNDkdhTSPFj++5WGIwRF4OwIgyjT4vLxpqBhfWKZ4V 2V+g== X-Gm-Message-State: AOJu0Yy2owBxSwmaqSSbZ/1O02RlIopzImWH7HhIln55HMehTNAwbKZe 8QsvmE2hWbWfFNmhOwGZK692IF1t4lfZZygKI3P9+n+WPsvOdfOKAe3vtZEmFj5nUDQ= X-Gm-Gg: ATEYQzwm0K2M/o8JiVUANVB3Gc9Ry7SL2nAmfYmG2vgKq6K/YMKFksf6entar2OGD3Z TRTUFS5wOWshc8sM534772BIKqJaPgTh6ag14BX5MjD2C/4L6MYICnY6FfvmzGI975r5Q4+Cv2O TqsYpXn7u9ALYR7Gc2Z5hllrZc506N8/BeJNQ+Vu5aWBLG0hIVCMek5uOdvBsTCxg5JA0gCOLCf ojdhozhZlBjK5nX23v1S/Sc1bh9wYaqAghMcdzdm5bbkXjxkICS0KmeV9HbKnpTcC+LXZHgNgQC PafRxjbk74fYBoCEW4zid1pCPj/w38xVN764Gu38Xgssk7MaikFh419scPTXf8QL8N7oUrDclLI 4Bqp5LwLhu/p4iNOze7MzkKmpZNgkLeZbAx1Uxtsqc1QVOlUaBssHpBMr2ju91S03eh5luXqVU8 uQIs8GC/woSjjDlndBrATc52d+DcI= X-Received: by 2002:a17:902:dac9:b0:2ad:d5ea:4c89 with SMTP id d9443c01a7336-2aecaa7917amr104151925ad.22.1773571909604; Sun, 15 Mar 2026 03:51:49 -0700 (PDT) Received: from ubuntu.. ([152.58.129.240]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b04f40f515sm21885085ad.74.2026.03.15.03.51.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 15 Mar 2026 03:51:49 -0700 (PDT) From: Anas Iqbal To: linux-bluetooth@vger.kernel.org Cc: linux-kernel@vger.kernel.org, luiz.dentz@gmail.com, marcel@holtmann.org, pmenzel@molgen.mpg.de, mohd.abd.6602@gmail.com Subject: [PATCH v2] Bluetooth: hci_ll: Fix firmware leak on error path Date: Sun, 15 Mar 2026 10:51:37 +0000 Message-ID: <20260315105138.1693-1-mohd.abd.6602@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: 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" Smatch reports: drivers/bluetooth/hci_ll.c:587 download_firmware() warn: 'fw' from request_firmware() not released on lines: 544. In download_firmware(), if request_firmware() succeeds but the returned firmware content is invalid (no data or zero size), the function returns without releasing the firmware, resulting in a resource leak. Fix this by calling release_firmware() before returning when request_firmware() succeeded but the firmware content is invalid. Fixes: 371805522f87 ("bluetooth: hci_uart: add LL protocol serdev driver su= pport") Reviewed-by: Paul Menzel Signed-off-by: Anas Iqbal --- v2: - Fix grammar ("content is") - Add Fixes tag - Add Reviewed-by tag from Paul Menzel --- drivers/bluetooth/hci_ll.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/bluetooth/hci_ll.c b/drivers/bluetooth/hci_ll.c index 91acf24f1ef5..91c96ad12342 100644 --- a/drivers/bluetooth/hci_ll.c +++ b/drivers/bluetooth/hci_ll.c @@ -541,6 +541,8 @@ static int download_firmware(struct ll_device *lldev) if (err || !fw->data || !fw->size) { bt_dev_err(lldev->hu.hdev, "request_firmware failed(errno %d) for %s", err, bts_scr_name); + if (!err) + release_firmware(fw); return -EINVAL; } ptr =3D (void *)fw->data; --=20 2.43.0