From patchwork Fri Aug 16 11:21:24 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?b?6IOh6L+e5Yuk?= X-Patchwork-Id: 821306 Received: from APC01-TYZ-obe.outbound.protection.outlook.com (mail-tyzapc01on2082.outbound.protection.outlook.com [40.107.117.82]) (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 032D0817; Fri, 16 Aug 2024 11:21:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.117.82 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1723807291; cv=fail; b=Q1bw13w/IbrJC4Jg8S5UprGDzSw2xL8gYl1mfqvrTC9tmx7gczZhBkYzCW8zBCHMbaOxCNI6thUfo0vo0NyIo3syP7UUBuvOna54nSdVWZA2Y9OxM2JwSwnEuB3SnrFMIOoZPsCOw0c+rOrhOQB0S+lHq8f6waihff6q/oWe+JU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1723807291; c=relaxed/simple; bh=UF+EA2RZhVgZSgg9buAA7/TSmF28FqAp8yHNXI+1EOo=; h=From:To:CC:Subject:Date:Message-ID:Content-Type:MIME-Version; b=MDG0P8xwndeleWjyWWnouofNcqVJuVz7T9U95c0p7wHLg6mKmQF9ne2cRn26Tv3LH5PZpjbssVLG7K8haotZ0yCXnMqAY46WlgtXYtR79k71PZp+4x4ADP1F+UwD2YZjboTOftpMSi886eRrcrrBKkIw9ETjFnSWjJAjeLtSAJc= 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=jWsFACDA; arc=fail smtp.client-ip=40.107.117.82 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="jWsFACDA" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=s5iyjdPRH/RTTmUoDJaFoueJkImFJcIrVc1sqnuSd01Ww0agZobmeYc96NzOWSaD2OZoxsnGf+NGYTuKjtSh8RKtWoGj4p+l4JerD0qBgfGW+tfbvGRQRrMM/NoNp7ZXRJzYmrTd2vwlKPuwCAd7bYH2VP6j5GVsigUafZAv46S+0e6gf9FB4u1LSOdRX29Du49QK1GPkeZgQ/1MATtUEisRohTsdcnl6FLSFF0GrY0hCecvHmFip0epaKw0AaQbTGofVV1msyX6GbRcoxiEjXX6QZ0/28v+tNVMGCEI+1P2JqoxD3hdskM/w0LmQQoo2r8SXAzghhRx8CaoHY507Q== 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=UF+EA2RZhVgZSgg9buAA7/TSmF28FqAp8yHNXI+1EOo=; b=UTVoXHNe/aw/o5+iIT/GGkiEgtpp9o/0G3BqEDOxfRmevvPvL+cDQZE9GWAb1eoRGuCZXc5eVOVNsru80XSbtRj4TwKzu4PfXvvaDvf/F5xfuVP7Sk/QhDbrcVYq1s98SoGcgQz7wkcCr4ERJY3iEWBWwfJKPePKB7QEfUknHrIjVFmIiEEGx3Hv3XpzZoGxJvCiMrwsEclS86aGQlXXUN1zNs05fz9fDHYkJXZSLkqUfaSGuftxfGfxOnR9l34psTviT4BFFm+dbhuBNglY/5EwCIdeIL1J/oZ0ybY/u05BcaTuz3QLOC7wMfP1Jquh0MSOi9prIITva381Pa6Jww== 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=UF+EA2RZhVgZSgg9buAA7/TSmF28FqAp8yHNXI+1EOo=; b=jWsFACDAv5bRRfRNhop8d0m7QknHDRtE4fdVbh62kqzsT2h2qXrwLC3+k8/JGfLuqbfHK3P/W4zpHC39IUOJVyb8RE1jscA5AlXbbxoUS6rnPmKuEARvLCoelUM6VdKMzFGPp5an5bgifj/48wu9o0uJtbUlgDcaMPduR4zLDRVWLwroITRi2u6QF4AY2KXZyRTo3xf+IuGRCQjuydH2ObSetxzqKecHxvw3LZ+dUBK1PlAC+lJzKXs5GZINngPBKWNcjVOKWSvqAhH04br3uUgK5KlXG+9Xg2HKH78/j1lVcVy7eqw/qINGnnGH7ausXTjjffKnTA6+O53EnqRngQ== Received: from TYUPR06MB6217.apcprd06.prod.outlook.com (2603:1096:400:358::7) by PUZPR06MB5981.apcprd06.prod.outlook.com (2603:1096:301:115::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7875.18; Fri, 16 Aug 2024 11:21:24 +0000 Received: from TYUPR06MB6217.apcprd06.prod.outlook.com ([fe80::c18d:f7c6:7590:64fe]) by TYUPR06MB6217.apcprd06.prod.outlook.com ([fe80::c18d:f7c6:7590:64fe%4]) with mapi id 15.20.7875.016; Fri, 16 Aug 2024 11:21:24 +0000 From: =?eucgb2312_cn?b?uvrBrMfa?= To: "gregkh@linuxfoundation.org" , "quic_prashk@quicinc.com" , "quic_jjohnson@quicinc.com" , "linux-usb@vger.kernel.org" , "linux-kernel@vger.kernel.org" CC: opensource.kernel , "linux-kernel@vger.kernel.org" , "akpm@linux-foundation.org" Subject: [PATCH v1] usb: gadget: u_serial: check Null pointer in EP callback Thread-Topic: [PATCH v1] usb: gadget: u_serial: check Null pointer in EP callback Thread-Index: AdrvzihtFNSOcxRwTAOIHI6tveAOMA== Date: Fri, 16 Aug 2024 11:21:24 +0000 Message-ID: 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_|PUZPR06MB5981:EE_ x-ms-office365-filtering-correlation-id: 91712cd2-9b0e-47c4-4cdb-08dcbde59016 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|1800799024|366016|38070700018; x-microsoft-antispam-message-info: =?eucgb2312_cn?b?alc4VUg1d0tIL3BzaFVmZ2JReHBO?= =?eucgb2312_cn?b?bnBuQ2V3UlIyRzFpVjdzMVM2a0ZaWkIzRTJWY010QVA4NWVQNHVGbW9PbGhrOE41?= =?eucgb2312_cn?b?TklSTzE0QTlIQXZXejVzLzA5TUJJQVMxeGRYbVR6S1hBWjM2QTNFUW4yMUdaVndY?= =?eucgb2312_cn?b?eEZjZzFuRXJkSzF3SmRtNmtnSVlreWFxVTlDNjBEUmM5QTFwWi96andZZGFGRHJ1?= =?eucgb2312_cn?b?aEpWb0VPMnFoZC9tKzVWanplbVpXaVpZYmZ5V2x2eE5acXppeTh1aEFDVndmSmhr?= =?eucgb2312_cn?b?dE9qYXhwK1VURjFJb2doTHJmK1c0ZU9aLzdWbXRlcUs1V0RYdmR2NkU1NWY5VDN2?= =?eucgb2312_cn?b?cjhLaFQzeS85bWFlNUdvQkZlQ3dWbmNjZjMrZUNMd3JsblczWnp3aSsvdHJZWjQw?= =?eucgb2312_cn?b?UkRxeDcvMmFITUJUOVBUdzVKejdma0ZvSTlMZUZvbUJOVlFHMURuc1hFaHEyQTMw?= =?eucgb2312_cn?b?WTRiWDZQMW1CUlpqS1REQUtwVm80K2V4V2VJQ2xudE5paDRicjJmWTBWTDdha2hF?= =?eucgb2312_cn?b?cGpsZ0hHSDhtWVBvdmdlTWRQQUZwem5ibUZINzNJRWVLV2l4M1MwSGJ0Zk1DRm00?= =?eucgb2312_cn?b?cnUrMlFuZDVxRmxCWk5ja3lUVFJWbWxNWFNaNThzNTh4UXlwUi9IdFp5U1NwS2hI?= =?eucgb2312_cn?b?SGFmaFJTZHpQL0g3Q2pFeFNFcmw3QzVQZHg5NTg3Tk5zdnp3YjRIdHZOdXhrYTV3?= =?eucgb2312_cn?b?dWdyZzNLcUhlcVhJVHhQWDFQUy8vZ0J0RzJxVnhIcFYzSU1WdUJVbEU3N0ZKQUNG?= =?eucgb2312_cn?b?OGZpOU9oUC84aktndTIxc21Kc1ZkN0tUOWNZRDQ2ZVNhUDdUT1EzdWwycnBJRURn?= =?eucgb2312_cn?b?L3FQbktZd3FBRk9Hd20vbExoSytNY2dPd2w3ZlUwdVQ0QVBxbVl2VkpYdERJem5E?= =?eucgb2312_cn?b?Z3Z3WlI4UGlEZHFoTXlPOXRFRXo3OTQyVEo4ZVBLZ0VHRlU3SGtmcFJscjNHdzh0?= =?eucgb2312_cn?b?OWdVZWFmN2syVnVZblhmUXlpb2J6dy80Z3ptcGlvNUhNWFFFVE9jbGZweTkxS1Vj?= =?eucgb2312_cn?b?cExxNmxKWnZHRHM3NEhHSUJ4Y3dBV0VqelRsMUF6MnFtT0xHb2ZreW12T0d2Sy9J?= =?eucgb2312_cn?b?MUxmekIrbkY4ejNCdExSNThxak1FRGRkZWJuaTY5UzFUZlpZQ1ZpQmNERW9VR1U4?= =?eucgb2312_cn?b?YWRYT0d5MVVSRWw2eVhONEtpNXJaTndRazg3cEQ3NWowQk52VFZhRHd3aVFQalNP?= =?eucgb2312_cn?b?c3E0S1QvYStGTWcrR29rTUV5SDJQTVRMK1pzNE1WUzNzblppTzVkWmtaUnlQRGNt?= =?eucgb2312_cn?b?eGNGL2hlbDZHTUJJMzUwKzRVQ1FoK1RPTEROWVJ2ZExzOUpia0NialJyditTMXVv?= =?eucgb2312_cn?b?bEtCUmRxSzRMTmRDUTExdjFlMXkwZTdWa3B5TGdHVkZ0ZlE3QjlaZ3UrOFU0d3dB?= =?eucgb2312_cn?b?clR4azJVODlOUTRJTHN4bDRTNXI3K2M3V2ptaTVHUVNIc2tzby81V1R0bXp2Ny82?= =?eucgb2312_cn?b?RTl3M2VvYkprVGg5ajFSeFNtQ0dKTWdQY21lU2trM2M1TDJ5d3FsRFB2YTRNMDBP?= =?eucgb2312_cn?b?cmp3THQ1M3ZCNUFoS00wQU5reVVTZmRWYjFPZXUyc0hxT3I5U2g2dm5FM2NLYnhR?= =?eucgb2312_cn?b?cmtyemhQZm1rY2k5Q1FiaVpCcnp6QlhQNTR0Yzd6VFRXS2E1WUhBVEhGVmg4U0k5?= =?eucgb2312_cn?b?VW01TytZcHQyeE81bVFrK2dRSFpDZGJ1V0xTV1JSVWY5REY3SUo3OGlSYVNXclBy?= =?eucgb2312_cn?b?YVNSZTJuc2VVaC9xbWpnRXZBV3VzVWd3MjI1aXhiZmw3MFp3UEx0cjJ0T0tPSCtj?= =?eucgb2312_cn?b?WE5qQ1ZVK04wakhpTXQ5NXdScjRLaWdlQkJFdHYvVk9Ya1dIMVhHZHJ4ZkRtR01a?= =?eucgb2312_cn?b?WjdmbmNLRlVXblBtak5MVGc9PQ==?= 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)(376014)(1800799024)(366016)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?eucgb2312_cn?b?MWx6elFENFVoZGlOT3JkUnVl?= =?eucgb2312_cn?b?Zm0zMTJaT1RsWExIVVU0cGpsejhnclcyT1VsR25lekhsOGwyNU5jcU9RK25lSVlZ?= =?eucgb2312_cn?b?c3lZckVQbTRLbW42akRYYndqU1JKNmRySFIxcytVUWx2YzRqNlh3RC9UQnl2NlRa?= =?eucgb2312_cn?b?dEpWVVFuYm5zL29ISC9LcytmbmdPS2tkeGRXNU1XYVU0MG5yb0hCNTEvL2Q2S3Fs?= =?eucgb2312_cn?b?UlB5MnVpZHVpbFNGcVQ3QU9yeGc2TktNdXpCWVBTVnpNemdRaVNEWTFBVTZYN0lU?= =?eucgb2312_cn?b?YTJHK2psZHRNZVgvcnMvendyTmpVUkt4ZkJya1VuOW9zZmF6ZlloeUhtMWdtLzJl?= =?eucgb2312_cn?b?dDRIcGxzOUpOVnh2aUYzYjAyUVc4MkQ2cVRma0dGb0RiUTdIbWdyU2t3dEUydGtI?= =?eucgb2312_cn?b?eTQ5NDR5OHgwUXRPNXZtK0x1MWZ5c0hoekR6Q2xaQk9ENFV3UTdXSEUzR1pwS1Br?= =?eucgb2312_cn?b?WGJxNkRGUEVXdWE1WjNrbVNVMjFuQzV3cjlJRXA1MDRsU3RGZ2gvais3eDZCaFZU?= =?eucgb2312_cn?b?bGRId1BMZDFBcVFORzFyRHNwVlc0azU1bDc0YzNQSjNJWk9ERjlzbm9IdWwxaXB5?= =?eucgb2312_cn?b?NGhuWXRhUDVLMmUycDh3VWNWbjhmVjdCT1dISWRSclN3WGhMUTE5a0N3OWh4NDR2?= =?eucgb2312_cn?b?OE9PRWgwUWFCTkdDQUlqQlZwWjEwdGtWQWx0eGVkQTJIV2htZEZ2WlFKOEZTdysx?= =?eucgb2312_cn?b?MENWMkJWZ2NDZ2orbmNPUGxCSnIwMS9LZzZqeUd3Z0x2TXZwcC9GUkk4cVdkaDdY?= =?eucgb2312_cn?b?enhMNDZUZXBmeS9JMVJNMUovUmYxNHg0Mm0rKzR5VnRldGhkU1Q0bklCU1ZqaWFy?= =?eucgb2312_cn?b?NDlFeWUwWFczaW5WZDE0Qld4RkJ2TnRLMEVZR0lyRk8rUXNCMWxGY1ZoMGVRUlkx?= =?eucgb2312_cn?b?V0lERlR5ME9odXRNaXpYTzFtWHk1eTNqQ0RYOGVybFozSDJiLzJFcWtDS1RoSlBq?= =?eucgb2312_cn?b?OGM3VGRwelRYcVE5WXJYaGJIcDY1bDRrT0k0c1k0SUlpcHdhOVpyNjFZV2VvQnU1?= =?eucgb2312_cn?b?TzNYU1d4L3hRUjNrMEEyeUoxM3pzaitFSHJGK0lvN1BXb3gzRWdNUUdZckJkYUFo?= =?eucgb2312_cn?b?ZmlYZDBudXJ3ODVvLzJPSjNBSWw4bkx1bDM0aENnMVlLYjRuKzlQcGZhb1lXMDdx?= =?eucgb2312_cn?b?Z2tCNW4yNHBHdUtmR3psazlQRFZpUGJaQ0NzWnNVMHNSZ21aUjBtU1o1eGlmT3Rp?= =?eucgb2312_cn?b?QS9CZDlxM1krd3dueEpOUkVWeGdoQlczaXc3eG1vU3VwKzduZEc4NzJCSFU5Vm5P?= =?eucgb2312_cn?b?bldTY3h2Z0s2WVZ4ZXg2NzZFSWY0RWsvRHRHOGtUdEx3L09yMXJLMWFzWnF4T2c3?= =?eucgb2312_cn?b?S0RXZ2lFRzVrcm9oZnhOcUNVeTBYWk1kV2VaT2s1MWxIYU90aFN1SmNGNkFnaVdR?= =?eucgb2312_cn?b?NER6ZjFpSk5ZY1FKRkhuSVBQc2lqZVB1WWROR21OSERSc2VmQ3RTUmZKajhBanJT?= =?eucgb2312_cn?b?L1luYlkrWUVWT2YxbWJoakdpZ3VhMDlOR3JRcTZjOVRSWmRXcUVyeFYxUWxNNTMx?= =?eucgb2312_cn?b?emNUZjNKbmtacnpkUzRiTlpZa2owRGNVc3JXMWlNSW8zcEQ0aEtnSytlcURVc2tZ?= =?eucgb2312_cn?b?aVhlMWxxMVFhZmRsSG9NZSsrQTluMnhydWVxRFA4dEw0WkVsYjlOaUdOT2Nzd21o?= =?eucgb2312_cn?b?Vi9tNTlPMUdIVnRWbUdIVU53aThrRjVBWlRpazVLdm1ZYTdtZ1QvV05pb2V4bmJa?= =?eucgb2312_cn?b?Tndvams1ZjExbkhOOVlLU1hQaWhiQmlqU24venUrblNCQWd5dXZIMFRZemF0SWEz?= =?eucgb2312_cn?b?dkdDWE5OU3FoQmp1T0YxZ1p5T3NtZDdHVDdtcFNBODNtVG5sN1RhNTNQY1FRSWli?= =?eucgb2312_cn?b?QUZBUHRMYnhMT2NwTkdSQU5IRzhlY0JaK2tSZ2dKQzQ5dnBtL0FsdzMzYm9kaHoy?= =?eucgb2312_cn?b?UUNnOU4vM2N3T3pZVXFCVDJBZHFHZm96VXRMSXJ6OXJyL3Mxc0NyNGtuR1kvR0tn?= =?eucgb2312_cn?b?T092T09kS2dmbEg0WS9DbERVbUlhY0V1TUtDbGlYTnV1cno0dUZKTHdiT1JCNDFU?= =?eucgb2312_cn?b?cGEyWU04Mkx3MUV0bnR3Mml5Z0ZQT0h1ND0=?= Precedence: bulk X-Mailing-List: linux-usb@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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: 91712cd2-9b0e-47c4-4cdb-08dcbde59016 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Aug 2024 11:21:24.2250 (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: XQbJpkyTp38ryCbrbgJSco1aOlWhpBcdosnvCy30mMD9MMXYzsFexUOMG7fMf/AwES5x6ogerrzjS5S5uevbyg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PUZPR06MB5981 From: Lianqin Hu Added null pointer check to avoid system crash. Unable to handle kernel NULL pointer dereference at virtual address 00000000000001a8 pc : gs_read_complete+0x58/0x240 lr : usb_gadget_giveback_request+0x40/0x160 sp : ffffffc00f1539c0 x29: ffffffc00f1539c0 x28: ffffff8002a30000 x27: 0000000000000000 x26: ffffff8002a30000 x25: 0000000000000000 x24: ffffff8002a30000 x23: ffffff8002ff9a70 x22: ffffff898e7a7b00 x21: ffffff803c9af9d8 x20: ffffff898e7a7b00 x19: 00000000000001a8 x18: ffffffc0099fd098 x17: 0000000000001000 x16: 0000000080000000 x15: 0000000ac1200000 x14: 0000000000000003 x13: 000000000000d5e8 x12: 0000000355c314ac x11: 0000000000000015 x10: 0000000000000012 x9 : 0000000000000008 x8 : 0000000000000000 x7 : 0000000000000000 x6 : ffffff887cd12000 x5 : 0000000000000002 x4 : ffffffc00f9b07f0 x3 : ffffffc00f1538d0 x2 : 0000000000000001 x1 : 0000000000000000 x0 : 00000000000001a8 Call trace: gs_read_complete+0x58/0x240 usb_gadget_giveback_request+0x40/0x160 dwc3_remove_requests+0x170/0x484 dwc3_ep0_out_start+0xb0/0x1d4 __dwc3_gadget_start+0x25c/0x720 kretprobe_trampoline.cfi_jt+0x0/0x8 kretprobe_trampoline.cfi_jt+0x0/0x8 udc_bind_to_driver+0x1d8/0x300 usb_gadget_probe_driver+0xa8/0x1dc gadget_dev_desc_UDC_store+0x13c/0x188 configfs_write_iter+0x160/0x1f4 vfs_write+0x2d0/0x40c ksys_write+0x7c/0xf0 __arm64_sys_write+0x20/0x30 invoke_syscall+0x60/0x150 el0_svc_common+0x8c/0xf8 do_el0_svc+0x28/0xa0 el0_svc+0x24/0x84 el0t_64_sync_handler+0x88/0xec el0t_64_sync+0x1b4/0x1b8 Code: aa1f03e1 aa1303e0 52800022 2a0103e8 (88e87e62) ---[ end trace 938847327a739172 ]--- Kernel panic - not syncing: Oops: Fatal exception Signed-off-by: Lianqin Hu --- v1: - Optimize code comments, delete log printing --- drivers/usb/gadget/function/u_serial.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) + /* When port is NULL, return to avoid panic. */ + if (!port) + return; + spin_lock(&port->port_lock); list_add(&req->list, &port->write_pool); port->write_started--; diff --git a/drivers/usb/gadget/function/u_serial.c b/drivers/usb/gadget/function/u_serial.c index b394105e55d6..65637d53bf02 --- a/drivers/usb/gadget/function/u_serial.c +++ b/drivers/usb/gadget/function/u_serial.c @@ -454,6 +454,14 @@ static void gs_read_complete(struct usb_ep *ep, struct usb_request *req) { struct gs_port *port = ep->driver_data; + /* When port is NULL, return to avoid panic. */ + if (!port) + return; + /* Queue all received data until the tty layer is ready for it. */ spin_lock(&port->port_lock); list_add_tail(&req->list, &port->read_queue); @@ -465,6 +473,14 @@ static void gs_write_complete(struct usb_ep *ep, struct usb_request *req) { struct gs_port *port = ep->driver_data;