Thread (76 messages) 76 messages, 12 authors, 2023-10-09

Re: [RFC PATCH v2 02/20] tracing/filters: Enable filtering a cpumask field by another cpumask

From: Valentin Schneider <vschneid@redhat.com>
Date: 2023-07-27 09:48:51
Also in: bpf, kvm, linux-doc, linux-kselftest, linux-mm, lkml, rcu

On 26/07/23 12:41, Josh Poimboeuf wrote:
On Thu, Jul 20, 2023 at 05:30:38PM +0100, Valentin Schneider wrote:
quoted
 int filter_assign_type(const char *type)
 {
-	if (strstr(type, "__data_loc") && strstr(type, "char"))
-		return FILTER_DYN_STRING;
+	if (strstr(type, "__data_loc")) {
+		if (strstr(type, "char"))
+			return FILTER_DYN_STRING;
+		if (strstr(type, "cpumask_t"))
+			return FILTER_CPUMASK;
+		}
The closing bracket has the wrong indentation.
quoted
+		/* Copy the cpulist between { and } */
+		tmp = kmalloc((i - maskstart) + 1, GFP_KERNEL);
+		strscpy(tmp, str + maskstart, (i - maskstart) + 1);
Need to check kmalloc() failure?  And also free tmp?
Heh, indeed, shoddy that :-)

Thanks!
quoted
+
+		pred->mask = kzalloc(cpumask_size(), GFP_KERNEL);
+		if (!pred->mask)
+			goto err_mem;
+
+		/* Now parse it */
+		if (cpulist_parse(tmp, pred->mask)) {
+			parse_error(pe, FILT_ERR_INVALID_CPULIST, pos + i);
+			goto err_free;
+		}
+
+		/* Move along */
+		i++;
+		if (field->filter_type == FILTER_CPUMASK)
+			pred->fn_num = FILTER_PRED_FN_CPUMASK;
+
--
Josh
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help