# Re: \[V2 PATCH\] usb: mtu3: fix NULL pointer dereference

- From: Felipe Balbi \<balbi@kernel.org\>
- Date: 2020-07-09 06:43:07 
- List: linux-arm-kernel
- Page: https://ratatoskr.run/linux-arm-kernel/2020/07/6030175
- Thread: https://ratatoskr.run/linux-usb/2020/06/6020002/t.md

```text

Hi,

Chunfeng Yun [ref] writes:
>> > @@ -373,8 +380,8 @@ static int mtu3_gadget_dequeue(struct usb_ep *ep, struct usb_request *req)
>> >   */
>> >  static int mtu3_gadget_ep_set_halt(struct usb_ep *ep, int value)
>> >  {
>> > -	struct mtu3_ep *mep = to_mtu3_ep(ep);
>> > -	struct mtu3 *mtu = mep->mtu;
>> > +	struct mtu3_ep *mep;
>> > +	struct mtu3 *mtu;
>> >  	struct mtu3_request *mreq;
>> >  	unsigned long flags;
>> >  	int ret = 0;
>> > @@ -382,6 +389,9 @@ static int mtu3_gadget_ep_set_halt(struct usb_ep *ep, int value)
>> >  	if (!ep)
>> >  		return -EINVAL;
>> 
>> Same here, how can that ever happen?
> Maybe when the class driver has something wrong:)
>
> You mean it's better to remove these unnecessary checks?

if we need those checks, I'd rather have them at a central location,
such as udc/core.c. But, as Greg mentioned, the kernel doesn't call
these with NULL pointers.

-- 
balbi
```
