Re: [PATCH] usb: usbfs: fix crash in check_ctrlrecip()->usb_find_alt_setting()

From: Alan Stern
Date: Tue Sep 25 2018 - 11:15:08 EST


On Tue, 25 Sep 2018, Vladis Dronov wrote:

> > What reason is there for having two different fixes for the same bug?
> > This one isn't going to get into any mainline trees that don't already
> > have c9a4cb204e9e.
>
> I believe this is the right thing to do, so usb_find_alt_setting()
> is not called with a known-bad argument.
>
> Honestly, I would change "if (!config)" in usb_find_alt_setting() to
> "BUG_ON(!config)" so we know when its callers do smth wrong and go

(You'll be lucky if Linus doesn't see that. He yells at anybody who
suggests adding BUG_ON for anything that doesn't completely crash the
kernel. The basic problem is that "BUG_ON" is not a good name: That
routine doesn't really report bugs; instead it brings everything to a
halt in situations where the kernel is unable to proceed. In practice
this tends to make actual debugging more difficult.)

> fix callers. Unfortunately, I understand this hardly will be accepted.

How is this different from calling kfree() with a NULL argument?

Alan Stern