Re: Build failure with GCC 15 in drivers/gpu/drm/display/drm_dp_dual_mode_helper.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Oct 01, 2024 at 11:48:56AM +0530, Brahmajit wrote:
> On 01.10.2024 11:45, Brahmajit wrote:
> > While building the latest stable release with GCC 15 I'm getting an
> > build error with (I'm guessing) the drm module. This is probably due to
> > combination of GCC 15's introduction of a new warning
> > -Wunterminated-string-initialization, -Werror and -Wextra
> > 
> > In the drivers/gpu/drm/display/drm_dp_dual_mode_helper.c file there is a
> > code section on 163
> > 
> > static const char dp_dual_mode_hdmi_id[DP_DUAL_MODE_HDMI_ID_LEN] =
> > 	"DP-HDMI ADAPTOR\x04";
> > 
> > Its from the is_hdmi_adaptor() function.
> > I read a little about C strings and it seems like we are assigning more
> > than 16 characters to the array dp_dual_mode_hdmi_id, and
> > DP_DUAL_MODE_HDMI_ID_LEN is defined as 16.
> > 
> > I'm guessing this has something to do with how termination happens in
> > char array vs char* and/or null termination
> 
> Some references I found:
> - https://lore.kernel.org/linux-btrfs/5mnphkdvheudccjtiatrbjbkqtw54s2wkpeqevj3rqthdqlwyw@sjvn4wn52qki/
> - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115185

Looks like gcc is warning about perfectly legal code
(as far as the C standard goes).

But we could work around by adding room for the '\0' and
s/sizeof(...)/DP_DUAL_MODE_HDMI_ID_LEN/ in the memcmp().

-- 
Ville Syrjälä
Intel




[Index of Archives]     [Audio]     [Hams]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Fedora Users]

  Powered by Linux