Re: [PATCH] mm-kasan-initial-memory-quarantine-implementation-v8-fix

From: Alexander Potapenko
Date: Wed May 11 2016 - 11:33:13 EST


On Wed, May 11, 2016 at 4:30 PM, Alexander Potapenko <glider@xxxxxxxxxx> wrote:
> On Wed, May 11, 2016 at 1:11 PM, Andrey Ryabinin
> <aryabinin@xxxxxxxxxxxxx> wrote:
>> On 05/11/2016 01:18 PM, Alexander Potapenko wrote:
>>> On Tue, May 10, 2016 at 3:38 PM, Andrey Ryabinin
>>> <aryabinin@xxxxxxxxxxxxx> wrote:
>>>> * Fix comment styles,
>>> yDid you remove the comments from include/linux/kasan.h because they
>>> were put inconsistently, or was there any other reason?
>>
>> We usually comment functions near definition, not declarations.
>> If you like, put comment back. Just place it near definition.
>>
>>>> * Get rid of some ifdefs
>>> Thanks!
>>>> * Revert needless functions renames in quarantine patch
>>> I believe right now the names are somewhat obscure. I agree however
>>> the change should be done in a separate patch.
>>
>> Besides that, I didn't like the fact that you made names longer and exceeded
>> 80-char limit in some places.
>>
>>>> * Remove needless local_irq_save()/restore() in per_cpu_remove_cache()
>>> Ack
>>>> * Add new 'struct qlist_node' instead of 'void **' types. This makes
>>>> code a bit more redable.
>>> Nice, thank you!
>>>
>>> How do I incorporate your changes? Is it ok if I merge it with the
>>> next version of my patch and add a "Signed-off-by: Andrey Ryabinin
>>> <aryabinin@xxxxxxxxxxxxx>" line to the description?
>>>
>>
>> Ok, but I don't think that this is matters. Andrew will just craft a diff patch
>> on top of the current code anyways.
>> Or you can make such diff by yourself and send it, it's easier to review, after all.
>>
> The kernel crashed for me when I applied your patch.
>
> I also had to make the following change:
>
> +++ b/mm/kasan/quarantine.c
> @@ -245,7 +245,7 @@ static void qlist_move_cache(struct qlist_head *from,
>
> prev = from->head;
> while (prev) {
> - struct qlist_node *qlink = prev->next;
> + struct qlist_node *qlink = prev;
> struct kmem_cache *obj_cache = qlink_to_cache(qlink);
>
> if (obj_cache == cache) {
>
Well, not really.
I had to rewrite qlist_move_cache(), will send a new patch shortly.
>
> --
> Alexander Potapenko
> Software Engineer
>
> Google Germany GmbH
> Erika-Mann-StraÃe, 33
> 80636 MÃnchen
>
> GeschÃftsfÃhrer: Matthew Scott Sucherman, Paul Terence Manicle
> Registergericht und -nummer: Hamburg, HRB 86891
> Sitz der Gesellschaft: Hamburg



--
Alexander Potapenko
Software Engineer

Google Germany GmbH
Erika-Mann-StraÃe, 33
80636 MÃnchen

GeschÃftsfÃhrer: Matthew Scott Sucherman, Paul Terence Manicle
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg