Received: by 10.223.185.116 with SMTP id b49csp1090708wrg; Fri, 23 Feb 2018 11:46:10 -0800 (PST) X-Google-Smtp-Source: AH8x226lOHAfBkT3sH3SVBGobQ1pc+sab64Tv3SKsOulCo5fwpy81GC0LDKie3cYOZliCuiTWcN3 X-Received: by 10.98.79.90 with SMTP id d87mr2795674pfb.41.1519415170420; Fri, 23 Feb 2018 11:46:10 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519415170; cv=none; d=google.com; s=arc-20160816; b=YYEDt3g/f5E7SZlgi4IAM8zgJR1JPCXqZ9gZHdFr3RwCevAubeFw0kFYnddpbnrt5x v9g/kyjwQJb/DXL00OsLUEgd6LkmoB8SvkMFbxjrBebNhg/Y22kZ9dgj4jFA9Z7c4/jl gkW+WpTuGbNUKpHnjRZRzlNJaghozf9iZUGw2zq9z/zsG3JFlxTJN8vV5LqzJITCG/du iX20JVQwyHYMnKL7K3rafw57XJyKFN7F01jX8f2OQT1wxaFla9Eiz8EAhy7poZdKdYmT b/tJ1IAkecwIMgvyVpwNBAnSRqlAUBDj7ebnxTf7ikKkHEg3603MsLoUd6m7qkUfr8eL qb6w== 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=X6d6H9slIPfBJfxQrUFj/fBmHirtlBERy75TLrvOOt0=; b=s3xN8aQ9srk1egSEc67BJPpJpMoW1Eo1D79vl2jkEEcM3CW7SFQ1Qk4tW45gwI4e4t UftIM5SjecLosdBU2cK4afV5RBDw8aEUjoAKNTaBBoX/u+aVHGLxA87IiLaMXtij7gJD xdSvQ7Z5EfHj0BW/PyVGCmNq8Y0UdXqRrB/RkT8JbHVaXrS/devmnI20f4JbluTBMnrb dHjtktvVAC/uH+H/HpZs/L6AtMdAp4sZvuIqYsH/enyNb5nLUcsFLOdBnyn23V6nolBY CIVxJ6PoY7mNZERsgz6GGrz2Wz1eo58vTOUaWCDt9jvtdiQB9sEm5P1ml8JGfeY0cFzp Uviw== 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 w5-v6si2174785plz.551.2018.02.23.11.45.55; Fri, 23 Feb 2018 11:46:10 -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 S934341AbeBWSsO (ORCPT + 99 others); Fri, 23 Feb 2018 13:48:14 -0500 Received: from mail.linuxfoundation.org ([140.211.169.12]:44822 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934018AbeBWSsM (ORCPT ); Fri, 23 Feb 2018 13:48:12 -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 5AFDF10A6; Fri, 23 Feb 2018 18:48:11 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Arnd Bergmann , "David S. Miller" Subject: [PATCH 4.9 131/145] ISDN: eicon: reduce stack size of sig_ind function Date: Fri, 23 Feb 2018 19:27:17 +0100 Message-Id: <20180223170741.706992588@linuxfoundation.org> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180223170724.669759283@linuxfoundation.org> References: <20180223170724.669759283@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review 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.9-stable review patch. If anyone has any objections, please let me know. ------------------ From: Arnd Bergmann commit 27d807180ae0a9e50d90adf9b22573c21be904c2 upstream. I noticed that this function uses a lot of kernel stack when the "latent entropy" plugin is enabled: drivers/isdn/hardware/eicon/message.c: In function 'sig_ind': drivers/isdn/hardware/eicon/message.c:6113:1: error: the frame size of 1168 bytes is larger than 1152 bytes [-Werror=frame-larger-than=] We currently don't warn about this, as we raise the warning limit to 2048 bytes in mainline, but I'd like to lower that limit again in the future, and this function can easily be changed to be more efficient and avoid that warning, by making some of its local variables 'const'. Signed-off-by: Arnd Bergmann Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- drivers/isdn/hardware/eicon/message.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) --- a/drivers/isdn/hardware/eicon/message.c +++ b/drivers/isdn/hardware/eicon/message.c @@ -147,7 +147,7 @@ static word plci_remove_check(PLCI *); static void listen_check(DIVA_CAPI_ADAPTER *); static byte AddInfo(byte **, byte **, byte *, byte *); static byte getChannel(API_PARSE *); -static void IndParse(PLCI *, word *, byte **, byte); +static void IndParse(PLCI *, const word *, byte **, byte); static byte ie_compare(byte *, byte *); static word find_cip(DIVA_CAPI_ADAPTER *, byte *, byte *); static word CPN_filter_ok(byte *cpn, DIVA_CAPI_ADAPTER *, word); @@ -4858,7 +4858,7 @@ static void sig_ind(PLCI *plci) /* included before the ESC_MSGTYPE and MAXPARMSIDS has to be incremented */ /* SMSG is situated at the end because its 0 (for compatibility reasons */ /* (see Info_Mask Bit 4, first IE. then the message type) */ - word parms_id[] = + static const word parms_id[] = {MAXPARMSIDS, CPN, 0xff, DSA, OSA, BC, LLC, HLC, ESC_CAUSE, DSP, DT, CHA, UUI, CONG_RR, CONG_RNR, ESC_CHI, KEY, CHI, CAU, ESC_LAW, RDN, RDX, CONN_NR, RIN, NI, CAI, ESC_CR, @@ -4866,12 +4866,12 @@ static void sig_ind(PLCI *plci) /* 14 FTY repl by ESC_CHI */ /* 18 PI repl by ESC_LAW */ /* removed OAD changed to 0xff for future use, OAD is multiIE now */ - word multi_fac_id[] = {1, FTY}; - word multi_pi_id[] = {1, PI}; - word multi_CiPN_id[] = {1, OAD}; - word multi_ssext_id[] = {1, ESC_SSEXT}; + static const word multi_fac_id[] = {1, FTY}; + static const word multi_pi_id[] = {1, PI}; + static const word multi_CiPN_id[] = {1, OAD}; + static const word multi_ssext_id[] = {1, ESC_SSEXT}; - word multi_vswitch_id[] = {1, ESC_VSWITCH}; + static const word multi_vswitch_id[] = {1, ESC_VSWITCH}; byte *cau; word ncci; @@ -8924,7 +8924,7 @@ static void listen_check(DIVA_CAPI_ADAPT /* functions for all parameters sent in INDs */ /*------------------------------------------------------------------*/ -static void IndParse(PLCI *plci, word *parms_id, byte **parms, byte multiIEsize) +static void IndParse(PLCI *plci, const word *parms_id, byte **parms, byte multiIEsize) { word ploc; /* points to current location within packet */ byte w;