* [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'
@ 2020-12-11 1:38 kernel test robot
2020-12-11 5:56 ` Greg Kroah-Hartman
0 siblings, 1 reply; 3+ messages in thread
From: kernel test robot @ 2020-12-11 1:38 UTC (permalink / raw)
To: kbuild-all
[-- 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 --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [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'
2020-12-11 1:38 [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' kernel test robot
@ 2020-12-11 5:56 ` Greg Kroah-Hartman
2020-12-12 8:31 ` Philip Li
0 siblings, 1 reply; 3+ messages in thread
From: Greg Kroah-Hartman @ 2020-12-11 5:56 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 255 bytes --]
On Fri, Dec 11, 2020 at 09:38:57AM +0800, kernel test robot wrote:
> tree: git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git ti-linux-5.4.y
Why are you emailing me about a random vendor-specific tree?
I can't do anything with it...
greg k-h
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [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'
2020-12-11 5:56 ` Greg Kroah-Hartman
@ 2020-12-12 8:31 ` Philip Li
0 siblings, 0 replies; 3+ messages in thread
From: Philip Li @ 2020-12-12 8:31 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 601 bytes --]
On Fri, Dec 11, 2020 at 06:56:44AM +0100, Greg Kroah-Hartman wrote:
> On Fri, Dec 11, 2020 at 09:38:57AM +0800, kernel test robot wrote:
> > tree: git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git ti-linux-5.4.y
>
> Why are you emailing me about a random vendor-specific tree?
Hi Greg, got it, we will check and resolve this as early as possible in
next week.
>
> I can't do anything with it...
>
> greg k-h
> _______________________________________________
> kbuild-all mailing list -- kbuild-all(a)lists.01.org
> To unsubscribe send an email to kbuild-all-leave(a)lists.01.org
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-12-12 8:31 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-11 1:38 [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' kernel test robot
2020-12-11 5:56 ` Greg Kroah-Hartman
2020-12-12 8:31 ` Philip Li
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.