[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <2421077.NG923GbCHz@camazotz>
Date: Mon, 10 Feb 2025 14:39:46 -0600
From: Elizabeth Figura <zfigura@...eweavers.com>
To: kernel test robot <lkp@...el.com>
Cc: oe-kbuild-all@...ts.linux.dev, linux-kernel@...r.kernel.org,
Arnd Bergmann <arnd@...db.de>
Subject:
Re: include/linux/thread_info.h:259:25: error: call to '__bad_copy_to'
declared with attribute error: copy destination size is too small
On Friday, 7 February 2025 06:11:47 CST kernel test robot wrote:
> In file included from include/linux/spinlock.h:60,
> from include/linux/wait.h:9,
> from include/linux/wait_bit.h:8,
> from include/linux/fs.h:6,
> from drivers/misc/ntsync.c:11:
> In function 'check_copy_size',
> inlined from 'copy_from_user' at include/linux/uaccess.h:207:7,
> inlined from 'setup_wait' at drivers/misc/ntsync.c:888:6:
> >> include/linux/thread_info.h:259:25: error: call to '__bad_copy_to' declared with attribute error: copy destination size is too small
> 259 | __bad_copy_to();
> | ^~~~~~~~~~~~~~~
This was caught before and mentioned in [1]. The suggestion there of changing "args->count" to "count" doesn't help.
Somehow gcc 12 thinks that the array_size(count, sizeof(*fds)) parameter is constant, although it's finnicky and depends on exactly where __builtin_constant_p() is evaluated.
The bug goes away with gcc 13. Is this worth trying to work around? I don't have any ideas for how to do so.
[1] https://lore.kernel.org/all/21811752-06d3-44cd-b3e6-f8124676df87@app.fastmail.com/
Powered by blists - more mailing lists