All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [ti:ti-linux-5.4.y 1/1] net/hsr/hsr_forward.c:521:13: warning: stack frame size of 1664 bytes in function 'hsr_forward_do'
Date: Fri, 11 Dec 2020 09:38:57 +0800	[thread overview]
Message-ID: <202012110950.vF6h5mLH-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 10030 bytes --]

tree:   git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git ti-linux-5.4.y
head:   2bdb7c08718889073030390a1662111cd93df3fa
commit: 2bdb7c08718889073030390a1662111cd93df3fa [1/1] Merge tag 'v5.4.54' of http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable into ti-linux-5.4.y
config: mips-randconfig-r026-20201209 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 1968804ac726e7674d5de22bc2204b45857da344)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install mips cross compiling tool for clang build
        # apt-get install binutils-mips-linux-gnu
        git remote add ti git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git
        git fetch --no-tags ti ti-linux-5.4.y
        git checkout 2bdb7c08718889073030390a1662111cd93df3fa
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=mips 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

>> net/hsr/hsr_forward.c:521:13: warning: stack frame size of 1664 bytes in function 'hsr_forward_do' [-Wframe-larger-than=]
   static void hsr_forward_do(struct hsr_frame_info *frame)
               ^
   1 warning generated.

vim +/hsr_forward_do +521 net/hsr/hsr_forward.c

514cdd7471ff78 WingMan Kwok     2018-02-22  508  
f266a683a4804d Arvid Brodin     2014-07-04  509  /* Forward the frame through all devices except:
f266a683a4804d Arvid Brodin     2014-07-04  510   * - Back through the receiving device
f266a683a4804d Arvid Brodin     2014-07-04  511   * - If it's a HSR frame: through a device where it has passed before
cec32b3c120970 Murali Karicheri 2020-06-02  512   * - if it's a PRP frame: through another PRP slave device (no bridge)
f266a683a4804d Arvid Brodin     2014-07-04  513   * - To the local HSR master only if the frame is directly addressed to it, or
f266a683a4804d Arvid Brodin     2014-07-04  514   *   a non-supervision multicast or broadcast frame.
f266a683a4804d Arvid Brodin     2014-07-04  515   *
f266a683a4804d Arvid Brodin     2014-07-04  516   * HSR slave devices should insert a HSR tag into the frame, or forward the
f266a683a4804d Arvid Brodin     2014-07-04  517   * frame unchanged if it's already tagged. Interlink devices should strip HSR
f266a683a4804d Arvid Brodin     2014-07-04  518   * tags if they're of the non-HSR type (but only after duplicate discard). The
f266a683a4804d Arvid Brodin     2014-07-04  519   * master device always strips HSR tags.
f266a683a4804d Arvid Brodin     2014-07-04  520   */
f266a683a4804d Arvid Brodin     2014-07-04 @521  static void hsr_forward_do(struct hsr_frame_info *frame)
f266a683a4804d Arvid Brodin     2014-07-04  522  {
f266a683a4804d Arvid Brodin     2014-07-04  523  	struct hsr_port *port;
cec32b3c120970 Murali Karicheri 2020-06-02  524  	struct sk_buff *skb = NULL;
514cdd7471ff78 WingMan Kwok     2018-02-22  525  	unsigned int dir_ports = 0;
f266a683a4804d Arvid Brodin     2014-07-04  526  
f266a683a4804d Arvid Brodin     2014-07-04  527  	hsr_for_each_port(frame->port_rcv->hsr, port) {
f266a683a4804d Arvid Brodin     2014-07-04  528  		/* Don't send frame back the way it came */
f266a683a4804d Arvid Brodin     2014-07-04  529  		if (port == frame->port_rcv)
f266a683a4804d Arvid Brodin     2014-07-04  530  			continue;
f266a683a4804d Arvid Brodin     2014-07-04  531  
f266a683a4804d Arvid Brodin     2014-07-04  532  		/* Don't deliver locally unless we should */
5670342ced28b8 Murali Karicheri 2019-04-05  533  		if (port->type == HSR_PT_MASTER && !frame->is_local_dest)
f266a683a4804d Arvid Brodin     2014-07-04  534  			continue;
f266a683a4804d Arvid Brodin     2014-07-04  535  
f266a683a4804d Arvid Brodin     2014-07-04  536  		/* Deliver frames directly addressed to us to master only */
5670342ced28b8 Murali Karicheri 2019-04-05  537  		if (port->type != HSR_PT_MASTER && frame->is_local_exclusive)
f266a683a4804d Arvid Brodin     2014-07-04  538  			continue;
f266a683a4804d Arvid Brodin     2014-07-04  539  
cec32b3c120970 Murali Karicheri 2020-06-02  540  		/* Don't send frame over port where it has been sent before.
dc8c14dea9d6ec Murali Karicheri 2020-06-18  541  		 * Also if rx LRE is offloaded, hardware does duplication
dc8c14dea9d6ec Murali Karicheri 2020-06-18  542  		 * detection and discard and send only one copy to the upper
dc8c14dea9d6ec Murali Karicheri 2020-06-18  543  		 * device and thus discard duplicate detection. For PRP, frame
dc8c14dea9d6ec Murali Karicheri 2020-06-18  544  		 * could be from a SAN for which bypass duplicate discard here.
cec32b3c120970 Murali Karicheri 2020-06-02  545  		 */
dc8c14dea9d6ec Murali Karicheri 2020-06-18  546  		if (!port->hsr->rx_offloaded && !frame->is_from_san &&
cec32b3c120970 Murali Karicheri 2020-06-02  547  		    hsr_register_frame_out(port, frame->node_src,
f266a683a4804d Arvid Brodin     2014-07-04  548  					   frame->sequence_nr))
f266a683a4804d Arvid Brodin     2014-07-04  549  			continue;
f266a683a4804d Arvid Brodin     2014-07-04  550  
dc8c14dea9d6ec Murali Karicheri 2020-06-18  551  		/* In LRE offloaded case, don't expect supervision frames from
dc8c14dea9d6ec Murali Karicheri 2020-06-18  552  		 * slave ports for host as they get processed at the h/w or
dc8c14dea9d6ec Murali Karicheri 2020-06-18  553  		 * firmware.
dc8c14dea9d6ec Murali Karicheri 2020-06-18  554  		 */
dc8c14dea9d6ec Murali Karicheri 2020-06-18  555  		if (frame->is_supervision &&
dc8c14dea9d6ec Murali Karicheri 2020-06-18  556  		    port->type == HSR_PT_MASTER && !port->hsr->rx_offloaded) {
cec32b3c120970 Murali Karicheri 2020-06-02  557  			if (frame->skb_hsr)
cec32b3c120970 Murali Karicheri 2020-06-02  558  				skb = frame->skb_hsr;
cec32b3c120970 Murali Karicheri 2020-06-02  559  			else if (frame->skb_prp)
cec32b3c120970 Murali Karicheri 2020-06-02  560  				skb = frame->skb_prp;
cec32b3c120970 Murali Karicheri 2020-06-02  561  			if (skb)
cec32b3c120970 Murali Karicheri 2020-06-02  562  				hsr_handle_sup_frame(skb, frame->node_src,
f266a683a4804d Arvid Brodin     2014-07-04  563  						     frame->port_rcv);
f266a683a4804d Arvid Brodin     2014-07-04  564  			continue;
f266a683a4804d Arvid Brodin     2014-07-04  565  		}
f266a683a4804d Arvid Brodin     2014-07-04  566  
dc8c14dea9d6ec Murali Karicheri 2020-06-18  567  		/* if L2 forward is offloaded, or protocol is PRP,
dc8c14dea9d6ec Murali Karicheri 2020-06-18  568  		 * don't forward frame across slaves.
dc8c14dea9d6ec Murali Karicheri 2020-06-18  569  		 */
dc8c14dea9d6ec Murali Karicheri 2020-06-18  570  		if ((port->hsr->l2_fwd_offloaded ||
dc8c14dea9d6ec Murali Karicheri 2020-06-18  571  		     port->hsr->prot_version == PRP_V1) &&
cec32b3c120970 Murali Karicheri 2020-06-02  572  		     ((frame->port_rcv->type == HSR_PT_SLAVE_A &&
cec32b3c120970 Murali Karicheri 2020-06-02  573  		     port->type ==  HSR_PT_SLAVE_B) ||
cec32b3c120970 Murali Karicheri 2020-06-02  574  		     (frame->port_rcv->type == HSR_PT_SLAVE_B &&
cec32b3c120970 Murali Karicheri 2020-06-02  575  		     port->type ==  HSR_PT_SLAVE_A)))
cec32b3c120970 Murali Karicheri 2020-06-02  576  			continue;
cec32b3c120970 Murali Karicheri 2020-06-02  577  
514cdd7471ff78 WingMan Kwok     2018-02-22  578  		dir_ports = hsr_directed_tx_ports(frame);
514cdd7471ff78 WingMan Kwok     2018-02-22  579  		if (dir_ports && !(dir_ports & BIT(port->type - 1)))
514cdd7471ff78 WingMan Kwok     2018-02-22  580  			continue;
514cdd7471ff78 WingMan Kwok     2018-02-22  581  
be083ff10713c5 WingMan Kwok     2018-02-16  582  		if (port->type != HSR_PT_MASTER) {
f266a683a4804d Arvid Brodin     2014-07-04  583  			skb = frame_get_tagged_skb(frame, port);
be083ff10713c5 WingMan Kwok     2018-02-16  584  		} else {
f266a683a4804d Arvid Brodin     2014-07-04  585  			skb = frame_get_stripped_skb(frame, port);
cec32b3c120970 Murali Karicheri 2020-06-02  586  
be083ff10713c5 WingMan Kwok     2018-02-16  587  			stripped_skb_get_shared_info(skb, frame);
be083ff10713c5 WingMan Kwok     2018-02-16  588  		}
be083ff10713c5 WingMan Kwok     2018-02-16  589  
05ca6e644dc9b7 Murali Karicheri 2019-04-05  590  		if (!skb) {
cec32b3c120970 Murali Karicheri 2020-06-02  591  			frame->port_rcv->dev->stats.rx_dropped++;
b76331be31438e Murali Karicheri 2020-06-18  592  			if (frame->port_rcv->type == HSR_PT_SLAVE_A ||
b76331be31438e Murali Karicheri 2020-06-18  593  			    frame->port_rcv->type ==  HSR_PT_SLAVE_B)
dc8c14dea9d6ec Murali Karicheri 2020-06-18  594  				INC_CNT_RX_ERROR_AB(frame->port_rcv->type,
b76331be31438e Murali Karicheri 2020-06-18  595  						    port->hsr);
f266a683a4804d Arvid Brodin     2014-07-04  596  			continue;
f266a683a4804d Arvid Brodin     2014-07-04  597  		}
f266a683a4804d Arvid Brodin     2014-07-04  598  
f266a683a4804d Arvid Brodin     2014-07-04  599  		skb->dev = port->dev;
f266a683a4804d Arvid Brodin     2014-07-04  600  		if (port->type == HSR_PT_MASTER)
dc8c14dea9d6ec Murali Karicheri 2020-06-18  601  			hsr_deliver_master(skb, frame->node_src, port);
f266a683a4804d Arvid Brodin     2014-07-04  602  		else
f266a683a4804d Arvid Brodin     2014-07-04  603  			hsr_xmit(skb, port, frame);
f266a683a4804d Arvid Brodin     2014-07-04  604  	}
f266a683a4804d Arvid Brodin     2014-07-04  605  }
f266a683a4804d Arvid Brodin     2014-07-04  606  

:::::: The code at line 521 was first introduced by commit
:::::: f266a683a4804dc499efc6c2206ef68efed029d0 net/hsr: Better frame dispatch

:::::: TO: Arvid Brodin <arvid.brodin@alten.se>
:::::: CC: David S. Miller <davem@davemloft.net>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 23666 bytes --]

             reply	other threads:[~2020-12-11  1:38 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-11  1:38 kernel test robot [this message]
2020-12-11  5:56 ` [ti:ti-linux-5.4.y 1/1] net/hsr/hsr_forward.c:521:13: warning: stack frame size of 1664 bytes in function 'hsr_forward_do' Greg Kroah-Hartman
2020-12-12  8:31   ` Philip Li

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202012110950.vF6h5mLH-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.