[LTP] [PATCH 2/3] commands/keyctl01: Fix getting key serial number
Guangwen Feng
fenggw-fnst@cn.fujitsu.com
Thu Jul 13 14:15:33 CEST 2017
Hi!
在 07/13/2017 06:55 PM, Guangwen Feng 写道:
> Hi!
>
> 在 07/11/2017 08:27 PM, Guangwen Feng 写道:
>> Hi!
>>
>> Thanks for your review.
>>
>> 在 07/07/2017 09:08 PM, Cyril Hrubis 写道:
>>> Hi!
>>>> So fix this by adding a match with "inaccessible".
>>>>
>>>> Signed-off-by: Guangwen Feng <fenggw-fnst@cn.fujitsu.com>
>>>> ---
>>>> testcases/commands/keyctl/keyctl01.sh | 5 +++++
>>>> 1 file changed, 5 insertions(+)
>>>>
>>>> diff --git a/testcases/commands/keyctl/keyctl01.sh b/testcases/commands/keyctl/keyctl01.sh
>>>> index 5a97499..8ea2b25 100644
>>>> --- a/testcases/commands/keyctl/keyctl01.sh
>>>> +++ b/testcases/commands/keyctl/keyctl01.sh
>>>> @@ -77,6 +77,11 @@ do_test()
>>>> fi
>>>>
>>>> local key=`keyctl show | awk '/debug:fred/ {print $1}'`
>>>> + if [ -z "$key" ]; then
>>>> + key=`keyctl show | \
>>>> + awk -F ':' '/inaccessible/ {print $1}'`
>>>> + fi
>>>
>>> Can't we rather split the keyctl request and keyctl negate operations
>>> into two and get the key after the key has been requested but before it
>>> was negated?
>>>
>>> Or is it required to do the request and negate operation in a signle
>>> keyctl command in order to reproduce the kernel crash?
>>
>> I think it is required to do the operations in one command...
>> I will try to split them and reproduce the kernel crash, thanks.
>
> Without using a single keyctl command, this bug cannot be triggered,
> so I want to keep it this way.
>
> I think the problem is that we cannot get the keyid by matching
> "debug:fred" via "keyctl show" when the key is expired, I find that
> in /proc/keys even the key is expired, we can still see the key's
> description, so we can just look it up this way.
Sorry, but there are also some old kernels like 2.6.18-398.el5 do not
show user key in /proc/keys:
[root@rhel5 ~]# cat /proc/keys
00000001 I----- 1 perm 1f3f0000 0 0 keyring _uid_ses.0: 1/4
00000002 I----- 3 perm 1f3f0000 0 0 keyring _uid.0: empty
039d3f23 I--Q-- 3 perm 1f3f0000 0 0 keyring _ses.2742: 6/8
^
6 keys in this keyring
It only shows how many keys in a keyring, so this is unreliable...
Can we just use "keyctl show" to match "inaccessible" when this
happens?
Best Regards,
Guangwen Feng
>
> I will send a V2 soon.
>
> Best Regards,
> Guangwen Feng
>
>>
>> Best Regards,
>> Guangwen Feng
>>
>>>
>>>> if [ -n "$key" ]; then
>>>> keyctl unlink $key @s >/dev/null
>>>> tst_sleep 50ms
>>>> --
>>>> 1.8.4.2
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Mailing list info: https://lists.linux.it/listinfo/ltp
>>>
>>
>>
>>
>
>
>
More information about the ltp
mailing list