From: Oleg Nesterov Date: Mon, 5 May 2014 14:38:18 +0000 (+0200) Subject: uprobes: Add mem_cgroup_charge_anon() into uprobe_write_opcode() X-Git-Tag: omap-for-v3.16/fixes-against-rc1~34^2~14^2^2~9 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=29dedee0e693aa113164c820395ce51446a71ace;p=pandora-kernel.git uprobes: Add mem_cgroup_charge_anon() into uprobe_write_opcode() Hugh says: The one I noticed was that it forgets all about memcg (because it was copied from KSM, and there the replacement page has already been charged to a memcg). See how mm/memory.c do_anonymous_page() does a mem_cgroup_charge_anon(). Hopefully not a big problem, uprobes is a system-wide thing and only root can insert the probes. But I agree, should be fixed anyway. Add mem_cgroup_{un,}charge_anon() into uprobe_write_opcode(). To simplify the error handling (and avoid the new "uncharge" label) the patch also moves anon_vma_prepare() up before we alloc/charge the new page. While at it fix the comment about ->mmap_sem, it is held for write. Suggested-by: Hugh Dickins Signed-off-by: Oleg Nesterov --- Reading git-diff-tree failed