[FIX] warnings in swap_kprobe
authorAnastasia Lyupa <a.lyupa@samsung.com>
Wed, 6 Nov 2013 07:48:44 +0000 (11:48 +0400)
committerAnastasia Lyupa <a.lyupa@samsung.com>
Wed, 6 Nov 2013 08:58:00 +0000 (12:58 +0400)
build it with -Werror

Change-Id: I8ac9bc775675c0faed0ffbde5d866da26936df6b
Signed-off-by: Anastasia Lyupa <a.lyupa@samsung.com>
build.sh
kprobe/arch/asm-arm/dbi_kprobes.c
kprobe/arch/asm-arm/dbi_kprobes.h
kprobe/arch/asm-x86/dbi_kprobes.c
kprobe/arch/asm-x86/dbi_kprobes.h
kprobe/dbi_kprobes.c

index bf722e3..088dfed 100755 (executable)
--- a/build.sh
+++ b/build.sh
@@ -57,7 +57,7 @@ make CROSS_COMPILE=${cross_compile} ARCH=${arch} -C ${kernel_dir} M=${driver_dir
 
 kprobe_module_name=swap_kprobe.ko
 make CROSS_COMPILE=${cross_compile} ARCH=${arch} -C ${kernel_dir} M=${kprobe_dir} \
-       extra_cflags="-I${modules_dir} -I${kprobe_dir} -I${kprobe_arch_dir} -I${ksyms_dir}" \
+       extra_cflags="-Werror -I${modules_dir} -I${kprobe_dir} -I${kprobe_arch_dir} -I${ksyms_dir}" \
        modules || exit 1
 
 ks_manager_module_name=swap_ks_manager.ko
index bb99a21..a24dfb8 100644 (file)
@@ -462,14 +462,14 @@ static struct undef_hook undef_ho_k = {
 int arch_init_kprobes(void)
 {
        // Register hooks (kprobe_handler)
-       __swap_register_undef_hook = swap_ksyms("register_undef_hook");
+       __swap_register_undef_hook = (void *)swap_ksyms("register_undef_hook");
        if (__swap_register_undef_hook == NULL) {
                printk("no register_undef_hook symbol found!\n");
                 return -1;
         }
 
         // Unregister hooks (kprobe_handler)
-       __swap_unregister_undef_hook = swap_ksyms("unregister_undef_hook");
+       __swap_unregister_undef_hook = (void *)swap_ksyms("unregister_undef_hook");
        if (__swap_unregister_undef_hook == NULL) {
                 printk("no unregister_undef_hook symbol found!\n");
                 return -1;
index a610719..28503c6 100644 (file)
@@ -505,7 +505,7 @@ void set_current_kprobe(struct kprobe *p, struct pt_regs *regs, struct kprobe_ct
 
 void __naked kretprobe_trampoline(void);
 
-static unsigned long swap_get_karg(struct pt_regs *regs, unsigned long n)
+static inline unsigned long swap_get_karg(struct pt_regs *regs, unsigned long n)
 {
        switch (n) {
        case 0:
index 5993561..5432a6e 100644 (file)
@@ -257,8 +257,6 @@ static int is_IF_modifier (kprobe_opcode_t opcode)
 
 int arch_prepare_kprobe(struct kprobe *p, struct slot_manager *sm)
 {
-       kprobe_opcode_t insns[KPROBES_TRAMP_LEN];
-
        int ret = 0;
 
        if ((unsigned long) p->addr & 0x01)
@@ -514,7 +512,7 @@ int setjmp_pre_handler (struct kprobe *p, struct pt_regs *regs)
        kprobe_pre_entry_handler_t pre_entry;
        entry_point_t entry;
 
-       unsigned long addr, args[6];
+       unsigned long addr;
        struct kprobe_ctlblk *kcb = get_kprobe_ctlblk ();
 
        DBPRINTF ("setjmp_pre_handler %p:%d", p->addr, p->tgid);
@@ -536,7 +534,7 @@ int setjmp_pre_handler (struct kprobe *p, struct pt_regs *regs)
        trace_hardirqs_off();
 #endif
        if (pre_entry)
-               p->ss_addr = pre_entry(jp->priv_arg, regs);
+               p->ss_addr = (kprobe_opcode_t *)pre_entry(jp->priv_arg, regs);
 
        regs->EREG(ip) = (unsigned long)(jp->entry);
 
@@ -584,7 +582,7 @@ void arch_ujprobe_return(void)
  */
 static void resume_execution (struct kprobe *p, struct pt_regs *regs, struct kprobe_ctlblk *kcb)
 {
-       unsigned long *tos, tos_dword = 0;
+       unsigned long *tos;
        unsigned long copy_eip = (unsigned long) p->ainsn.insn;
        unsigned long orig_eip = (unsigned long) p->addr;
        kprobe_opcode_t insns[2];
@@ -841,6 +839,8 @@ int longjmp_break_handler (struct kprobe *p, struct pt_regs *regs)
                preempt_enable_no_resched ();
                return 1;
        }
+
+       return 0;
 }
 
 void arch_arm_kprobe (struct kprobe *p)
index bb0cd0f..3262d7e 100644 (file)
@@ -227,7 +227,7 @@ static inline int arch_check_insn(struct arch_specific_insn *ainsn)
        return 0;
 }
 
-static unsigned long swap_get_karg(struct pt_regs *regs, unsigned long n)
+static inline unsigned long swap_get_karg(struct pt_regs *regs, unsigned long n)
 {
        switch (n) {
        case 0:
index f389e59..2ddc920 100644 (file)
@@ -109,15 +109,15 @@ static void sm_free(struct slot_manager *sm, void *ptr)
        __wrapper_module_free(ptr);
 }
 
-static void init_sm()
+static void init_sm(void)
 {
        sm.slot_size = KPROBES_TRAMP_LEN;
        sm.alloc = sm_alloc;
        sm.free = sm_free;
-       INIT_HLIST_NODE(&sm.page_list);
+       INIT_HLIST_HEAD(&sm.page_list);
 }
 
-static void exit_sm()
+static void exit_sm(void)
 {
        /* FIXME: free */
 }
@@ -661,7 +661,6 @@ int trampoline_probe_handler(struct kprobe *p, struct pt_regs *regs)
        unsigned long flags, orig_ret_address = 0;
        unsigned long trampoline_address = (unsigned long)&kretprobe_trampoline;
 
-       struct kretprobe *crp = NULL;
        struct kprobe_ctlblk *kcb;
 
        preempt_disable();