+ kprobes-handle-symbol-resolution-when-modulesymbol-is-specified.patch added to -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch titled

     kprobes: handle symbol resolution when <module:.symbol> is specified

has been added to the -mm tree.  Its filename is

     kprobes-handle-symbol-resolution-when-modulesymbol-is-specified.patch

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

------------------------------------------------------
Subject: kprobes: handle symbol resolution when <module:.symbol> is specified
From: Ananth N Mavinakayanahalli <ananth@xxxxxxxxxx>

kallsyms_lookup_name() allows for <module:symbol> style specification for
looking up symbol addresses.  Handle the case where the user specifies
<module:.symbol> on powerpc, given that 64-bit powerpc uses function
descriptors.

Signed-off-by: Anil S Keshavamurthy <anil.s.keshavamurthy@xxxxxxxxx>
Signed-off-by: Ananth N Mavinakayanahalli <ananth@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

 include/asm-powerpc/kprobes.h |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

diff -puN include/asm-powerpc/kprobes.h~kprobes-handle-symbol-resolution-when-modulesymbol-is-specified include/asm-powerpc/kprobes.h
--- a/include/asm-powerpc/kprobes.h~kprobes-handle-symbol-resolution-when-modulesymbol-is-specified
+++ a/include/asm-powerpc/kprobes.h
@@ -47,16 +47,23 @@ typedef unsigned int kprobe_opcode_t;
 /*
  * 64bit powerpc uses function descriptors.
  * Handle cases where:
- * 		- User passes a <.symbol>
- * 		- User passes a <symbol>
+ * 		- User passes a <.symbol> or <module:.symbol>
+ * 		- User passes a <symbol> or <module:symbol>
  * 		- User passes a non-existant symbol, kallsyms_lookup_name
  * 		  returns 0. Don't deref the NULL pointer in that case
  */
 #define kprobe_lookup_name(name, addr)					\
 {									\
+	char *colon;							\
 	addr = (kprobe_opcode_t *)kallsyms_lookup_name(name);		\
-	if (!(name[0] == '.') && addr)					\
-		addr = *(kprobe_opcode_t **)addr;			\
+	if (addr) {							\
+		if ((colon = strchr(name, ':')) != NULL) {		\
+			colon++;					\
+			if (*colon != '\0' && colon[0] != '.')		\
+				addr = *(kprobe_opcode_t **)addr;	\
+		} else if (name[0] != '.')				\
+			addr = *(kprobe_opcode_t **)addr;		\
+	}								\
 }
 
 #define JPROBE_ENTRY(pentry)	(kprobe_opcode_t *)((func_descr_t *)pentry)
_

Patches currently in -mm which might be from ananth@xxxxxxxxxx are

kprobes-make-kprobe-modules-more-portable.patch
kprobes-make-kprobe-modules-more-portable-update.patch
kprobes-handle-symbol-resolution-when-modulesymbol-is-specified.patch
kprobes-handle-symbol-resolution-when-modulesymbol-is-specified-tidy.patch
add-regs_return_value-helper.patch
update-documentation-kprobestxt.patch
update-documentation-kprobestxt-update.patch

-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux