> > On Wed, Feb 22, 2017 at 4:14 PM, Winkler, Tomas <tomas.winkler@xxxxxxxxx> > wrote: > > On Wed, 2017-02-22 at 15:22 +0800, fgao@xxxxxxxxxx wrote: > >> From: Gao Feng <fgao@xxxxxxxxxx> > >> > >> When make allyesconfig, there is one compile error on my platform > >> "gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4". > >> The following is the output. > >> > >> Documentation/misc-devices/mei/mei-amt-version.c: In function ‘main’: > >> Documentation/misc-devices/mei/mei-amt-version.c:103:5: warning: > >> ‘acmd.fd’ > >> is used uninitialized in this function [-Wuninitialized] > >> if (cl->fd != -1) > >> ^ > >> Documentation/misc-devices/mei/mei-amt-version.c:443:21: note: > >> ‘acmd.fd’ > >> was declared here > >> struct amt_host_if acmd; > >> ^ > >> This commit fixes this compile error. > >> > >> Signed-off-by: Gao Feng <fgao@xxxxxxxxxx> > > > > This is false positive, as the variable is assined in mei_init(), in > > any case, the code has moved under samples diretory in the current > > kernel. Anything need to be fixed there first > > > > Thanks > > Tomas > > I think it is not false positive. > The function stack is main->amt_host_if_init->mei_init->mei_deinit. > There is one check "if (cl->fd != -1)". Isn't the first line in mei_init me->fd = open("/dev/mei", O_RDWR); ? I don't see mei_deinit called w/o mei_init called first. > Because this fd is not initialized to -1, so it may hit the condition, and execute > close. > > So it should be fixed, although these codes would be moved to sample > director. Please try with the master branch first in case I'm still wrong. Thanks > Regards > Feng > > > > >> --- > >> Documentation/misc-devices/mei/mei-amt-version.c | 1 + > >> 1 file changed, 1 insertion(+) > >> > >> diff --git a/Documentation/misc-devices/mei/mei-amt-version.c > >> b/Documentation/misc-devices/mei/mei-amt-version.c > >> index 49e4f77..ca035cb 100644 > >> --- a/Documentation/misc-devices/mei/mei-amt-version.c > >> +++ b/Documentation/misc-devices/mei/mei-amt-version.c > >> @@ -297,6 +297,7 @@ static bool amt_host_if_init(struct amt_host_if > >> *acmd, > >> unsigned long send_timeout, bool verbose) { > >> acmd->send_timeout = (send_timeout) ? send_timeout : 20000; > >> + acmd->mei_cl.fd = -1; > >> acmd->initialized = mei_init(&acmd->mei_cl, &MEI_IAMTHIF, 0, > >> verbose); > >> return acmd->initialized; > >> } ��.n��������+%������w��{.n�����o��^n�r������&��z�ޗ�zf���h���~����������_��+v���)ߣ�