From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ot1-f70.google.com (mail-ot1-f70.google.com [209.85.210.70]) (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 049BA35F5F4 for ; Sat, 25 Apr 2026 09:36:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.70 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777109812; cv=none; b=nzYR0Hd6OAbjNJCNZylugayrrHmiZysgfXhs24riWcKDmU9FzY31Ubp29n5RAVQaV5YNR3qedT9GGyS0a0pl+gDovwPfpAPfA86FhJVLZR6E+SL8vM/r/bAroi4sEXmji0XvPQqisQkZ2AYpM7B6PJ68lu1tlLnyrp5QqUJm0EM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777109812; c=relaxed/simple; bh=NNitAc3iTF0AHWQJoWSNtmMW+4ichmb5f535Qb07YkI=; h=MIME-Version:Date:In-Reply-To:Message-ID:Subject:From:To: Content-Type; b=S6vaZhePCPRDM+ZeYn+EYDwv6tFaY3xYYn0Ar5cpPISewyExeiMNToe1apbJs/h8n9Dhz0xIFVdI069sAb3A/EfB9vESyTsaEcm2MsaJ52lBcHCmnN6wC612UxkOdTBN9WYQhUMrdlQkG4FHED4NeUGLhMGHF16aJB+kcmCh244= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=syzkaller.appspotmail.com; spf=pass smtp.mailfrom=M3KW2WVRGUFZ5GODRSRYTGD7.apphosting.bounces.google.com; arc=none smtp.client-ip=209.85.210.70 Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=syzkaller.appspotmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=M3KW2WVRGUFZ5GODRSRYTGD7.apphosting.bounces.google.com Received: by mail-ot1-f70.google.com with SMTP id 46e09a7af769-7dbe0e914adso13224312a34.2 for ; Sat, 25 Apr 2026 02:36:50 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777109810; x=1777714610; h=to:from:subject:message-id:in-reply-to:date:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=052m9QU18W+xzwOp9UnimkESG06m7FEEkVHl1+kjPx8=; b=Ae3RvgwbWBsS5r3F/+K0Dw3MbLB3kfVFzFY/bxY9UnAGClBSVdpmSKqLdWVJa/P+gf v/IODEKT7mDOuMSI5xPX8vfTM1hNA8We1su+nOx79LO5jsSdn9/6/ULh0gJgqOeQ0D/3 91VAE8XvtROI23h+2D/2cTvttvAL92BUw6rEDgmlzbPlrGB9jFDujRPBjHmrHHMUnkNm /vP8+4IhX1tU4CSYoYpAKCfneBbnc4A87415yPLek83GY8vRRr6b4wpp0C2b28ZIQy5h svliHG5bVYHyi0fAImQxjRk8ZyR5jMBffMn0iQBNS9I3+IIVMBOfDdvP12S+0fgIG7jv LHbA== X-Gm-Message-State: AOJu0Yz2opbPi1eYx7S5qlxzhk5pq0z8lc7SUUq+isqtPHPGtHmc273W 8GWL80KkMMrEwmIY4wO6uX0HKYcXFiewfJ9PK2gSIL5YumKiX5UQK0z9fEkXI8LPZLnK57lBSrh L8yeo2d/42nWU1wwTdyWcHWGrIVNnp3V3hNSa4g8DDpekLsEmbXqGPtuGaNY= Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Received: by 2002:a05:6820:2089:b0:67e:3ae6:9031 with SMTP id 006d021491bc7-69462f45720mr21581270eaf.59.1777109810093; Sat, 25 Apr 2026 02:36:50 -0700 (PDT) Date: Sat, 25 Apr 2026 02:36:50 -0700 In-Reply-To: <69ec231a.a00a0220.7773.000c.GAE@google.com> X-Google-Appengine-App-Id: s~syzkaller X-Google-Appengine-App-Id-Alias: syzkaller Message-ID: <69ec8b32.a00a0220.7773.0014.GAE@google.com> Subject: Forwarded: [PATCH] usb: core: hub: fix memory leak in hub_port_connect From: syzbot To: linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com Content-Type: text/plain; charset="UTF-8" For archival purposes, forwarding an incoming command email to linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com. *** Subject: [PATCH] usb: core: hub: fix memory leak in hub_port_connect Author: souradiptodas6@gmail.com #syz test: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master --- drivers/usb/core/hub.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c index 24960ba9caa9..2924ce770066 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c @@ -5405,6 +5405,7 @@ static void hub_port_connect(struct usb_hub *hub, int port1, u16 portstatus, if (hcd->usb_phy && !hdev->parent) usb_phy_notify_disconnect(hcd->usb_phy, udev->speed); usb_disconnect(&port_dev->child); + udev = NULL; } /* We can forget about a "removed" device when there's a physical @@ -5582,6 +5583,7 @@ static void hub_port_connect(struct usb_hub *hub, int port1, u16 portstatus, goto loop_disable; status = hub_power_remaining(hub); + udev = NULL; if (status) dev_dbg(hub->intfdev, "%dmA power budget left\n", status); @@ -5624,6 +5626,8 @@ static void hub_port_connect(struct usb_hub *hub, int port1, u16 portstatus, if (status != -ENOTCONN && status != -ENODEV) hcd->driver->relinquish_port(hcd, port1); } + if (udev) + usb_put_dev(udev); } /* Handle physical or logical connection change events. -- 2.52.0