From: Johan Hovold <johan@kernel.org>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
Johan Hovold <johan@kernel.org>,
Bernd Petrovitsch <bernd@petrovitsch.priv.at>,
"Du, Changbin" <changbin.du@intel.com>,
Steven Rostedt <rostedt@goodmis.org>,
gregkh@linuxfoundation.org, alex.elder@linaro.org,
kbuild test robot <lkp@intel.com>,
linux-arch@vger.kernel.org, michal.lkml@markovi.net,
linux-kernel@vger.kernel.org, arnd@arndb.de,
yamada.masahiro@socionext.com, lgirdwood@gmail.com,
broonie@kernel.org, rdunlap@infradead.org, x86@kernel.org,
linux@armlinux.org.uk, linux-sparse@vger.kernel.org,
mingo@redhat.com, kbuild-all@01.org, akpm@linux-foundation.org,
changbin.du@gmail.com, tglx@linutronix.de,
linux-kbuild@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v5 2/4] kernel hacking: new config NO_AUTO_INLINE to disable compiler auto-inline optimizations
Date: Thu, 7 Jun 2018 12:27:01 +0200 [thread overview]
Message-ID: <20180607102701.GU13775@localhost> (raw)
In-Reply-To: <314bb2b3-186e-d7b0-d800-f77a42fd80fa@linaro.org>
On Thu, Jun 07, 2018 at 05:12:51AM -0500, Alex Elder wrote:
> On 06/07/2018 04:19 AM, Viresh Kumar wrote:
> > On 07-06-18, 11:18, Johan Hovold wrote:
> >> If you want to work around the warning and think you can do it in some
> >> non-contrived way, then go for it.
> >>
> >> Clearing the request buffer, checking for termination using strnlen, and
> >> then using memcpy might not be too bad.
> >>
> >> But after all, it is a false positive, so leaving things as they stand
> >> is fine too.
> >
> > Leave it then :)
> >
>
> It's interesting that the warning isn't reported for this in
> fw_mgmt_interface_fw_version_operation(). The difference there is
> that you actually put a zero byte at that last position before
> returning. I'm mildly impressed if gcc is distinguishing that.
Found a redhat blog post claiming it does check for some cases like
that:
https://developers.redhat.com/blog/2018/05/24/detecting-string-truncation-with-gcc-8/
> You *are* returning the fw_info->firmware_tag array newly filled
> with a non-null-terminated string in one of the two cases that
> get warnings in "fw-management.c".
No, there's no warning for that one (line 250), and there fw_info is
used as the source, not the destination, so no unterminated string is
returned there either.
> But the other one is only
> updating a buffer in a local/automatic variable.
All three cases, except the one that is explicitly terminated.
> Weird. I wish there were a non-clumsy way of marking false positives
> like this as A-OK.
The gcc docs mentions an attribute for that but it seems a bit overkill
here.
Thanks,
Johan
WARNING: multiple messages have this Message-ID (diff)
From: Johan Hovold <johan@kernel.org>
To: Alex Elder <elder@linaro.org>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
Johan Hovold <johan@kernel.org>,
Bernd Petrovitsch <bernd@petrovitsch.priv.at>,
"Du, Changbin" <changbin.du@intel.com>,
Steven Rostedt <rostedt@goodmis.org>,
gregkh@linuxfoundation.org, alex.elder@linaro.org,
kbuild test robot <lkp@intel.com>,
linux-arch@vger.kernel.org, michal.lkml@markovi.net,
linux-kernel@vger.kernel.org, arnd@arndb.de,
yamada.masahiro@socionext.com, lgirdwood@gmail.com,
broonie@kernel.org, rdunlap@infradead.org, x86@kernel.org,
linux@armlinux.org.uk, linux-sparse@vger.kernel.org,
mingo@redhat.com, kbuild-all@01.org, akpm@linux-foundation.org,
changbin.du@gmail.com, tglx@linutronix.de,
linux-kbuild@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v5 2/4] kernel hacking: new config NO_AUTO_INLINE to disable compiler auto-inline optimizations
Date: Thu, 7 Jun 2018 12:27:01 +0200 [thread overview]
Message-ID: <20180607102701.GU13775@localhost> (raw)
Message-ID: <20180607102701.j3KySFrZPBUMCKvhd7d1MDOWzwhwxQRTQJ5-T0OAJRs@z> (raw)
In-Reply-To: <314bb2b3-186e-d7b0-d800-f77a42fd80fa@linaro.org>
On Thu, Jun 07, 2018 at 05:12:51AM -0500, Alex Elder wrote:
> On 06/07/2018 04:19 AM, Viresh Kumar wrote:
> > On 07-06-18, 11:18, Johan Hovold wrote:
> >> If you want to work around the warning and think you can do it in some
> >> non-contrived way, then go for it.
> >>
> >> Clearing the request buffer, checking for termination using strnlen, and
> >> then using memcpy might not be too bad.
> >>
> >> But after all, it is a false positive, so leaving things as they stand
> >> is fine too.
> >
> > Leave it then :)
> >
>
> It's interesting that the warning isn't reported for this in
> fw_mgmt_interface_fw_version_operation(). The difference there is
> that you actually put a zero byte at that last position before
> returning. I'm mildly impressed if gcc is distinguishing that.
Found a redhat blog post claiming it does check for some cases like
that:
https://developers.redhat.com/blog/2018/05/24/detecting-string-truncation-with-gcc-8/
> You *are* returning the fw_info->firmware_tag array newly filled
> with a non-null-terminated string in one of the two cases that
> get warnings in "fw-management.c".
No, there's no warning for that one (line 250), and there fw_info is
used as the source, not the destination, so no unterminated string is
returned there either.
> But the other one is only
> updating a buffer in a local/automatic variable.
All three cases, except the one that is explicitly terminated.
> Weird. I wish there were a non-clumsy way of marking false positives
> like this as A-OK.
The gcc docs mentions an attribute for that but it seems a bit overkill
here.
Thanks,
Johan
WARNING: multiple messages have this Message-ID (diff)
From: johan@kernel.org (Johan Hovold)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v5 2/4] kernel hacking: new config NO_AUTO_INLINE to disable compiler auto-inline optimizations
Date: Thu, 7 Jun 2018 12:27:01 +0200 [thread overview]
Message-ID: <20180607102701.GU13775@localhost> (raw)
In-Reply-To: <314bb2b3-186e-d7b0-d800-f77a42fd80fa@linaro.org>
On Thu, Jun 07, 2018 at 05:12:51AM -0500, Alex Elder wrote:
> On 06/07/2018 04:19 AM, Viresh Kumar wrote:
> > On 07-06-18, 11:18, Johan Hovold wrote:
> >> If you want to work around the warning and think you can do it in some
> >> non-contrived way, then go for it.
> >>
> >> Clearing the request buffer, checking for termination using strnlen, and
> >> then using memcpy might not be too bad.
> >>
> >> But after all, it is a false positive, so leaving things as they stand
> >> is fine too.
> >
> > Leave it then :)
> >
>
> It's interesting that the warning isn't reported for this in
> fw_mgmt_interface_fw_version_operation(). The difference there is
> that you actually put a zero byte at that last position before
> returning. I'm mildly impressed if gcc is distinguishing that.
Found a redhat blog post claiming it does check for some cases like
that:
https://developers.redhat.com/blog/2018/05/24/detecting-string-truncation-with-gcc-8/
> You *are* returning the fw_info->firmware_tag array newly filled
> with a non-null-terminated string in one of the two cases that
> get warnings in "fw-management.c".
No, there's no warning for that one (line 250), and there fw_info is
used as the source, not the destination, so no unterminated string is
returned there either.
> But the other one is only
> updating a buffer in a local/automatic variable.
All three cases, except the one that is explicitly terminated.
> Weird. I wish there were a non-clumsy way of marking false positives
> like this as A-OK.
The gcc docs mentions an attribute for that but it seems a bit overkill
here.
Thanks,
Johan
next prev parent reply other threads:[~2018-06-07 10:27 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-05 8:13 [RESEND PATCH v5 0/4] kernel hacking: GCC optimization for better debug experience (-Og) changbin.du
2018-06-05 8:13 ` changbin.du at intel.com
2018-06-05 8:13 ` [PATCH v5 1/4] x86/mm: surround level4_kernel_pgt with #ifdef CONFIG_X86_5LEVEL...#endif changbin.du
2018-06-05 8:13 ` changbin.du at intel.com
2018-06-05 8:13 ` [PATCH v5 2/4] kernel hacking: new config NO_AUTO_INLINE to disable compiler auto-inline optimizations changbin.du
2018-06-05 8:13 ` changbin.du at intel.com
2018-06-05 21:21 ` kbuild test robot
2018-06-05 21:21 ` kbuild test robot
2018-06-05 21:21 ` kbuild test robot
2018-06-05 21:21 ` kbuild test robot
2018-06-06 13:57 ` Steven Rostedt
2018-06-06 13:57 ` Steven Rostedt
2018-06-06 14:26 ` Johan Hovold
2018-06-06 14:26 ` Johan Hovold
2018-06-06 18:26 ` Steven Rostedt
2018-06-06 18:26 ` Steven Rostedt
2018-06-07 4:17 ` Viresh Kumar
2018-06-07 4:17 ` Viresh Kumar
2018-06-07 7:46 ` Du, Changbin
2018-06-07 7:46 ` Du, Changbin
2018-06-07 8:38 ` Viresh Kumar
2018-06-07 8:38 ` Viresh Kumar
2018-06-07 9:03 ` Bernd Petrovitsch
2018-06-07 9:03 ` Bernd Petrovitsch
2018-06-07 9:03 ` Bernd Petrovitsch
2018-06-07 9:10 ` Viresh Kumar
2018-06-07 9:10 ` Viresh Kumar
2018-06-07 9:18 ` Johan Hovold
2018-06-07 9:18 ` Johan Hovold
2018-06-07 9:19 ` Viresh Kumar
2018-06-07 9:19 ` Viresh Kumar
2018-06-07 10:12 ` Alex Elder
2018-06-07 10:12 ` Alex Elder
2018-06-07 10:27 ` Johan Hovold [this message]
2018-06-07 10:27 ` Johan Hovold
2018-06-07 10:27 ` Johan Hovold
2018-06-08 20:03 ` Steven Rostedt
2018-06-08 20:03 ` Steven Rostedt
2018-06-11 15:46 ` Johan Hovold
2018-06-11 15:46 ` Johan Hovold
2018-06-07 8:06 ` Johan Hovold
2018-06-07 8:06 ` Johan Hovold
2018-06-05 21:34 ` kbuild test robot
2018-06-05 21:34 ` kbuild test robot
2018-06-05 21:34 ` kbuild test robot
2018-06-05 21:34 ` kbuild test robot
2018-06-06 14:01 ` Steven Rostedt
2018-06-06 14:01 ` Steven Rostedt
2018-06-05 8:13 ` [PATCH v5 3/4] ARM: mm: fix build error in fix_to_virt with CONFIG_CC_OPTIMIZE_FOR_DEBUGGING changbin.du
2018-06-05 8:13 ` changbin.du at intel.com
2018-06-05 8:13 ` [PATCH v5 4/4] kernel hacking: new config CC_OPTIMIZE_FOR_DEBUGGING to apply GCC -Og optimization changbin.du
2018-06-05 8:13 ` changbin.du at intel.com
2018-06-10 10:44 ` kbuild test robot
2018-06-10 10:44 ` kbuild test robot
2018-06-10 10:44 ` kbuild test robot
2018-06-10 10:44 ` kbuild test robot
2018-06-10 15:49 ` kbuild test robot
2018-06-10 15:49 ` kbuild test robot
2018-06-10 15:49 ` kbuild test robot
2018-06-10 15:49 ` kbuild test robot
2018-06-11 16:00 ` Steven Rostedt
2018-06-11 16:00 ` Steven Rostedt
-- strict thread matches above, loose matches on Subject: below --
2018-05-11 8:09 [PATCH v5 0/4] kernel hacking: GCC optimization for better debug experience (-Og) changbin.du
2018-05-11 8:09 ` [PATCH v5 2/4] kernel hacking: new config NO_AUTO_INLINE to disable compiler auto-inline optimizations changbin.du
2018-05-17 15:49 ` kbuild test robot
2018-05-17 15:49 ` kbuild test robot
2018-05-17 15:49 ` kbuild test robot
2018-05-17 17:58 ` kbuild test robot
2018-05-17 17:58 ` kbuild test robot
2018-05-17 17:58 ` kbuild test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180607102701.GU13775@localhost \
--to=johan@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=alex.elder@linaro.org \
--cc=arnd@arndb.de \
--cc=bernd@petrovitsch.priv.at \
--cc=broonie@kernel.org \
--cc=changbin.du@gmail.com \
--cc=changbin.du@intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=kbuild-all@01.org \
--cc=lgirdwood@gmail.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sparse@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=lkp@intel.com \
--cc=michal.lkml@markovi.net \
--cc=mingo@redhat.com \
--cc=rdunlap@infradead.org \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
--cc=viresh.kumar@linaro.org \
--cc=x86@kernel.org \
--cc=yamada.masahiro@socionext.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.