From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 12787C433E4 for ; Tue, 28 Jul 2020 17:51:23 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id D1B042177B for ; Tue, 28 Jul 2020 17:51:22 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="RQFyeY9o" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D1B042177B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 598C88D000E; Tue, 28 Jul 2020 13:51:22 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 520C38D0002; Tue, 28 Jul 2020 13:51:22 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3E86D8D000E; Tue, 28 Jul 2020 13:51:22 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0132.hostedemail.com [216.40.44.132]) by kanga.kvack.org (Postfix) with ESMTP id 23F588D0002 for ; Tue, 28 Jul 2020 13:51:22 -0400 (EDT) Received: from smtpin14.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id C91A58248047 for ; Tue, 28 Jul 2020 17:51:21 +0000 (UTC) X-FDA: 77088226362.14.horn80_2b0cd5726f6b Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin14.hostedemail.com (Postfix) with ESMTP id 8A84F1822987B for ; Tue, 28 Jul 2020 17:51:21 +0000 (UTC) X-HE-Tag: horn80_2b0cd5726f6b X-Filterd-Recvd-Size: 4678 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by imf32.hostedemail.com (Postfix) with ESMTP for ; Tue, 28 Jul 2020 17:51:20 +0000 (UTC) Received: from mail-ot1-f52.google.com (mail-ot1-f52.google.com [209.85.210.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 0B61420672 for ; Tue, 28 Jul 2020 17:51:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1595958680; bh=6jcL8Ywxu0wIDS2/EBltw8otMDCJosWWa2C5+dsi7N0=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=RQFyeY9oZhZ7LptyowMlRda8iRBLxGZb/JQd4LXHzTq6cXGnqdVU9FjXqH970bQ5l 0HTDrqL4n7m2JmgNPlbtl+r+O4A1pmo2cOPEmviaUBTrjdrcwOe/eboIUqfmRJ/7hO LRp7le7a82T2WmIQjVBNwV/ONSaUTl86An3vXANI= Received: by mail-ot1-f52.google.com with SMTP id v21so8234992otj.9 for ; Tue, 28 Jul 2020 10:51:20 -0700 (PDT) X-Gm-Message-State: AOAM532RuA2KRH+j4HNnN1WElT4ZfVANnD92Au3Hlu4b94vkTVs7rO8o kw5vwSjshF/lhl0UJ2xDe+uZrU/Hd5Eyxsaexho= X-Google-Smtp-Source: ABdhPJxmJNqVhgo0Y4CcIESwnMCLsnEZlDA6hxQ1ZKFwUiNhCh8xheV1iZBQ2JhCxsnEnn/0tVSbR4oHrpi/Zcdc/nI= X-Received: by 2002:a05:6830:1094:: with SMTP id y20mr13388085oto.90.1595958679426; Tue, 28 Jul 2020 10:51:19 -0700 (PDT) MIME-Version: 1.0 References: <20200724050553.1724168-1-jarkko.sakkinen@linux.intel.com> <20200724050553.1724168-6-jarkko.sakkinen@linux.intel.com> <20200724092746.GD517988@gmail.com> <20200725031648.GG17052@linux.intel.com> <20200726081408.GB2927915@kernel.org> <20200728171715.0800093e2226e3d72b04a3ae@kernel.org> <20200728223545.ce4ff78cac73b571a27bb357@kernel.org> In-Reply-To: <20200728223545.ce4ff78cac73b571a27bb357@kernel.org> From: Ard Biesheuvel Date: Tue, 28 Jul 2020 20:51:08 +0300 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v5 5/6] kprobes: Use text_alloc() and text_free() To: Masami Hiramatsu Cc: Mike Rapoport , Jarkko Sakkinen , Ingo Molnar , Linux Kernel Mailing List , linux-mm@kvack.org, Andi Kleen , Peter Zijlstra , "Naveen N. Rao" , Anil S Keshavamurthy , "David S. Miller" , Jessica Yu Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 8A84F1822987B X-Spamd-Result: default: False [0.00 / 100.00] X-Rspamd-Server: rspam05 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Tue, 28 Jul 2020 at 16:35, Masami Hiramatsu wrote: > > On Tue, 28 Jul 2020 13:56:43 +0300 > Ard Biesheuvel wrote: > > > On Tue, 28 Jul 2020 at 11:17, Masami Hiramatsu wrote: > > > > Masami or Peter should correct me if I am wrong, but it seems to me > > > > that the way kprobes uses these pages does not require them to be in > > > > relative branching range of the core kernel on any architecture, given > > > > that they are populated with individual instruction opcodes that are > > > > executed in single step mode, and relative branches are emulated (when > > > > needed) > > > > > > Actually, x86 and arm has the "relative branching range" requirements > > > for the jump optimized kprobes. For the other architectures, I think > > > we don't need it. Only executable text buffer is needed. > > > > > > > Thanks for the explanation. Today, arm64 uses the definition below. > > > > void *alloc_insn_page(void) > > { > > return __vmalloc_node_range(PAGE_SIZE, 1, VMALLOC_START, VMALLOC_END, > > GFP_KERNEL, PAGE_KERNEL_ROX, VM_FLUSH_RESET_PERMS, > > NUMA_NO_NODE, __builtin_return_address(0)); > > } > > > > Do you think we could use that as the generic implementation if we use > > MODULES_START/_END as the allocation window? > > Yes, but for the generic implementation, we don't need to consider the > relative branching range since we can override it for x86 and arm. > (and that will be almost same as module_alloc() default code) Indeed. So having kprobes specific macros that default to VMALLOC_START/END but can be overridden would be sufficient. > BTW, is PAGE_KERNEL_ROX flag available generically? > Turns out that it is not :-( > Thank you, > -- > Masami Hiramatsu