Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1681917
| From | Ard Biesheuvel <ard.biesheuvel@linaro.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [GIT PULL] gcc-plugins updates for v4.13-rc1 |
| Date | 2017-07-06 00:30 +0200 |
| Message-ID | <u00Y3-3WC-31@gated-at.bofh.it> (permalink) |
| References | (1 earlier) <tZXQu-1WT-19@gated-at.bofh.it> <tZZpg-2RM-19@gated-at.bofh.it> <u00bF-3nZ-33@gated-at.bofh.it> <u00lk-3rk-23@gated-at.bofh.it> <u00v1-3uT-29@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On 5 July 2017 at 22:56, Linus Torvalds <torvalds@linux-foundation.org> wrote: > On Wed, Jul 5, 2017 at 2:48 PM, Arnd Bergmann <arnd@arndb.de> wrote: >> >> This particular example should be handled by >> scripts/gcc-plugins/structleak_plugin.c, right? > > .. probably. But we have a ton of other uses that just pass in > "result" pointers (not structs), which admittedly don't have the > padding issue, but do have the exact same issue otherwise. > > We have those random "initialize to zero by hand", and I wouldn't > actually worry about most of the common cases. KASAN will find them > anyway. > > It tends to be the random odd ioctl-like things that nobody finds > because it's only uninitialized for some silly error case that never > triggers (or some unusual driver that needs to be loaded). > So it seems to me that what sets your example apart is that the address of an automatic variable is taken and passed to a function whose implementation may live in another compilation unit. So this goes beyond any inferences the compiler makes from the possible code flow about undefined behavior etc. The compiler already keeps track of which auto variables have their address taken, so it shouldn't be /that/ hard to come up with a plugin that zero initializes such variables before their address is taken if no such initialization is included in the code.
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[GIT PULL] gcc-plugins updates for v4.13-rc1 Kees Cook <keescook@chromium.org> - 2017-07-05 07:10 +0200
Re: [GIT PULL] gcc-plugins updates for v4.13-rc1 Linus Torvalds <torvalds@linux-foundation.org> - 2017-07-05 21:10 +0200
Re: [GIT PULL] gcc-plugins updates for v4.13-rc1 Ard Biesheuvel <ard.biesheuvel@linaro.org> - 2017-07-05 22:50 +0200
Re: [GIT PULL] gcc-plugins updates for v4.13-rc1 Linus Torvalds <torvalds@linux-foundation.org> - 2017-07-05 23:40 +0200
Re: [GIT PULL] gcc-plugins updates for v4.13-rc1 Arnd Bergmann <arnd@arndb.de> - 2017-07-05 23:50 +0200
Re: [GIT PULL] gcc-plugins updates for v4.13-rc1 Kees Cook <keescook@chromium.org> - 2017-07-06 00:00 +0200
Re: [GIT PULL] gcc-plugins updates for v4.13-rc1 Linus Torvalds <torvalds@linux-foundation.org> - 2017-07-06 00:00 +0200
Re: [GIT PULL] gcc-plugins updates for v4.13-rc1 Ard Biesheuvel <ard.biesheuvel@linaro.org> - 2017-07-06 00:30 +0200
Re: [GIT PULL] gcc-plugins updates for v4.13-rc1 Linus Torvalds <torvalds@linux-foundation.org> - 2017-07-06 00:40 +0200
Re: [GIT PULL] gcc-plugins updates for v4.13-rc1 Andrey Ryabinin <ryabinin.a.a@gmail.com> - 2017-07-06 00:50 +0200
Re: [GIT PULL] gcc-plugins updates for v4.13-rc1 Arnd Bergmann <arnd@arndb.de> - 2017-07-05 23:20 +0200
Re: [GIT PULL] gcc-plugins updates for v4.13-rc1 Kees Cook <keescook@chromium.org> - 2017-07-05 23:50 +0200
csiph-web