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
| ||
|
Message-ID: <6a85bbbf952949118cc5f93b57d48265@AcuMS.aculab.com> Date: Sat, 25 Sep 2021 19:40:41 +0000 From: David Laight <David.Laight@...LAB.COM> To: 'Linus Torvalds' <torvalds@...ux-foundation.org>, Alexey Dobriyan <adobriyan@...il.com> CC: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>, Joe Perches <joe@...ches.com>, Andrew Morton <akpm@...ux-foundation.org>, "apw@...onical.com" <apw@...onical.com>, Christoph Lameter <cl@...ux.com>, Daniel Micay <danielmicay@...il.com>, Dennis Zhou <dennis@...nel.org>, "dwaipayanray1@...il.com" <dwaipayanray1@...il.com>, Joonsoo Kim <iamjoonsoo.kim@....com>, Linux-MM <linux-mm@...ck.org>, Lukas Bulwahn <lukas.bulwahn@...il.com>, "mm-commits@...r.kernel.org" <mm-commits@...r.kernel.org>, Nathan Chancellor <nathan@...nel.org>, "Nick Desaulniers" <ndesaulniers@...gle.com>, Miguel Ojeda <ojeda@...nel.org>, "Pekka Enberg" <penberg@...nel.org>, David Rientjes <rientjes@...gle.com>, Tejun Heo <tj@...nel.org>, Vlastimil Babka <vbabka@...e.cz>, "open list:DOCUMENTATION" <linux-doc@...r.kernel.org> Subject: RE: function prototype element ordering From: Linus Torvalds > Sent: 22 September 2021 22:16 ... > We don't put function return types on their own lines either, even if > some other projects have that rule (just to get function names at the > beginning of lines or some other odd reason). If the function name starts at the beginning of a line it is much easier to grep for the definition. Trying to find function definitions in the Linux kernel tree is a PITA - unless they are exported when 'EXPORT.*(function_name)' will tend to work. Trying to compile: static int x(int y) __attribute__((section("x"))) { return y;} with gcc generates "error: attributes are not allowed on a function-definition". Putting the attribute anywhere before the function name works fine. gcc probably accepts: __inline static __inline int __inline x(void) {return 0;} So any of those locations is plausible. But after the arguments isn't allowed. So an (extern) function declaration probably should not put them there - if only for consistency. I think I'd go for 'first' - optionally on their own line. David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)
Powered by blists - more mailing lists