From: Philippe Elie Date: Thu, 15 Nov 2007 00:58:48 +0000 (-0800) Subject: oProfile: oops when profile_pc() returns ~0LU X-Git-Tag: v2.6.24-rc3~119 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=df9d177aa28d50e64bae6fbd6b263833079e3571;p=pandora-kernel.git oProfile: oops when profile_pc() returns ~0LU Instruction pointer returned by profile_pc() can be a random value. This break the assumption than we can safely set struct op_sample.eip field to a magic value to signal to the per-cpu buffer reader side special event like task switch ending up in a segfault in get_task_mm() when profile_pc() return ~0UL. Fixed by sanitizing the sampled eip and reject/log invalid eip. Problem reported by Sami Farin, patch tested by him. Signed-off-by: Philippe Elie Tested-by: Sami Farin Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- Reading git-diff-tree failed