Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp631437ybt; Fri, 10 Jul 2020 08:30:17 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxpqcmJ4eMxwYTsENjTTzkm6Qmm8yE4iQiyoG89XKqI4bHWLaiYI07w/3Ir04AEsMs6zr9C X-Received: by 2002:a17:907:41dc:: with SMTP id og20mr38992353ejb.183.1594395017340; Fri, 10 Jul 2020 08:30:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594395017; cv=none; d=google.com; s=arc-20160816; b=qMyrltNTYIax9oHDv5sIsHdr1beFQX89RcPILdZ7xXNHN4nm1SGkAdJCjhSb8LALJL +Cv2imiC2vuMWVcB29wmO2xH0Ri2VDHsSPgdmr29KFbW8+fj1EQPmB9PG0CWzEgq/irl FZfHpctHo3QhNX3L5+JcfDIBk0y+/8ABIpH+Io4QcsTgf23QuOIr1TIMTyiRt59b+kbf /ZVFCJVuTV3MfFHGazNmg5Iyy1uDXCZLRoo+dIxXbdRRhz088beHzS7LeYAOIbEYLXIk E2zocIlqtkA6tJXOvHnO4ggLk8EC+n53nyZaRkSskrHU+IMugUJ26bBIAemkH+uoJyn5 o7wA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=03Fwkso+p3NTnqwXSBXbAA63BAL7srCJ1ZRi/LlVy2A=; b=F56C1m6k0ntUUo6e9HIa87CZ47im92Lnn3pEH22ilQ3sEH1pMjSTT/E2ieqPgF9hjd XtHLIFojGogDCtnZaQ+9AM2IOlWsWV4U6RHfsiWR+lQAe6ySoaBW7MLt6JkufjZQdt8P xEjrI1Tp7e+BHOogCGvj768SBDv0TEw6sZI+eGU1Ds/fDv4XznYPugDUR30rXRM6A1V3 3Vsm5ZoO1GP88H1jqFQecS26OKvVI4ZaOZuectCUv9teS7TN8rC2sqvMeCPRCE68VkHe 3OAnO0ScRUGyHzpXuTPJ9CcjtTXu8o3PXcE42UbSfa0KMNsG6NVLcqx+NtxuS1mxWmth rA/A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l7si4377816edr.156.2020.07.10.08.29.54; Fri, 10 Jul 2020 08:30:17 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728047AbgGJP1i (ORCPT + 99 others); Fri, 10 Jul 2020 11:27:38 -0400 Received: from mx2.suse.de ([195.135.220.15]:56972 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728013AbgGJP1h (ORCPT ); Fri, 10 Jul 2020 11:27:37 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 502F9AC24; Fri, 10 Jul 2020 15:27:36 +0000 (UTC) Date: Fri, 10 Jul 2020 17:27:35 +0200 From: Petr Mladek To: Kamalesh Babulal Cc: Josh Poimboeuf , Jiri Kosina , Miroslav Benes , Joe Lawrence , Shuah Khan , live-patching@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] selftests/livepatch: adopt to newer sysctl error format Message-ID: <20200710152735.GA20226@alley> References: <20200710051043.899291-1-kamalesh@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200710051043.899291-1-kamalesh@linux.vnet.ibm.com> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri 2020-07-10 10:40:43, Kamalesh Babulal wrote: > With procfs v3.3.16, the sysctl command doesn't prints the set key and > value on error. This change breaks livepatch selftest test-ftrace.sh, > that tests the interaction of sysctl ftrace_enabled: > > # selftests: livepatch: test-ftrace.sh > # TEST: livepatch interaction with ftrace_enabled sysctl ... not ok > # > # --- expected > # +++ result > # @@ -16,7 +16,7 @@ livepatch: 'test_klp_livepatch': initial > # livepatch: 'test_klp_livepatch': starting patching transition > # livepatch: 'test_klp_livepatch': completing patching transition > # livepatch: 'test_klp_livepatch': patching complete > # -livepatch: sysctl: setting key "kernel.ftrace_enabled": Device or > resource busy kernel.ftrace_enabled = 0 > # +livepatch: sysctl: setting key "kernel.ftrace_enabled": Device or > resource busy > # % echo 0 > /sys/kernel/livepatch/test_klp_livepatch/enabled > # livepatch: 'test_klp_livepatch': initializing unpatching transition > # livepatch: 'test_klp_livepatch': starting unpatching transition > # > # ERROR: livepatch kselftest(s) failed > > on setting sysctl kernel.ftrace_enabled={0,1} value successfully, the > set key and value is displayed. > > This patch fixes it by limiting the output from both the cases to eight > words, that includes the error message or set key and value on failure > and success. The upper bound of eight words is enough to display the > only tracked error message. Also, adjust the check_result string in > test-ftrace.sh to match the expected output. This looks really tricky. I wonder if we could use "sysctl -q" to refuse printing the value even with older versions. The following patch works here with sysctl 3.3.15: diff --git a/tools/testing/selftests/livepatch/functions.sh b/tools/testing/selftests/livepatch/functions.sh index 2aab9791791d..47aa4c762bb4 100644 --- a/tools/testing/selftests/livepatch/functions.sh +++ b/tools/testing/selftests/livepatch/functions.sh @@ -64,7 +64,8 @@ function set_dynamic_debug() { } function set_ftrace_enabled() { - result=$(sysctl kernel.ftrace_enabled="$1" 2>&1 | paste --serial --delimiters=' ') + result=$(sysctl -q kernel.ftrace_enabled="$1" 2>&1 && \ + sysctl kernel.ftrace_enabled 2>&1) echo "livepatch: $result" > /dev/kmsg } diff --git a/tools/testing/selftests/livepatch/test-ftrace.sh b/tools/testing/selftests/livepatch/test-ftrace.sh index e2a76887f40a..aa967c5d0558 100755 --- a/tools/testing/selftests/livepatch/test-ftrace.sh +++ b/tools/testing/selftests/livepatch/test-ftrace.sh @@ -53,7 +53,7 @@ livepatch: '$MOD_LIVEPATCH': initializing patching transition livepatch: '$MOD_LIVEPATCH': starting patching transition livepatch: '$MOD_LIVEPATCH': completing patching transition livepatch: '$MOD_LIVEPATCH': patching complete -livepatch: sysctl: setting key \"kernel.ftrace_enabled\": Device or resource busy kernel.ftrace_enabled = 0 +livepatch: sysctl: setting key \"kernel.ftrace_enabled\": Device or resource busy % echo 0 > /sys/kernel/livepatch/$MOD_LIVEPATCH/enabled livepatch: '$MOD_LIVEPATCH': initializing unpatching transition livepatch: '$MOD_LIVEPATCH': starting unpatching transition Best Regards, Petr