On Wed, Feb 22, 2017 at 5:09 PM, Winkler, Tomas <tomas.winkler@xxxxxxxxx> wrote: > >> >> 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. The codes of powerpc.git(git://git.kernel.org/pub/scm/linux/kernel/git/galak/powerpc.git) are different with net.git. The following are the codes from powerpc.git static bool mei_init(struct mei *me, const uuid_le *guid, unsigned char req_protocol_version, bool verbose) { int result; struct mei_client *cl; struct mei_connect_client_data data; mei_deinit(me); me->verbose = verbose; me->fd = open("/dev/mei", O_RDWR); if (me->fd == -1) { mei_err(me, "Cannot establish a handle to the Intel MEI driver\n"); goto err; } The mei_deinit is invoked before open, so the gcc reports one warning. Regards Feng > >> 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; >> >> } -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html