Received: by 10.223.176.5 with SMTP id f5csp3373680wra; Mon, 29 Jan 2018 12:17:43 -0800 (PST) X-Google-Smtp-Source: AH8x225r6jyktSYSkCYCYCBdoq9KwlQlEM1lN7VsmPJZQwU3y2TraNyljP84DYVFZ4zkyqpVU73T X-Received: by 2002:a17:902:3225:: with SMTP id y34-v6mr22664081plb.399.1517257063340; Mon, 29 Jan 2018 12:17:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1517257063; cv=none; d=google.com; s=arc-20160816; b=WtxDeZ/ydAMLtl8g14zgxTEhun9kgDSgWWg8nWfPqNoXQWthSN+UPq6G6TrzMm6ZKo cwJpZhEeBHmuV+bY1A/j+67EQs7kP+Amst6HSy04y/v8WFIt37EFVns34nOQCPphJr+A SvNd4d/w+1DxdDFKzndKpnYEB0G7Otod9F9C94ThAo0kp8rwNxQ7ifyrEslSbmNhsC40 PBGRNCdww+Wl7cXPYZVuv9ZByIU//PtSng+i/nAwfAhrMit+0TcSdNQ2ydTQrjTWdSoN dC6ACk+0EZWd1/Nv869f5ZEvBZpycKqA6Zhw80HKu1UW6LYbf/FM2k+PWI42L/7z5QTs SSwg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=LvRNhanF0jSQxAbBgStQQAAB42bJ6AlIEhk2rporlkY=; b=hCnzIMCohMIZL/zdQNGYw5RAJeFZmLfZmOdXw0Rz+ZgfEVoA3SMNGDZ7yZP6fc0ezC o71pmcT6mXrGBY3XY/fILAb4gziwvGj+Kruu5kevcbpHi0a4ssIxs6zQvxwtN7L2rmqP 9J9ynxgq9ah/2soX8aUU1dtyJRt/QHQxhSi8+VgAwep/gMm5lUcdGF5lu6I/A3YJmAp9 kZlZCyXPbl5h4FoUL6FTkeDbmRDWW4cbAkyHQ3R21FnXXgg2hpbKXJ+ij78ghbhPmA1q /SAU1P6ggt+fg28UpZKBlxPffM8PcqzVtLY6NoKZRzvA8K75De1CWQGBwXQ4ncqdO3qK Hosw== 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 h23si2025302pfh.80.2018.01.29.12.17.29; Mon, 29 Jan 2018 12:17:43 -0800 (PST) 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 S1754676AbeA2UQx (ORCPT + 99 others); Mon, 29 Jan 2018 15:16:53 -0500 Received: from mail.linuxfoundation.org ([140.211.169.12]:44434 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754628AbeA2UQm (ORCPT ); Mon, 29 Jan 2018 15:16:42 -0500 Received: from localhost (LFbn-1-12258-90.w90-92.abo.wanadoo.fr [90.92.71.90]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id C0F2C2FE4; Mon, 29 Jan 2018 13:08:09 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Russell King Subject: [PATCH 4.14 18/71] ARM: net: bpf: correct stack layout documentation Date: Mon, 29 Jan 2018 13:56:46 +0100 Message-Id: <20180129123828.532416909@linuxfoundation.org> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180129123827.271171825@linuxfoundation.org> References: <20180129123827.271171825@linuxfoundation.org> User-Agent: quilt/0.65 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.14-stable review patch. If anyone has any objections, please let me know. ------------------ From: Russell King commit 0005e55a79cfda88199e41a406a829c88d708c67 upstream. The stack layout documentation incorrectly suggests that the BPF JIT scratch space starts immediately below BPF_FP. This is not correct, so let's fix the documentation to reflect reality. Signed-off-by: Russell King Signed-off-by: Greg Kroah-Hartman --- arch/arm/net/bpf_jit_32.c | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) --- a/arch/arm/net/bpf_jit_32.c +++ b/arch/arm/net/bpf_jit_32.c @@ -28,24 +28,43 @@ int bpf_jit_enable __read_mostly; /* - * eBPF prog stack layout + * eBPF prog stack layout: * * high - * original ARM_SP => +-----+ eBPF prologue - * |FP/LR| - * current ARM_FP => +-----+ - * | ... | callee saved registers - * eBPF fp register => +-----+ <= (BPF_FP) + * original ARM_SP => +-----+ + * | | callee saved registers + * +-----+ <= (BPF_FP + SCRATCH_SIZE) * | ... | eBPF JIT scratch space - * | | eBPF prog stack + * eBPF fp register => +-----+ + * (BPF_FP) | ... | eBPF prog stack * +-----+ * |RSVD | JIT scratchpad - * current ARM_SP => +-----+ <= (BPF_FP - STACK_SIZE) + * current ARM_SP => +-----+ <= (BPF_FP - STACK_SIZE + SCRATCH_SIZE) * | | * | ... | Function call stack * | | * +-----+ * low + * + * The callee saved registers depends on whether frame pointers are enabled. + * With frame pointers (to be compliant with the ABI): + * + * high + * original ARM_SP => +------------------+ \ + * | pc | | + * current ARM_FP => +------------------+ } callee saved registers + * |r4-r8,r10,fp,ip,lr| | + * +------------------+ / + * low + * + * Without frame pointers: + * + * high + * original ARM_SP => +------------------+ + * | lr | (optional) + * | r4-r8,r10 | callee saved registers + * +------------------+ + * low */ #define STACK_OFFSET(k) (k)