From 64b6009fa84302be82a0d7b7e1ea02777b4dbf2f Mon Sep 17 00:00:00 2001 From: "Frank Ch. Eigler" Date: Tue, 6 Oct 2015 10:56:06 -0400 Subject: [PATCH] RHBZ1269062: quote ioscheduler.* elevator_name value It was reported that the $q->elevator->elevator_name could be 0. --- NEWS | 2 ++ tapset/linux/ioscheduler.stp | 18 +++++++++--------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/NEWS b/NEWS index 4e6ff44bd..82ed80748 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,7 @@ * What's new in version 2.9, 2015-09-30 +- The ioscheduler.* tapset functions return a quoted elevator_name string + rather than unquoted, since the underlying kernel pointer could be null. - SystemTap now uses symbols from /proc/kallsyms when kernel debuginfo is not available. diff --git a/tapset/linux/ioscheduler.stp b/tapset/linux/ioscheduler.stp index 842e27e6a..07562ff1f 100644 --- a/tapset/linux/ioscheduler.stp +++ b/tapset/linux/ioscheduler.stp @@ -1,6 +1,6 @@ // IO scheduler tapset // Copyright (C) 2005, 2006 IBM Corp. -// Copyright (C) 2010 Red Hat Inc. +// Copyright (C) 2010-2015 Red Hat Inc. // // This file is part of systemtap, and is free software. You can // redistribute it and/or modify it under the terms of the GNU General @@ -23,7 +23,7 @@ probe ioscheduler.elv_next_request = kernel.function("blk_peek_request") !, kernel.function("elv_next_request") { name = "elv_next_request" - elevator_name = kernel_string( + elevator_name = kernel_string_quoted( @choose_defined($q->elevator->type->elevator_name, @choose_defined($q->elevator->elevator_type->elevator_name, $q->elevator->elevator_name))) @@ -73,7 +73,7 @@ probe ioscheduler.elv_completed_request = kernel.function("elv_completed_request") { name = "elv_completed_request" - elevator_name = kernel_string( + elevator_name = kernel_string_quoted( @choose_defined($q->elevator->type->elevator_name, @choose_defined($q->elevator->elevator_type->elevator_name, $q->elevator->elevator_name))) @@ -111,7 +111,7 @@ probe ioscheduler.elv_add_request.kp = kernel.function("__elv_add_request") { name = "elv_add_request" - elevator_name = kernel_string( + elevator_name = kernel_string_quoted( @choose_defined($q->elevator->type->elevator_name, @choose_defined($q->elevator->elevator_type->elevator_name, $q->elevator->elevator_name))) @@ -149,7 +149,7 @@ probe ioscheduler.elv_add_request.tp = kernel.trace("block_rq_insert") ? { name = "elv_add_request" q = $q - elevator_name = kernel_string( + elevator_name = kernel_string_quoted( @choose_defined($q->elevator->type->elevator_name, @choose_defined($q->elevator->elevator_type->elevator_name, $q->elevator->elevator_name))) @@ -197,7 +197,7 @@ probe ioscheduler_trace.elv_completed_request = kernel.trace("block_rq_complete") ? { name = "elv_completed_request" - elevator_name = kernel_string( + elevator_name = kernel_string_quoted( @choose_defined($q->elevator->type->elevator_name, @choose_defined($q->elevator->elevator_type->elevator_name, $q->elevator->elevator_name))) @@ -231,7 +231,7 @@ probe ioscheduler_trace.elv_issue_request = kernel.trace("block_rq_issue") ? { name = "elv_issue_request" - elevator_name = kernel_string( + elevator_name = kernel_string_quoted( @choose_defined($q->elevator->type->elevator_name, @choose_defined($q->elevator->elevator_type->elevator_name, $q->elevator->elevator_name))) @@ -265,7 +265,7 @@ probe ioscheduler_trace.elv_requeue_request = kernel.trace("block_rq_requeue") ? { name = "elv_requeue_request" - elevator_name = kernel_string( + elevator_name = kernel_string_quoted( @choose_defined($q->elevator->type->elevator_name, @choose_defined($q->elevator->elevator_type->elevator_name, $q->elevator->elevator_name))) @@ -298,7 +298,7 @@ probe ioscheduler_trace.elv_abort_request = kernel.trace("block_rq_abort") ? { name = "elv_abort_request" - elevator_name = kernel_string( + elevator_name = kernel_string_quoted( @choose_defined($q->elevator->type->elevator_name, @choose_defined($q->elevator->elevator_type->elevator_name, $q->elevator->elevator_name))) -- 2.43.5