Re: [PATCH] tools: usb: usbip: adding support for older kernel versions

From: Greg Kroah-Hartman
Date: Mon Mar 25 2019 - 20:35:08 EST


On Mon, Mar 25, 2019 at 04:02:30PM -0700, Brian Norris wrote:
> On Mon, Mar 25, 2019 at 3:07 PM shuah <shuah@xxxxxxxxxx> wrote:
> > On 3/25/19 11:56 AM, Brian Norris wrote:
> > > On Mon, Mar 25, 2019 at 8:51 AM shuah <shuah@xxxxxxxxxx> wrote:
> > >> In general the ABI is stable.
> > >
> > > No, it really isn't. This commit was a breaking change:
> ...
> > > But this one is definitely a break:
> > >
> > > commit 1c9de5bf428612458427943b724bea51abde520a
> > > Author: Yuyang Du <yuyang.du@xxxxxxxxx>
> > > Date: Thu Jun 8 13:04:10 2017 +0800
> > >
> > > usbip: vhci-hcd: Add USB3 SuperSpeed support
> > >
> > > You can't just arbitrarily add columns to the beginning of a file like
> > > that and claim that you're not breaking ABI. And I shouldn't need to
> > > remind you that Thou Shalt Not Break User Space.
> >
> > USB 3.0 driver and tool support went in, I would say it was oversight to
> > not make sure the tool continues to work on older kernels.
>
> While that's true, you're still not grokking my main point when asking
> about ABI stability:
>
> *old* tools should still work on *new* kernels

For some defintion of "old" and "new" :)

We do break lower-level apis like this at times, for when it makes
sense, and for when the "old" kernel is just too old (and when you can
just run the tool that came with that kernel).

3.18 was released at the end of 2014, and as the tool that came with
that kernel still works just fine, you are just pushing the boundry here
really hard :)

Why do you want to update your userspace tool and not update your
kernel? What is forcing your userspace tool to be updated?

Not to say that this shouldn't be fixed if at all possible, but realize
that this is not the "normal" case of "we do not break userspace" here,
given the tool involved, and the apis being used.

thanks,

greg k-h