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 --]
next 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.