Hi, John Keeping <john@xxxxxxxxxxxx> writes: > This check has gone through several incompatible variations in commits > 53642399aa71 ("usb: gadget: f_fs: Fix wrong check on reserved1 of > OS_DESC_EXT_COMPAT"), 354bc45bf329 ("usb: gadget: f_fs: Fix ExtCompat > descriptor validation") and 3ba534df815f ("Revert "usb: gadget: f_fs: > Fix ExtCompat descriptor validation"") after initially being introduced > in commit f0175ab51993 ("usb: gadget: f_fs: OS descriptors support"). > > The various changes make it impossible for a single userspace > implementation to work with different kernel versions, so let's just > drop the condition to avoid breaking userspace. > > Fixes: 53642399aa71 ("usb: gadget: f_fs: Fix wrong check on reserved1 of OS_DESC_EXT_COMPAT") > Cc: stable@xxxxxxxxxxxxxxx # v4.7+ > Signed-off-by: John Keeping <john@xxxxxxxxxxxx> > --- > drivers/usb/gadget/function/f_fs.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/usb/gadget/function/f_fs.c b/drivers/usb/gadget/function/f_fs.c > index 652397eda6d6..0d9962834345 100644 > --- a/drivers/usb/gadget/function/f_fs.c > +++ b/drivers/usb/gadget/function/f_fs.c > @@ -2282,8 +2282,7 @@ static int __ffs_data_do_os_desc(enum ffs_os_desc_type type, > int i; > > if (len < sizeof(*d) || > - d->bFirstInterfaceNumber >= ffs->interfaces_count || > - !d->Reserved1) > + d->bFirstInterfaceNumber >= ffs->interfaces_count) > return -EINVAL; > for (i = 0; i < ARRAY_SIZE(d->Reserved2); ++i) > if (d->Reserved2[i]) Sorry, but no. We want to be compliant with the specification. If there are older still-maintained stable trees which are not working, we need to backport a fix to them, but we're not allowing uncompliant implementations. -- balbi
Attachment:
signature.asc
Description: PGP signature