Re: [Regression] "SUNRPC: Add "@len" parameter to gss_unwrap()" breaks NFS Kerberos on upstream stable 5.4.y

From: Chuck Lever
Date: Wed Jul 15 2020 - 14:54:38 EST




> On Jul 15, 2020, at 11:14 AM, Chuck Lever <chuck.lever@xxxxxxxxxx> wrote:
>
>
>
>> On Jul 15, 2020, at 11:08 AM, Kai-Heng Feng <kai.heng.feng@xxxxxxxxxxxxx> wrote:
>>
>>> On Jul 15, 2020, at 23:02, Chuck Lever <chuck.lever@xxxxxxxxxx> wrote:
>>>
>>>> On Jul 15, 2020, at 10:48 AM, Kai-Heng Feng <kai.heng.feng@xxxxxxxxxxxxx> wrote:
>>>>
>>>> Hi,
>>>>
>>>> Multiple users reported NFS causes NULL pointer dereference [1] on Ubuntu, due to commit "SUNRPC: Add "@len" parameter to gss_unwrap()" and commit "SUNRPC: Fix GSS privacy computation of auth->au_ralign".
>>>>
>>>> The same issue happens on upstream stable 5.4.y branch.
>>>> The mainline kernel doesn't have this issue though.
>>>>
>>>> Should we revert them? Or is there any missing commits need to be backported to v5.4?
>>>>
>>>> [1] https://bugs.launchpad.net/bugs/1886277
>>>>
>>>> Kai-Heng
>>>
>>> 31c9590ae468 ("SUNRPC: Add "@len" parameter to gss_unwrap()") is a refactoring
>>> change. It shouldn't have introduced any behavior difference. But in theory,
>>> practice and theory should be the same...
>>>
>>> Check if 0a8e7b7d0846 ("SUNRPC: Revert 241b1f419f0e ("SUNRPC: Remove xdr_buf_trim()")")
>>> is also applied to 5.4.0-40-generic.
>>
>> Yes, it's included. The commit is part of upstream stable 5.4.
>>
>>>
>>> It would help to know if v5.5 stable is working for you. I haven't had any
>>> problems with it.
>>
>> I'll ask users to test it out.
>> Thanks for you quick reply!
>
> Another thought: Please ask what encryption type is in use. The
> kerberos_v1 enctypes might exercise a code path I wasn't able to
> test.

OK.

v5.4.40 does not have 31c9590ae468 and friends, but the claim is this
one crashes?

And v5.4.51 has those three and 89a3c9f5b9f0, which Pierre claims fixes
the problem for him; but another commenter says v5.4.51 still crashes.

So we're getting inconsistent problem reports.

Have the testers enable memory debugging : KASAN or SLUB debugging
might provide more information. I might have some time later this week
to try reproducing on upstream stable, but no guarantees.


--
Chuck Lever