Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1626084 > unrolled thread

[PATCH v3 4/7] powerpc: kprobes: use safer string functions in kprobe_lookup_name()

Started by"Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com>
First post2017-04-19 15:00 +0200
Last post2017-04-21 19:10 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH v3 4/7] powerpc: kprobes: use safer string functions in kprobe_lookup_name() "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com> - 2017-04-19 15:00 +0200
    RE: [PATCH v3 4/7] powerpc: kprobes: use safer string functions in  kprobe_lookup_name() David Laight <David.Laight@ACULAB.COM> - 2017-04-21 19:10 +0200

#1626084 — [PATCH v3 4/7] powerpc: kprobes: use safer string functions in kprobe_lookup_name()

From"Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com>
Date2017-04-19 15:00 +0200
Subject[PATCH v3 4/7] powerpc: kprobes: use safer string functions in kprobe_lookup_name()
Message-ID<txXnc-3yQ-47@gated-at.bofh.it>
Convert usage of strncpy()/strncat() to memcpy()/strlcat() for simpler
and safer string manipulation.

Reported-by: David Laight <David.Laight@ACULAB.COM>
Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
---
 arch/powerpc/kernel/kprobes.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/arch/powerpc/kernel/kprobes.c b/arch/powerpc/kernel/kprobes.c
index 97b5eed1f76d..d743bacefa8c 100644
--- a/arch/powerpc/kernel/kprobes.c
+++ b/arch/powerpc/kernel/kprobes.c
@@ -69,24 +69,23 @@ kprobe_opcode_t *kprobe_lookup_name(const char *name, unsigned int offset)
 		modsym++;
 		if (*modsym != '\0' && *modsym != '.') {
 			/* Convert to <module:.symbol> */
-			strncpy(dot_name, name, modsym - name);
+			memcpy(dot_name, name, modsym - name);
 			dot_name[modsym - name] = '.';
 			dot_name[modsym - name + 1] = '\0';
-			strncat(dot_name, modsym,
-				sizeof(dot_name) - (modsym - name) - 2);
+			strlcat(dot_name, modsym, sizeof(dot_name));
 			dot_appended = true;
 		} else {
 			dot_name[0] = '\0';
-			strncat(dot_name, name, sizeof(dot_name) - 1);
+			strlcat(dot_name, name, sizeof(dot_name));
 		}
 	} else if (name[0] != '.') {
 		dot_name[0] = '.';
 		dot_name[1] = '\0';
-		strncat(dot_name, name, KSYM_NAME_LEN - 2);
+		strlcat(dot_name, name, sizeof(dot_name));
 		dot_appended = true;
 	} else {
 		dot_name[0] = '\0';
-		strncat(dot_name, name, KSYM_NAME_LEN - 1);
+		strlcat(dot_name, name, sizeof(dot_name));
 	}
 	addr = (kprobe_opcode_t *)kallsyms_lookup_name(dot_name);
 	if (!addr && dot_appended) {
-- 
2.12.1

[toc] | [next] | [standalone]


#1628367 — RE: [PATCH v3 4/7] powerpc: kprobes: use safer string functions in kprobe_lookup_name()

FromDavid Laight <David.Laight@ACULAB.COM>
Date2017-04-21 19:10 +0200
SubjectRE: [PATCH v3 4/7] powerpc: kprobes: use safer string functions in kprobe_lookup_name()
Message-ID<tyKee-8vc-27@gated-at.bofh.it>
In reply to#1626084
From: Naveen N. Rao
> Sent: 19 April 2017 13:51
...
>  			dot_name[0] = '\0';
> -			strncat(dot_name, name, sizeof(dot_name) - 1);
> +			strlcat(dot_name, name, sizeof(dot_name));
...

Is that really zeroing the first byte just so it can append to it?

	David

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web