Thread (152 messages) 152 messages, 21 authors, 2021-08-13

Re: [PATCH 01/64] media: omap3isp: Extract struct group for memcpy() region

From: Bart Van Assche <bvanassche@acm.org>
Date: 2021-07-28 21:37:29
Also in: dri-devel, linux-block, linux-hardening, linux-kbuild, linux-wireless, lkml, netdev

On 7/28/21 2:14 AM, Dan Carpenter wrote:
On Wed, Jul 28, 2021 at 10:59:22AM +0200, David Sterba wrote:
quoted
quoted
  drivers/media/platform/omap3isp/ispstat.c |  5 +--
  include/uapi/linux/omap3isp.h             | 44 +++++++++++++++++------
  2 files changed, 36 insertions(+), 13 deletions(-)
diff --git a/drivers/media/platform/omap3isp/ispstat.c b/drivers/media/platform/omap3isp/ispstat.c
index 5b9b57f4d9bf..ea8222fed38e 100644
--- a/drivers/media/platform/omap3isp/ispstat.c
+++ b/drivers/media/platform/omap3isp/ispstat.c
@@ -512,7 +512,7 @@ int omap3isp_stat_request_statistics(struct ispstat *stat,
  int omap3isp_stat_request_statistics_time32(struct ispstat *stat,
  					struct omap3isp_stat_data_time32 *data)
  {
-	struct omap3isp_stat_data data64;
+	struct omap3isp_stat_data data64 = { };
Should this be { 0 } ?

We've seen patches trying to switch from { 0 } to {  } but the answer
was that { 0 } is supposed to be used,
http://www.ex-parrot.com/~chris/random/initialise.html

(from https://lore.kernel.org/lkml/fbddb15a-6e46-3f21-23ba-b18f66e3448a@suse.com/ (local))
In the kernel we don't care about portability so much.  Use the = { }
GCC extension.  If the first member of the struct is a pointer then
Sparse will complain about = { 0 }.
+1 for { }. BTW, my understanding is that neither the C standard nor the 
C++ standard guarantee anything about initialization of padding bytes 
nor about the initialization of unnamed bitfields for stack variables 
when using aggregate initialization.

Bart.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help