Received: by 2002:a5b:505:0:0:0:0:0 with SMTP id o5csp7396191ybp; Wed, 16 Oct 2019 08:04:57 -0700 (PDT) X-Google-Smtp-Source: APXvYqzrOt50dyYwHxZt9Z2XeIONxPgmcCsjaL8MlmvZCMiseG7efWQ1PpUwlmaZ59Sx7pecEAKH X-Received: by 2002:a05:6402:158f:: with SMTP id c15mr40181989edv.192.1571238297810; Wed, 16 Oct 2019 08:04:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1571238297; cv=none; d=google.com; s=arc-20160816; b=aCHxK8iSw6dI7cRV7dBPIUahya7PhIfZhWKi7TZI48JOUvu/RrOolaoXBSTIs4/h7/ YPdPgOeI6NUfJG42MKdRsk/p0eHxZl3eMpOEtJaAiyBENEnE4N0CKaNXgKB1nusL/i5d BLNsBVMh29XLuid8HrZQ0pqYy1iyJ645Bx+0rN/ImokXmw7DOOB6ndAp5ijZNdo5bKTh HZdkifTcpt/JAnGr01Eed4csA2NB6ntLKGaGC7n7KMXCqgp6NwneYblOIMLzQL+QrXcC KX0gWgf5f6/hz37IPNIwfO4btgU6/uBYztc/DR56ZVaOOlWJcpEHZ9JquCIao9loYEz5 lATQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=wxABhW5aWpXl8c91SBp2xbFU4CZM7qT8Uy3InCFiTsw=; b=YNYT2ymYsFO3vXP9VnfKPWXFJFY9/lfgOLNVGSuNcd+fWhWW8gmJxXSfsUxZjldCZH eHQlpe7m9cMF90q3VhTrTpeIXxD5hceQKlkvFdL7h2YRboIRvukgSsO0emqv1ZLQyHgj orL0JSVDG7+HtsNlUHZHNv+l+BNNxNBOyHL+NnmWGr6v7qPT2Yu/3MKkT5ZAPZXRUjOh pG62ZNhrz1CO2B0coUXwC+Z7j1rZRazXGWEWquAZ0wRupG/enYFw/r59RCKJP9Os9hLE Io4SWybG5/66VFu36tj/4pw2IzTCSIo8F9V2FGiaEAE7vB+aUiAAZNtATNU4aih8JP31 x2Bw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j17si15183445ejd.314.2019.10.16.08.04.30; Wed, 16 Oct 2019 08:04:57 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2391060AbfJPLdU (ORCPT + 99 others); Wed, 16 Oct 2019 07:33:20 -0400 Received: from mx2.suse.de ([195.135.220.15]:35590 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727597AbfJPLdU (ORCPT ); Wed, 16 Oct 2019 07:33:20 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 5662BB188; Wed, 16 Oct 2019 11:33:18 +0000 (UTC) From: Miroslav Benes To: rostedt@goodmis.org, mingo@redhat.com, jpoimboe@redhat.com, jikos@kernel.org, pmladek@suse.com, joe.lawrence@redhat.com Cc: linux-kernel@vger.kernel.org, live-patching@vger.kernel.org, shuah@kernel.org, kamalesh@linux.vnet.ibm.com, linux-kselftest@vger.kernel.org, Miroslav Benes Subject: [PATCH v3 0/3] ftrace: Introduce PERMANENT ftrace_ops flag Date: Wed, 16 Oct 2019 13:33:12 +0200 Message-Id: <20191016113316.13415-1-mbenes@suse.cz> X-Mailer: git-send-email 2.23.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Livepatch uses ftrace for redirection to new patched functions. It means that if ftrace is disabled, all live patched functions are disabled as well. Toggling global 'ftrace_enabled' sysctl thus affect it directly. It is not a problem per se, because only administrator can set sysctl values, but it still may be surprising. Introduce PERMANENT ftrace_ops flag to amend this. If the FTRACE_OPS_FL_PERMANENT is set on any ftrace ops, the tracing cannot be disabled by disabling ftrace_enabled. Equally, a callback with the flag set cannot be registered if ftrace_enabled is disabled. v2->v3: - ftrace_enabled explicitly set to true - selftest from Joe Lawrence (I just split it to two patches) - typo fix v1->v2: - different logic, proposed by Joe Lawrence Joe Lawrence (2): selftests/livepatch: Make dynamic debug setup and restore generic selftests/livepatch: Test interaction with ftrace_enabled Miroslav Benes (1): ftrace: Introduce PERMANENT ftrace_ops flag Documentation/trace/ftrace-uses.rst | 8 +++ Documentation/trace/ftrace.rst | 4 +- include/linux/ftrace.h | 3 + kernel/livepatch/patch.c | 3 +- kernel/trace/ftrace.c | 23 ++++++- tools/testing/selftests/livepatch/Makefile | 3 +- .../testing/selftests/livepatch/functions.sh | 34 +++++++--- .../selftests/livepatch/test-callbacks.sh | 2 +- .../selftests/livepatch/test-ftrace.sh | 65 +++++++++++++++++++ .../selftests/livepatch/test-livepatch.sh | 2 +- .../selftests/livepatch/test-shadow-vars.sh | 2 +- 11 files changed, 132 insertions(+), 17 deletions(-) create mode 100755 tools/testing/selftests/livepatch/test-ftrace.sh -- 2.23.0