From patchwork Mon Jun 19 18:29:20 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Willy Tarreau X-Patchwork-Id: 105924 Delivered-To: patch@linaro.org Received: by 10.140.91.2 with SMTP id y2csp1032503qgd; Mon, 19 Jun 2017 12:37:18 -0700 (PDT) X-Received: by 10.84.217.198 with SMTP id d6mr6231207plj.45.1497901037965; Mon, 19 Jun 2017 12:37:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1497901037; cv=none; d=google.com; s=arc-20160816; b=X5ts+qsRw3jZnOkCHeQ6i6vmnchCTR4wBIwXAoSmzWPHh8nEXqsrPLk+z59EIz9MrH K6WuHKaJUGVLglhVYifz6zEpxMc40379tASsbGyAD1O+e222SQVa5A5qgk2tN0qE6Lyk wRwFvqxaCBgnKSufdyTwki+KDr0Y89/OmtXMqEUdMCnIqEKJztubJdDDYWWGySNx2BSu spWi+BNZ1YBD/8X88j0yje6JOt0h+qZsj//w8QzCVEaaqnkJTlIulT9uBcAS0FIX21cC 0bZJ6QSIblvEyXvO4685sCHWTMwqreKBOKBY7af53lR/WwrmkWlMPFZvDEreNOOLvQbw B3Vw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=mcznW+5ffmVR8kJiTiRWEygJtQJg/BIbySFmNB/wLc0=; b=qo3FPCQ3nztQwk799hGq2+nQmI+nDYsVtLW6LNiAxYHNLtVRMD62igd/gUZZGHz4Jl oRA7sopE2Xc2F0LZ4vNV7r2ZlaqnzkeheHrg9/hC4V5OCqU3NbXNrEiIOzwb+YX+rENo XunAxVTeXRhFHqW7IRsx5OHYw+NVugzfCE7rf3CsNCsbQEEBFzbD0QmQSEmCd3EFinFk Gw0n6J8irSFynTGVuayal2GKuymqwz1/bsf6s07/IWsKprQosnWoluPlgwpsbbpbvjda BMyuboiekGw1Ukvv9eoPwdjYnH/OnkHfukN566pVm++3a4nAelXVqPCYopRWWqKd8F6O nP/w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-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 u195si2394058pgc.412.2017.06.19.12.37.17; Mon, 19 Jun 2017 12:37:17 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of stable-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 stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752642AbdFSThQ (ORCPT + 6 others); Mon, 19 Jun 2017 15:37:16 -0400 Received: from wtarreau.pck.nerim.net ([62.212.114.60]:51851 "EHLO 1wt.eu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752486AbdFSSec (ORCPT ); Mon, 19 Jun 2017 14:34:32 -0400 Received: (from willy@localhost) by pcw.home.local (8.15.2/8.15.2/Submit) id v5JIX9s8014927; Mon, 19 Jun 2017 20:33:09 +0200 From: Willy Tarreau To: linux-kernel@vger.kernel.org, stable@vger.kernel.org, linux@roeck-us.net Cc: Julien Grall , Stefano Stabellini , Jiri Slaby , Willy Tarreau Subject: [PATCH 3.10 061/268] arm/xen: Use alloc_percpu rather than __alloc_percpu Date: Mon, 19 Jun 2017 20:29:20 +0200 Message-Id: <1497897167-14556-62-git-send-email-w@1wt.eu> X-Mailer: git-send-email 2.8.0.rc2.1.gbe9624a In-Reply-To: <1497897167-14556-1-git-send-email-w@1wt.eu> References: <1497897167-14556-1-git-send-email-w@1wt.eu> Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Julien Grall commit 24d5373dda7c00a438d26016bce140299fae675e upstream. The function xen_guest_init is using __alloc_percpu with an alignment which are not power of two. However, the percpu allocator never supported alignments which are not power of two and has always behaved incorectly in thise case. Commit 3ca45a4 "percpu: ensure requested alignment is power of two" introduced a check which trigger a warning [1] when booting linux-next on Xen. But in reality this bug was always present. This can be fixed by replacing the call to __alloc_percpu with alloc_percpu. The latter will use an alignment which are a power of two. [1] [ 0.023921] illegal size (48) or align (48) for percpu allocation [ 0.024167] ------------[ cut here ]------------ [ 0.024344] WARNING: CPU: 0 PID: 1 at linux/mm/percpu.c:892 pcpu_alloc+0x88/0x6c0 [ 0.024584] Modules linked in: [ 0.024708] [ 0.024804] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.9.0-rc7-next-20161128 #473 [ 0.025012] Hardware name: Foundation-v8A (DT) [ 0.025162] task: ffff80003d870000 task.stack: ffff80003d844000 [ 0.025351] PC is at pcpu_alloc+0x88/0x6c0 [ 0.025490] LR is at pcpu_alloc+0x88/0x6c0 [ 0.025624] pc : [] lr : [] pstate: 60000045 [ 0.025830] sp : ffff80003d847cd0 [ 0.025946] x29: ffff80003d847cd0 x28: 0000000000000000 [ 0.026147] x27: 0000000000000000 x26: 0000000000000000 [ 0.026348] x25: 0000000000000000 x24: 0000000000000000 [ 0.026549] x23: 0000000000000000 x22: 00000000024000c0 [ 0.026752] x21: ffff000008e97000 x20: 0000000000000000 [ 0.026953] x19: 0000000000000030 x18: 0000000000000010 [ 0.027155] x17: 0000000000000a3f x16: 00000000deadbeef [ 0.027357] x15: 0000000000000006 x14: ffff000088f79c3f [ 0.027573] x13: ffff000008f79c4d x12: 0000000000000041 [ 0.027782] x11: 0000000000000006 x10: 0000000000000042 [ 0.027995] x9 : ffff80003d847a40 x8 : 6f697461636f6c6c [ 0.028208] x7 : 6120757063726570 x6 : ffff000008f79c84 [ 0.028419] x5 : 0000000000000005 x4 : 0000000000000000 [ 0.028628] x3 : 0000000000000000 x2 : 000000000000017f [ 0.028840] x1 : ffff80003d870000 x0 : 0000000000000035 [ 0.029056] [ 0.029152] ---[ end trace 0000000000000000 ]--- [ 0.029297] Call trace: [ 0.029403] Exception stack(0xffff80003d847b00 to 0xffff80003d847c30) [ 0.029621] 7b00: 0000000000000030 0001000000000000 ffff80003d847cd0 ffff00000818e678 [ 0.029901] 7b20: 0000000000000002 0000000000000004 ffff000008f7c060 0000000000000035 [ 0.030153] 7b40: ffff000008f79000 ffff000008c4cd88 ffff80003d847bf0 ffff000008101778 [ 0.030402] 7b60: 0000000000000030 0000000000000000 ffff000008e97000 00000000024000c0 [ 0.030647] 7b80: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 [ 0.030895] 7ba0: 0000000000000035 ffff80003d870000 000000000000017f 0000000000000000 [ 0.031144] 7bc0: 0000000000000000 0000000000000005 ffff000008f79c84 6120757063726570 [ 0.031394] 7be0: 6f697461636f6c6c ffff80003d847a40 0000000000000042 0000000000000006 [ 0.031643] 7c00: 0000000000000041 ffff000008f79c4d ffff000088f79c3f 0000000000000006 [ 0.031877] 7c20: 00000000deadbeef 0000000000000a3f [ 0.032051] [] pcpu_alloc+0x88/0x6c0 [ 0.032229] [] __alloc_percpu+0x18/0x20 [ 0.032409] [] xen_guest_init+0x174/0x2f4 [ 0.032591] [] do_one_initcall+0x38/0x130 [ 0.032783] [] kernel_init_freeable+0xe0/0x248 [ 0.032995] [] kernel_init+0x10/0x100 [ 0.033172] [] ret_from_fork+0x10/0x50 Reported-by: Wei Chen Link: https://lkml.org/lkml/2016/11/28/669 Signed-off-by: Julien Grall Signed-off-by: Stefano Stabellini Reviewed-by: Stefano Stabellini Signed-off-by: Jiri Slaby Signed-off-by: Willy Tarreau --- arch/arm/xen/enlighten.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -- 2.8.0.rc2.1.gbe9624a diff --git a/arch/arm/xen/enlighten.c b/arch/arm/xen/enlighten.c index 81edd31..810ae2d 100644 --- a/arch/arm/xen/enlighten.c +++ b/arch/arm/xen/enlighten.c @@ -258,8 +258,7 @@ static int __init xen_guest_init(void) * for secondary CPUs as they are brought up. * For uniformity we use VCPUOP_register_vcpu_info even on cpu0. */ - xen_vcpu_info = __alloc_percpu(sizeof(struct vcpu_info), - sizeof(struct vcpu_info)); + xen_vcpu_info = alloc_percpu(struct vcpu_info); if (xen_vcpu_info == NULL) return -ENOMEM; From patchwork Mon Jun 19 18:30:29 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Willy Tarreau X-Patchwork-Id: 105907 Delivered-To: patch@linaro.org Received: by 10.140.91.2 with SMTP id y2csp1008501qgd; Mon, 19 Jun 2017 11:34:39 -0700 (PDT) X-Received: by 10.99.127.76 with SMTP id p12mr18222590pgn.258.1497897279216; Mon, 19 Jun 2017 11:34:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1497897279; cv=none; d=google.com; s=arc-20160816; b=gfrPOsuMarog6IcgIPIarMYS5a1fIfaQFXeih1p+Xj+mjz94gy9iCuI2r9//GVt5Sr 01o0vGiYx5ipKLZppcr3+8clPqvnXjrbGiWK7cjiCSVXf4Jr0cWgPfo+lnAD0/uNjnDP JbKF7uHoM+yokIwvMQ9J3bo9lZ9hKDmYi62WxnhnaE568hY9xa7nEJLFNU1aNxjyWCpx nLmb7w0bRcsbSmPTWvbDLJ0PBOQ2l6hFzHhz7vgZnhpoV7x3fQ2Lh5JAvtt2XNOn8N+6 wqNA2rUdF+ulnEtcseNkvb/2T+edTRl5kxG5oF9xkBrLFw/lesBEh/hlfhTYF9XdPLIv C+fg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=QoTQgCcfApymFalZ8RCxh4mRP1AMox5d6GO4viBJ3w0=; b=PbTpy2l0OU/SsJXWgo9it0tX5Gl7gibJQp2IZwrDF1MVEW6nFa/L3oxVtrL/mMf6b+ Im/E7b2LAngpcL9CAhBXGRGJWzs7mwApm9eY8CL0LewCe9W+5ufjWeMcm0xPQxA+KDls TV4Xjge3LX30Q/swlAHbwJlcccEd22jVJ2yxq361XFi4QyZyX/Brp9Nw3vRzQ+PPfoXh 1JFCYZ4aMf+rHxS5D0drYOZ4Zh5iEb1VMpIfXomHmCAnBwo9o9ERDRK0+zolrmIKzb2L PcYtY2cTpZt5lQaJcXaVzh0/iko87U3vt++BEh7h2ic11RchSThLPWjNsLzvBoa8be0Q vO/Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-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 a23si8996991pgd.594.2017.06.19.11.34.38; Mon, 19 Jun 2017 11:34:39 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of stable-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 stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751434AbdFSSeg (ORCPT + 6 others); Mon, 19 Jun 2017 14:34:36 -0400 Received: from wtarreau.pck.nerim.net ([62.212.114.60]:51858 "EHLO 1wt.eu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750987AbdFSSee (ORCPT ); Mon, 19 Jun 2017 14:34:34 -0400 Received: (from willy@localhost) by pcw.home.local (8.15.2/8.15.2/Submit) id v5JIXSPA014996; Mon, 19 Jun 2017 20:33:28 +0200 From: Willy Tarreau To: linux-kernel@vger.kernel.org, stable@vger.kernel.org, linux@roeck-us.net Cc: Arnd Bergmann , "David S . Miller" , Willy Tarreau Subject: [PATCH 3.10 130/268] ISDN: eicon: silence misleading array-bounds warning Date: Mon, 19 Jun 2017 20:30:29 +0200 Message-Id: <1497897167-14556-131-git-send-email-w@1wt.eu> X-Mailer: git-send-email 2.8.0.rc2.1.gbe9624a In-Reply-To: <1497897167-14556-1-git-send-email-w@1wt.eu> References: <1497897167-14556-1-git-send-email-w@1wt.eu> Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Arnd Bergmann commit 950eabbd6ddedc1b08350b9169a6a51b130ebaaf upstream. With some gcc versions, we get a warning about the eicon driver, and that currently shows up as the only remaining warning in one of the build bots: In file included from ../drivers/isdn/hardware/eicon/message.c:30:0: eicon/message.c: In function 'mixer_notify_update': eicon/platform.h:333:18: warning: array subscript is above array bounds [-Warray-bounds] The code is easily changed to open-code the unusual PUT_WORD() line causing this to avoid the warning. Link: http://arm-soc.lixom.net/buildlogs/stable-rc/v4.4.45/ Signed-off-by: Arnd Bergmann Signed-off-by: David S. Miller Signed-off-by: Willy Tarreau --- drivers/isdn/hardware/eicon/message.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -- 2.8.0.rc2.1.gbe9624a diff --git a/drivers/isdn/hardware/eicon/message.c b/drivers/isdn/hardware/eicon/message.c index a82e542..fecbf1d2 100644 --- a/drivers/isdn/hardware/eicon/message.c +++ b/drivers/isdn/hardware/eicon/message.c @@ -11304,7 +11304,8 @@ static void mixer_notify_update(PLCI *plci, byte others) ((CAPI_MSG *) msg)->header.ncci = 0; ((CAPI_MSG *) msg)->info.facility_req.Selector = SELECTOR_LINE_INTERCONNECT; ((CAPI_MSG *) msg)->info.facility_req.structs[0] = 3; - PUT_WORD(&(((CAPI_MSG *) msg)->info.facility_req.structs[1]), LI_REQ_SILENT_UPDATE); + ((CAPI_MSG *) msg)->info.facility_req.structs[1] = LI_REQ_SILENT_UPDATE & 0xff; + ((CAPI_MSG *) msg)->info.facility_req.structs[2] = LI_REQ_SILENT_UPDATE >> 8; ((CAPI_MSG *) msg)->info.facility_req.structs[3] = 0; w = api_put(notify_plci->appl, (CAPI_MSG *) msg); if (w != _QUEUE_FULL)