lkml.org 
[lkml]   [2015]   [Jul]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] x86/mm/pat: Do a small optimization in reserve_memtype
On Tue, Jul 21, 2015 at 03:32:50PM +0800, Pan Xinhui wrote:
> yes, we may access an freed memory at that time. Because entry is
> stored in rb-tree. Need lock when we access it.

Ah, we touch entry, right.

> > improve the comments over memtype_lock to explain what exactly it protects.
> >
> lock is needed when we access the data stored in rb-tree. :)

I didn't ask you what it protects - I can do my own grepping and read
pat_rbtree.c just fine - I asked you to update the comment.

> I find another bug, although it's very hard to hit.
> just in reserve_memtype()
> ----------------------------------
> err = rbt_memtype_check_insert(new, new_type);
> if (err) {
> printk(KERN_INFO "reserve_memtype failed [mem %#010Lx-%#010Lx], track %s, req %s\n",
> start, end - 1,
> cattr_name(new->type), cattr_name(req_type));
> kfree(new);
> spin_unlock(&memtype_lock);
>
> return err;
> }
>
> spin_unlock(&memtype_lock); //this unlock may cause problems because the next dprintk access *new*

Yes.

--
Regards/Gruss,
Boris.

ECO tip #101: Trim your mails when you reply.
--


\
 
 \ /
  Last update: 2015-07-21 17:41    [W:0.031 / U:0.156 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site