linux-lvm.redhat.com archive mirror
 help / color / mirror / Atom feed
From: "heming.zhao@suse.com" <heming.zhao@suse.com>
To: Zdenek Kabelac <zkabelac@redhat.com>,
	LVM general discussion and development <linux-lvm@redhat.com>
Cc: dcermak@suse.com
Subject: Re: [linux-lvm] [PATCH] gcc: change zero-sized array to fexlible array
Date: Sat, 29 Aug 2020 11:11:42 +0800	[thread overview]
Message-ID: <4bb3e590-39f1-75e7-9000-03d1d3fc0e73@suse.com> (raw)
In-Reply-To: <80e36f4c-8193-1df5-41ad-e0caf42f6537@redhat.com>



On 8/29/20 3:32 AM, Zdenek Kabelac wrote:
> Dne 26. 08. 20 v 7:18 heming.zhao@suse.com napsal(a):
>> ping.
>>
>> @Marian & other maintainers
>>
>>
>> On 8/21/20 12:05 AM, Zhao Heming wrote:
>>> this patch makes gcc happy with compiling option: [-Wstringop-overflow=]
>>>
>>> Signed-off-by: Zhao Heming <heming.zhao@suse.com>
>>> ---
>>> �� device_mapper/libdm-common.c | 2 +-
>>> �� lib/activate/fs.c����������� | 2 +-
>>> �� libdm/libdm-common.c�������� | 2 +-
>>> �� 3 files changed, 3 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/device_mapper/libdm-common.c b/device_mapper/libdm-common.c
>>> index bc691d6..3627457 100644
>>> --- a/device_mapper/libdm-common.c
>>> +++ b/device_mapper/libdm-common.c
>>> @@ -1445,7 +1445,7 @@ struct node_op_parms {
>>> ������ char *old_name;
>>> ������ int warn_if_udev_failed;
>>> ������ unsigned rely_on_udev;
>>> -��� char names[0];
>>> +��� char names[];
>>> �� };
> 
> 
> Hi
> 
> Here I don't see much problem with patch itself - except it seems to be somewhat mysterious. Lvm2 is not strict ISO C compilable - there are far to many other things which would need to be fixed - thus flexible arrays shouldn't be an issue.
> 
> I'm curious why these 3 were important in your case - while other 26 appearances passed for you just fine (see attachment).
> 
> So can you paste what sort of gcc problem do you actually try to solve ?
> 
> Regards
> 
> Zdenek

These 3 zero-sized array blocked me to create lvm2 package for opensuse tumbleweed.
Opensuse uses OBS (open build service: https://openbuildservice.org/) to create rpm packages.
In my eyes, the OBS is black-box, it only showed these 3 warning and stopped building work.
So I filed patch only about these 3 places.

the build error just related with [-Wstringop-overflow=]
```
[   72s] In function 'strcpy',
[   72s]     inlined from '_store_str' at device_mapper/libdm-common.c:1453:2,
[   72s]     inlined from '_stack_node_op' at device_mapper/libdm-common.c:1589:2:
[   72s] /usr/include/bits/string_fortified.h:90:10: warning: '__builtin_strcpy' writing 1 or more bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
[   72s]    90 |   return __builtin___strcpy_chk (__dest, __src, __bos (__dest));
```

thanks,
heming

  reply	other threads:[~2020-08-29  3:11 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-20 16:05 [linux-lvm] [PATCH] gcc: change zero-sized array to fexlible array Zhao Heming
2020-08-20 16:08 ` heming.zhao
2020-08-26  5:18 ` heming.zhao
2020-08-28 19:32   ` Zdenek Kabelac
2020-08-29  3:11     ` heming.zhao [this message]
2020-09-02 15:22       ` Zdenek Kabelac
2020-09-03 14:58         ` heming.zhao

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=4bb3e590-39f1-75e7-9000-03d1d3fc0e73@suse.com \
    --to=heming.zhao@suse.com \
    --cc=dcermak@suse.com \
    --cc=linux-lvm@redhat.com \
    --cc=zkabelac@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).