lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <741263a9-2c59-c503-8fe3-0f80351890c5@kernel.dk>
Date:   Tue, 23 Mar 2021 07:40:24 -0600
From:   Jens Axboe <axboe@...nel.dk>
To:     Pavel Begunkov <asml.silence@...il.com>,
        kernel test robot <lkp@...el.com>
Cc:     kbuild-all@...ts.01.org, clang-built-linux@...glegroups.com,
        linux-kernel@...r.kernel.org
Subject: Re: fs/io_uring.c:6920:12: warning: stack frame size of 1040 bytes in
 function 'io_submit_sqes'

On 3/23/21 6:51 AM, Pavel Begunkov wrote:
> On 23/03/2021 11:31, kernel test robot wrote:
>> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
>> head:   84196390620ac0e5070ae36af84c137c6216a7dc
>> commit: e5d1bc0a91f16959aa279aa3ee9fdc246d4bb382 io_uring: defer flushing cached reqs
>> date:   6 weeks ago
>> config: powerpc64-randconfig-r023-20210323 (attached as .config)
>> compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 14696baaf4c43fe53f738bc292bbe169eed93d5d)
>> 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 powerpc64 cross compiling tool for clang build
>>         # apt-get install binutils-powerpc64-linux-gnu
>>         # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e5d1bc0a91f16959aa279aa3ee9fdc246d4bb382
>>         git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>>         git fetch --no-tags linus master
>>         git checkout e5d1bc0a91f16959aa279aa3ee9fdc246d4bb382
>>         # save the attached .config to linux build tree
>>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc64 
>>
>> If you fix the issue, kindly add following tag as appropriate
>> Reported-by: kernel test robot <lkp@...el.com>
>>
>> All warnings (new ones prefixed by >>):
>>
>>>> fs/io_uring.c:6920:12: warning: stack frame size of 1040 bytes in function 'io_submit_sqes' [-Wframe-larger-than=]
>>    static int io_submit_sqes(struct io_ring_ctx *ctx, unsigned int nr)
>>               ^
>>    1 warning generated. b
> 
> I don't know, for up-to-date code all submission functions are under
> 128 bytes for me, including io_submit_sqes with everything heavily
> inlined into it. I believe it's just a strange config keeping
> everything on stack for some reason (too under optimised?).

Must be the powerpc compiler doing something weird, it's probably
inlining io_submit_sqe() and all opcode handlers. And then you get
there pretty quick, eg io_recvmsg() uses 768 bytes of stack here.

-- 
Jens Axboe

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ