Message ID | TYUPR06MB621712E6A082791B397088BFD2F72@TYUPR06MB6217.apcprd06.prod.outlook.com (mailing list archive) |
---|---|
State | New |
Headers | show
Received: from APC01-SG2-obe.outbound.protection.outlook.com (mail-sg2apc01on2047.outbound.protection.outlook.com [40.107.215.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6CF9F21E097; Wed, 5 Feb 2025 06:38:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.215.47 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738737537; cv=fail; b=OLQlk8BDPQ3HN1t6E/xvYP8iIFoVxtPvXJrsHfGnkQ48vnffJsy2EQ9sFkB8TLxahGusKD7TtHJJL4Twou0wc+Qy0uCNKlvUbhbAlKtqpSrdH8VOR+FlRJ+sM4+f3VoOBjhAm/HKqQbX/YZ9vHtBlbUZJljUmNyyEVIzlY6eqzE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738737537; c=relaxed/simple; bh=RpSAz8Lde1WxHRIaptXyN8nUW+B9wTDfk+yx2qq/CbA=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=CmC/ONsKSkUsSESq1hHh/VZphlNSa/zznqpvbw4zOhoP1lLCtY20ZLrSStmwr9u4ZWksDRAgFGoDJlvJ3CRnJHUMJ0Gjz+c9puAPhEhv73XzWYuQcjlR16k8rO30BSKDUSlNeINRVcCd4rfKEg1GKM60fUk3pEsOD9BJ6dWmw+M= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=vivo.com; spf=pass smtp.mailfrom=vivo.com; dkim=pass (2048-bit key) header.d=vivo.com header.i=@vivo.com header.b=TEeCgvv+; arc=fail smtp.client-ip=40.107.215.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=vivo.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=vivo.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=vivo.com header.i=@vivo.com header.b="TEeCgvv+" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=nZHXPfOouMt+iztOFO5OUFQB+Kn2EhKxm5IZfswOml+de/Bqjb950B8MR5bNHmhYZa9oTlP2772PU4NlhGNrf9XsZYhEgntlKAqq/CGKdpNS6qWDt8lIhFoYUCxVz84v0by5hCQrAYlf2ugdjG1Ak+kgy9Mvx7TOZcplLb00VIHw8N1wPzH/4FPwbxRJEC1CJex6FxXnh/G3tp19/OtozJeisiEVVA2ancfLo6BzUwYZEPMGToPhDB49XlkIION2hlPxUXwbK6iR86lQ/MEEvqrkXoewQXXAPsHFLMwFgJbPZ9oF9Sloye0bbTCPtKEZ8ZFLZUYyyNgk/n163j1EhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=RpSAz8Lde1WxHRIaptXyN8nUW+B9wTDfk+yx2qq/CbA=; b=FWj3aNF48PqMazeOcL2Kv9bOFnvajtSEXusmzM2aWdUvgtImudhqtCXuLbkS7jXB0vxMVCaXwCRgnfg+hdjVsutZaE0pAlqWPJOPIEvECZwEHfyfRcsgVOfz/he4vJJdRrKW6tXOg1Hk3l9hk4HyDhe0FnlQZkv1KzVkqjAOuVITVvFxOrGIB04MbIp6sa13GvDYTL+etm79MvFr2bmJt/zby3CGb1GsW5OgwscnLBAJCo+LgwgVKmZNOdAV/yepKW1nPT6YW1zqMPcITXIcr7hESgbHQcpUZisUpLPRxF9IkE6UFocx8I1AHqxzLaGr8Oeco4C4gSguFtzcqmX3aQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vivo.com; dmarc=pass action=none header.from=vivo.com; dkim=pass header.d=vivo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vivo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RpSAz8Lde1WxHRIaptXyN8nUW+B9wTDfk+yx2qq/CbA=; b=TEeCgvv+u/J6QiB38+gJxdvTNITSEO7ACOyGa795KVQuZ0Z7dXdaBq73znnMYgNf9crI4npmfPxss0lFh6lTBp69kVRvnBFsqA09TXR0DoD3IE9v+PEE0Rmi3aJwQ3kEQg7fQV23TBFcBgyCvCAt7BrOZKNollbebmP7alyTHMedCtrlzu5E8vt4yTnsR61cfHqHe9d9QUTSyiaLZNb/9jGB8ld1phE2buDys7DXR8GAEeleobfheqQP+Urz7vvgqvDzL3sGebHyOViwM2Ll8RTuExQWbEJvTKLVVwyV/SueSaL0jRJbhRo+rcUwjPMFP+kdd8v3vctQ+FdLvCxbsw== Received: from TYUPR06MB6217.apcprd06.prod.outlook.com (2603:1096:400:358::7) by TY0PR06MB5353.apcprd06.prod.outlook.com (2603:1096:400:213::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.6; Wed, 5 Feb 2025 06:38:48 +0000 Received: from TYUPR06MB6217.apcprd06.prod.outlook.com ([fe80::c18d:f7c6:7590:64fe]) by TYUPR06MB6217.apcprd06.prod.outlook.com ([fe80::c18d:f7c6:7590:64fe%6]) with mapi id 15.20.8422.005; Wed, 5 Feb 2025 06:38:48 +0000 From: =?utf-8?b?6IOh6L+e5Yuk?= <hulianqin@vivo.com> To: "gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>, Dan Carpenter <dan.carpenter@linaro.org>, Jon Hunter <jonathanh@nvidia.com> CC: Prashanth K <quic_prashk@quicinc.com>, "mwalle@kernel.org" <mwalle@kernel.org>, "quic_jjohnson@quicinc.com" <quic_jjohnson@quicinc.com>, David Brownell <dbrownell@users.sourceforge.net>, "linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, opensource.kernel <opensource.kernel@vivo.com>, "linux-tegra@vger.kernel.org" <linux-tegra@vger.kernel.org>, Brad Griffis <bgriffis@nvidia.com>, Harshit Mogalapalli <harshit.m.mogalapalli@gmail.com> Subject: =?utf-8?q?=E7=AD=94=E5=A4=8D=3A_=5BPATCH_v3=5D_usb=3A_gadget=3A_u?= =?utf-8?q?=5Fserial=3A_Disable_ep_before_setting_port_to_null_to_fix_the_cr?= =?utf-8?q?ash_caused_by_port_being_null?= Thread-Topic: [PATCH v3] usb: gadget: u_serial: Disable ep before setting port to null to fix the crash caused by port being null Thread-Index: AdtQVu3p636G49OMSa2yDMmE+bdUDgXwT3UAAACXZQAAA0EggAD1y7uAAGoR8AACe8P7MA== Date: Wed, 5 Feb 2025 06:38:48 +0000 Message-ID: <TYUPR06MB621712E6A082791B397088BFD2F72@TYUPR06MB6217.apcprd06.prod.outlook.com> References: <TYUPR06MB621733B5AC690DBDF80A0DCCD2042@TYUPR06MB6217.apcprd06.prod.outlook.com> <1037c1ad-9230-4181-b9c3-167dbaa47644@nvidia.com> <2025011633-cavity-earthworm-2b5e@gregkh> <3d9db530-a0b7-4f18-9ad4-233356dfe68c@nvidia.com> <e3a457d6-092b-4b7a-9032-50daddab6f1f@nvidia.com> <0fa6c6db-fd75-4a09-b4fa-d6a98bb8afac@stanley.mountain> In-Reply-To: <0fa6c6db-fd75-4a09-b4fa-d6a98bb8afac@stanley.mountain> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=vivo.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYUPR06MB6217:EE_|TY0PR06MB5353:EE_ x-ms-office365-filtering-correlation-id: 106886c2-df36-4dc5-7672-08dd45afbf2c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|7416014|376014|366016|1800799024|38070700018; x-microsoft-antispam-message-info: =?utf-8?q?rHfGVYMq1oWrXBJYQdzjj6mvPv0Eya9?= =?utf-8?q?J6r6iaWvsY+88/aoedtAnNGslIUF1vUDbVNnf656A7tsHyzQJwU2T5FkH/P+WOlqv?= =?utf-8?q?1weHTKP3l1jh0sX2vVyHhNKEjAXu4KPLGpWCduitC011X5Wj4gA5oefsD0Wgr+JFt?= =?utf-8?q?cKJwFnws6vXYZ6QsxA+5FPSHXTQL/RaGK1cqEUqlbg8lYXk9uuNVjGvYLGgkuIHMO?= =?utf-8?q?/1gXyPQoKgkSYZPjKvw2Y7RjPxIlBIe8n5v7Xr8faONgbjJtXPDhkiHkaHhcUU7Pv?= =?utf-8?q?Wyacl3m9hbx9dd0OgeyEeEXKJgF1O8U4D02ScXH/3dSMJSUR4wju4HNGXHhZ8MUW1?= =?utf-8?q?bUOdVx4U7BBYImMggtg5nIBoABCSf4QOl9O82UcXc9PHW4cVFZnlRqGm5IvrXDw/N?= =?utf-8?q?xIfRjmM8W/kCrYsMbue75u9j98Ou1eT+RT+uARyFQWZ4tOag6sboZc3aWIvQRgjie?= =?utf-8?q?nqLeqf3XpIX0Hwf40gR5Y4KqBxmDl/lcAWNxmzmKX3wb1n//B871BOrawjpGacp1M?= =?utf-8?q?k6VGi8KWEFetCSroW4nzuh0a9876Ox7hEgtdkEWtd7gKRYPr4G+kJAxgtMTvnlDI1?= =?utf-8?q?+OqzRGFvc0fM+xIRxLrB3NhW10EUxq9bGCFH/dsp5ZwEtWVyRKgXGMMrXi4w7bNIW?= =?utf-8?q?dLAMMpq0Q72y8tIHVtbc1vdXH+ZCgAVL6wCYll+veQRY8LqT3ZBOWYA1QxyjIPt5+?= =?utf-8?q?C7F857y+cVzz1j4UkGpmhmc3ZE3VCfs2UU9gNqs5E8Y9gopgTMVurjdcAd+HfTFJ8?= =?utf-8?q?NQzRV61KG19t3psbBtclbrAhrWzHLn5jFK6rqTN9OIRk9rFsLlofGfY7/xsTvzSoi?= =?utf-8?q?TJe0U9BySSJyxU+1wy8X90yO6qbilLIl1lrYSRwfQRQdaPsKYu3/ILQIYwpeRe+wG?= =?utf-8?q?Ymk90uXfcD6bV2ziRDIoqB78WrKkQLYyU3t7wyI8kwzTVNb36Wn1t41mANBqXedTm?= =?utf-8?q?zRGhbtAWFzCjEp2pN0UuLM1OkoTI4dz9svTXt8x22U2r0DlG/JSYrOrFDuu1ji+co?= =?utf-8?q?HbkFbtRFUt2bPMRBrgFvg8vTwVCszbXd/eanbLTnKCeQhgiPjKf+yPLRpK/h/DYio?= =?utf-8?q?AsXzVfGWJVmar0hk7uWosNyothCWKe2tild3jTwR+A/ONTftNm41k0TQRg+HQyEgL?= =?utf-8?q?6Nx1iTSJbObLTbGoEs8YGfOGrK+cNDjASKAFOqjEIbLzczVPaWaV7tTuQfbOZsAlz?= =?utf-8?q?Na1ca1dTXg7ro+EpTGrgXE+SWwHTB/cWtqPn5R37lh0NiIQvadsCC0episSeKZHrr?= =?utf-8?q?HAad1siocDTVbs68lLEEkfn6tuV8w9/4xxq8v/Zjr1lnb0xohY6ETxr7cvy1kgt3d?= =?utf-8?q?d57R+4FwiT7EjQA2FCRXKOT6yt0Do4xbrQ=3D=3D?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:zh-cn;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYUPR06MB6217.apcprd06.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?q?xubJt+ryp+MmuobK8QcQfWHPJgNn?= =?utf-8?q?wyC3SBl/LE53YQ/zTmA/i/2FHKkn0t+ZrpOq36lEFToFM3Afy8KwpkvN5rQDTRvA7?= =?utf-8?q?0Za0xYkxUwg4zVzlv30IWGHGEF6N+XF71qLipAYxVAyxCCmT/3uYKgXP0Na/PNTHu?= =?utf-8?q?35TKVPEznXoVkyNFEaFCaNtnOufrOjTUzIV6B0XfDevVEE15nUfJ/FONPdwiFSuo7?= =?utf-8?q?X+zr2siYa0ChUJw6tpoo5bNwM7bwG2/Oj7qf+DTb14MHA4OKi0ACDOtQO/X/5W3en?= =?utf-8?q?DS7/RKkg1F5E1YXbIUc7xPs3f+36BuIfCsV0xVUzInqJNl7BWOUkX57mbVFd0fldJ?= =?utf-8?q?7RYuVEM30LO0TjiSeFCYJ7vfUGbykWPGES/Wwf0aE/sUWyE/6Mk4tOVzUYJl9/8JT?= =?utf-8?q?CjsGox2Q0047ZJ4HTQYe17LFNMuPwLeH9L/5fUo+xg28HWvK4kEwCYBxbaTpMHL7W?= =?utf-8?q?Aev1TLuvjupE2uK2uv69KJGEeBJlZG3Ic/taJIySGY33W01UEBgME7mjQioOPF6HA?= =?utf-8?q?hJxMoN9K/BriYgtN779G8L57bc3QLA4cY6/1zCXiDbcXtjhMCPa/JDyT00P29deNO?= =?utf-8?q?qcMT5kjT9JZ4aJ11pInJfIyHSRRkyx+x6LKZQSBo7qoi20DGcj+NL3fuyB4LEEVim?= =?utf-8?q?iBDM910lwjlMv1rvphi5f05FnSupAtvkP0mUHe6tryisVYKZxX0mlVShF/a0owCsg?= =?utf-8?q?dg+rxJWv6ZA01S3ry3+gKWTFhdLQIoEBWpErU6NwmsnDSAO7W7ZlVkYlCbvpXnxK3?= =?utf-8?q?6zUxvDj/A5w1uHxmNX2ptTTS+vNFF3LYIpztlS0e0dg4mMwAVO8HJH9Lcg/90SqbQ?= =?utf-8?q?WAzOpWlaYzqoMNsh/k2Px5casEwdRmha53wkCWkK8D/aY6VEooXg8Vq9FvcxNsr1Y?= =?utf-8?q?sswLZEddSjPoJeP2BqOg0jKW//SZDqDe3YqlwS7UJkWE4ZSEurCvUXH6jub24THWa?= =?utf-8?q?3YPKNMutFw7mWy2eSi39wHFW0Tl0sTDwXaRi36ss7vfMeXLQjvEAVi6cRZoZzqG3u?= =?utf-8?q?0n8Z46ZUwNTUUHEiO/IcjVCHnHJy5O19KYwXlr5sCgH6hxRXnpTTpNXeTRu4Opnjq?= =?utf-8?q?Sy2II9sbKJLeXt3QM/kYXWDi6sKRKZUFokDD07JrmCQBDY5QTgEMxi62xs/2mrPeP?= =?utf-8?q?qtLyWZGVW2mVrSTYo0XAse9Ubm28NjNJiwgpdube79rdPWc0R+ahH2J+G2nspnFv8?= =?utf-8?q?uhZRXydOsn3OA1ph1PjDtALQQaT+sJKnCAed7xP/JIuA+KevX5y3r8wUcn745IDa4?= =?utf-8?q?Cqtte9hwnT0Cpta8MqNv47Zy+w2VVW3n08XlNvKDCK9KiEvm49zdIlbrgP6UPtbxo?= =?utf-8?q?GyTXLlKgmT9HnnSsK9KM8ETsICwDZDBNFsM7ImOgysLsm548pZxGYQFPzyiceG4ca?= =?utf-8?q?do4pYPVRG+79Pwnb/Ee6aidJbv4ii9tK18LI3htRb1fyTnUaFv1KjYarM9rwV9Ln3?= =?utf-8?q?bbaMV+z3RmlBylx7YwOnPORdzf6u0rDXRDrPFfNwtRDrnLck/4E/P9pw=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: linux-usb@vger.kernel.org List-Id: <linux-usb.vger.kernel.org> List-Subscribe: <mailto:linux-usb+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-usb+unsubscribe@vger.kernel.org> MIME-Version: 1.0 X-OriginatorOrg: vivo.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYUPR06MB6217.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 106886c2-df36-4dc5-7672-08dd45afbf2c X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Feb 2025 06:38:48.4984 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 923e42dc-48d5-4cbe-b582-1a797a6412ed X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: FCIN/3/3/Zaosd2zMfvl816+tA9SydGngEH/ES+qyVdXMe2P2M14Z7X3S7s8GangKu59IWEB7VXP7WrGwnBehw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY0PR06MB5353 |
Series |
答复: [PATCH v3] usb: gadget: u_serial: Disable ep before setting port to null to fix the crash caused by port being null
|
expand
|
diff --git a/drivers/usb/gadget/function/u_serial.c b/drivers/usb/gadget/function/u_serial.c index 0a8c05b2746b..6f2c9715e8df 100644 --- a/drivers/usb/gadget/function/u_serial.c +++ b/drivers/usb/gadget/function/u_serial.c @@ -456,13 +456,24 @@ static void gs_rx_push(struct work_struct *work) static void gs_read_complete(struct usb_ep *ep, struct usb_request *req) { - struct gs_port *port = ep->driver_data; + struct gs_port *port; + unsigned long flags; + + spin_lock_irqsave(&serial_port_lock, flags); + port = ep->driver_data; + + if (!port) { + spin_unlock_irqrestore(&serial_port_lock, flags); + return; + } - /* Queue all received data until the tty layer is ready for it. */ spin_lock(&port->port_lock); + spin_unlock(&serial_port_lock); + + /* Queue all received data until the tty layer is ready for it. */ list_add_tail(&req->list, &port->read_queue); schedule_delayed_work(&port->push, 0); - spin_unlock(&port->port_lock); + spin_unlock_irqrestore(&port->port_lock, flags); } static void gs_write_complete(struct usb_ep *ep, struct usb_request *req)