Received: by 10.223.176.5 with SMTP id f5csp3422759wra; Mon, 29 Jan 2018 12:58:53 -0800 (PST) X-Google-Smtp-Source: AH8x226MSZdPPJxt92b2l49Y3c8EGfPQCvVEYXXYi2HlQB5m/rwtwHMSi58PVKp7MY/zgYkxm6cF X-Received: by 10.99.177.76 with SMTP id g12mr5508928pgp.269.1517259533221; Mon, 29 Jan 2018 12:58:53 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1517259533; cv=none; d=google.com; s=arc-20160816; b=leEj+xtPHostgu43JQye6yU47VMIlZT/meDU9+9QyLliQkRStHn0aFTrEjHthz5a4A obBAUWHJL7p1R59qw6aed5gN83Zx1cVtP4jJVR6+IbeCsZeCL9pfKrPN5yMtjk33Asta UZZ7sLPFQ0xUoKHS+7bygyYQaSzXoZmpzYccPiRd59y3wIvsyOCvPDYQhA5v55MlY9G3 40RZsdBDw6G2eFR1/LO6fvfJL1tIVJj6c6xXkySlP779VH9HTzdJ+/pflP1bHE+19Okd ORipl53syoaYBp7q2ppk005f2iEyr2hWjOpxJ94Rxgw3jVywva9Fbpe58iBA/r5mDQjH 4nLQ== 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=irQHWKET4550IrFvvV3cl4b/tnS9u4iRt42nW6Gu77E=; b=MO6HGtqGKlF4LqtKxbbnHCSg6dK7go44hqkjAfEmA9ZVxAAMVlcPgqx0KE4E4jFOt7 HRMjgT4TmnHZ6cvH6RpyRFbLHQ2Q2OZViDW4eOkmX+zfEttGqhunR1BX3lTsQeMPOwh3 bDpSg0vXJBIkq9nTu+U0+0Rz01QNLhDXsMGsMEozMDofCG8ZTyU/PGUlODUgiQ4XwaIm nSgqDRmYPmw9UImm9RjdvgeA8bP6cL8aJfUqXMVWWcS3F7BNizy6CRSGxAQKnxw503IP qvmqvlilW0bLgQST88jendT/a6Nrlh8FOgXZKsKOf4U8y93hLb/pkSe3h6a+FGrzDfik Y4OA== 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 u19si11696473pfl.141.2018.01.29.12.58.39; Mon, 29 Jan 2018 12:58:53 -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 S1752126AbeA2U6S (ORCPT + 99 others); Mon, 29 Jan 2018 15:58:18 -0500 Received: from mail.linuxfoundation.org ([140.211.169.12]:54592 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752584AbeA2UJU (ORCPT ); Mon, 29 Jan 2018 15:09:20 -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 16E1C2FE2; Mon, 29 Jan 2018 13:08:03 +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 16/71] ARM: net: bpf: fix stack alignment Date: Mon, 29 Jan 2018 13:56:44 +0100 Message-Id: <20180129123828.376974192@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 d1220efd23484c72c82d5471f05daeb35b5d1916 upstream. As per 2dede2d8e925 ("ARM EABI: stack pointer must be 64-bit aligned after a CPU exception") the stack should be aligned to a 64-bit boundary on EABI systems. Ensure that the eBPF JIT appropraitely aligns the stack. Fixes: 39c13c204bb1 ("arm: eBPF JIT compiler") Signed-off-by: Russell King Signed-off-by: Greg Kroah-Hartman --- arch/arm/net/bpf_jit_32.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) --- a/arch/arm/net/bpf_jit_32.c +++ b/arch/arm/net/bpf_jit_32.c @@ -179,8 +179,13 @@ static void jit_fill_hole(void *area, un *ptr++ = __opcode_to_mem_arm(ARM_INST_UDF); } -/* Stack must be multiples of 16 Bytes */ -#define STACK_ALIGN(sz) (((sz) + 3) & ~3) +#if defined(CONFIG_AEABI) && (__LINUX_ARM_ARCH__ >= 5) +/* EABI requires the stack to be aligned to 64-bit boundaries */ +#define STACK_ALIGNMENT 8 +#else +/* Stack must be aligned to 32-bit boundaries */ +#define STACK_ALIGNMENT 4 +#endif /* Stack space for BPF_REG_2, BPF_REG_3, BPF_REG_4, * BPF_REG_5, BPF_REG_7, BPF_REG_8, BPF_REG_9, @@ -194,7 +199,7 @@ static void jit_fill_hole(void *area, un + SCRATCH_SIZE + \ + 4 /* extra for skb_copy_bits buffer */) -#define STACK_SIZE STACK_ALIGN(_STACK_SIZE) +#define STACK_SIZE ALIGN(_STACK_SIZE, STACK_ALIGNMENT) /* Get the offset of eBPF REGISTERs stored on scratch space. */ #define STACK_VAR(off) (STACK_SIZE-off-4)