lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <s5hporavovt.wl-tiwai@suse.de>
Date:	Tue, 21 Jun 2016 12:04:54 +0200
From:	Takashi Iwai <tiwai@...e.de>
To:	高峰 <fgao@...ai8.com>
Cc:	<alsa-devel@...a-project.org>, <perex@...ex.cz>,
	<linux-kernel@...r.kernel.org>, <gfree.wind@...il.com>
Subject: Re: 答复: 答复: 答复: [PATCH 1/1] sound:
 Fix compile error of seq_device.c

On Tue, 21 Jun 2016 11:57:28 +0200,
高峰 wrote:
> 
> Oh, I get it.
> 
> I met the compile error when compile the kernel 3.10 on CentOS7 and fix it, then I find the seq_device of upstream is same.
> So I thought it should be fixed.
> 
> OK. Let me compile the upstream codes on CentOS7 again.

Well, I see a potential problem even in the upstream, but it's only
when CONFIG_LTO is set.  However, CONFIG_LTO isn't used any other
places (or even set) in the upstream tree yet, so the issue must not
happen there.

And yet, even if CONFIG_LTO is enabled, the first place to be fixed is
rather in include/linux/init.h, not each code calling module_init()
without a terminator semicolon.  There are lots of such codes in the
tree, and calls of init/exit without semicolon are official ways.

Though, having semicolons looks nicer nowadays, so it'd make sense to
add semicolons in the end.  If so, we may fix all of them in a shot by
a script.


Takashi

> 
> -----邮件原件-----
> 发件人: Takashi Iwai [mailto:tiwai@...e.de] 
> 发送时间: 2016年6月21日 17:54
> 收件人: 高峰 <fgao@...ai8.com>
> 抄送: alsa-devel@...a-project.org; perex@...ex.cz; linux-kernel@...r.kernel.org; gfree.wind@...il.com
> 主题: Re: 答复: 答复: [PATCH 1/1] sound: Fix compile error of seq_device.c
> 
> On Tue, 21 Jun 2016 11:35:39 +0200,
> 高峰 wrote:
> > 
> > I have sent the new commit with the compile errors.
> > Is it ok now?
> > 
> > BTW, I think the compile error is caused by that "subsys_initcall" statement losts the semicolon. 
> 
> Does this happen with the latest upstream kernel code at all...?
> 
> 
> Takashi
> 
> > 
> > -----邮件原件-----
> > 发件人: Takashi Iwai [mailto:tiwai@...e.de]
> > 发送时间: 2016年6月21日 17:20
> > 收件人: 高峰 <fgao@...ai8.com>
> > 抄送: alsa-devel@...a-project.org; perex@...ex.cz; 
> > linux-kernel@...r.kernel.org; gfree.wind@...il.com
> > 主题: Re: 答复: [PATCH 1/1] sound: Fix compile error of seq_device.c
> > 
> > On Tue, 21 Jun 2016 10:48:30 +0200,
> > 高峰 wrote:
> > > 
> > > The lastest CentOS7 platform, and the gcc version is gcc version 
> > > 4.8.5
> > > 20150623 (Red Hat 4.8.5-4) (GCC).
> > > It could pass compilation after append the lost semicolon. 
> > > 
> > > from sound/core/seq/seq_device.c:39:
> > > include/linux/init.h:216:2: error: expected ‘,’ or ‘;’ before ‘static’
> > >   static exitcall_t __exitcall_##fn __exit_call = fn
> > >   ^
> > > include/linux/init.h:279:24: note: in expansion of macro ‘__exitcall’
> > >  #define module_exit(x) __exitcall(x);
> > >                         ^
> > > sound/core/seq/seq_device.c:315:1: note: in expansion of macro 
> > > ‘module_exit’
> > >  module_exit(alsa_seq_device_exit)
> > >  ^
> > > make[3]: *** [sound/core/seq/seq_device.o] Error 1
> > > make[2]: *** [sound/core/seq] Error 2
> > > make[1]: *** [sound/core] Error 2
> > > make: *** [sound] Error 2
> > 
> > It's a RH specific issue.  The upstream code has a different definition of module_init(), thus no such an error would occur.
> > 
> > Note that I'm fine to apply the patch, it's a trivial change.
> > But you need to give the clear reason why to apply it.  In this case, it's no fault of the upstream code.  But if it would make someone's life a bit easier, it's OK to apply such a change.
> > 
> > That being said, please resubmit the patch with a more explanation.
> > 
> > 
> > thanks,
> > 
> > Takashi
> > 
> > > 
> > > -----邮件原件-----
> > > 发件人: Takashi Iwai [mailto:tiwai@...e.de]
> > > 发送时间: 2016年6月21日 16:45
> > > 收件人: fgao@...ai8.com
> > > 抄送: alsa-devel@...a-project.org; perex@...ex.cz; linux-kernel@...r.kernel.
> > > org; gfree.wind@...il.com
> > > 主题: Re: [PATCH 1/1] sound: Fix compile error of seq_device.c
> > > 
> > > On Tue, 21 Jun 2016 10:34:25 +0200,
> > > <fgao@...ai8.com> wrote:
> > > > 
> > > > From: Gao Feng <fgao@...ai8.com>
> > > > 
> > > > Signed-off-by: Gao Feng <fgao@...ai8.com>
> > > 
> > > What compile error did you get?
> > > 
> > > 
> > > Takashi
> > > 
> > > > ---
> > > >  sound/core/seq/seq_device.c | 4 ++--
> > > >  1 file changed, 2 insertions(+), 2 deletions(-)
> > > > 
> > > > diff --git a/sound/core/seq/seq_device.c 
> > > > b/sound/core/seq/seq_device.c index c4acf17..4e859e4 100644
> > > > --- a/sound/core/seq/seq_device.c
> > > > +++ b/sound/core/seq/seq_device.c
> > > > @@ -311,5 +311,5 @@ static void __exit alsa_seq_device_exit(void)
> > > >  	bus_unregister(&snd_seq_bus_type);
> > > >  }
> > > >  
> > > > -subsys_initcall(alsa_seq_device_init)
> > > > -module_exit(alsa_seq_device_exit)
> > > > +subsys_initcall(alsa_seq_device_init);
> > > > +module_exit(alsa_seq_device_exit);
> > > > --
> > > > 1.9.1
> > > > 
> > > > 
> > > > 
> > > > 
> > > > 
> > > 
> > > 
> > > 
> > 
> > 
> > 
> 
> 
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ