Re: [PATCH 1/1][BUG][TAKE2] KEYRINGS: find_keyring_by_name() cangain the freed keyring

From: 岡嶋 寿行
Date: Fri Apr 23 2010 - 20:33:23 EST


> Toshiyuki Okajima <toshi.okajima@xxxxxxxxxxxxxx> wrote:
>
>> > Better still, atomic_inc_not_zero(). How about the attached patch?
>> Your fix looks good to me. But, if usage count of the keyring is 0,
>> I think it better to return -ENOKEY immediately.
>

> The problem with that is that someone else may have created a keyring with
> the
> same name that you can't then reach until the dead keyring is deleted.

OK. I understand.
---
Once find_keyring_by_name() returns -ENOKEY, the new user creates a
new key. So, both the deleting key and the new key may exist.
Therefore at next find_keyring_by_name() call, we should find the new
key and ignore the deleting key.
---

Toshiyuki Okajima

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/