[cifs:for-next 10/11] fs/cifs/smb2pdu.c:1985:38: error: macro "memcmp" passed 18 arguments, but takes just 3

kbuild test robot lkp at intel.com
Thu Feb 6 22:26:22 UTC 2020


tree:   git://git.samba.org/sfrench/cifs-2.6.git for-next
head:   58b322cfd219fd570d4fcc2e2eb8b5d945389d46
commit: 3d9d8c48232a668ada5f680f70c8b3d366629ab6 [10/11] smb3: print warning once if posix context returned on open
config: m68k-multi_defconfig (attached as .config)
compiler: m68k-linux-gcc (GCC) 7.5.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout 3d9d8c48232a668ada5f680f70c8b3d366629ab6
        # save the attached .config to linux build tree
        GCC_VERSION=7.5.0 make.cross ARCH=m68k 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp at intel.com>

All errors (new ones prefixed by >>):

   fs/cifs/smb2pdu.c: In function 'smb2_parse_contexts':
>> fs/cifs/smb2pdu.c:1985:38: error: macro "memcmp" passed 18 arguments, but takes just 3
        0xDE, 0x96, 0x8B, 0xCD, 0x7C}, 16) == 0)
                                         ^
>> fs/cifs/smb2pdu.c:1983:8: error: 'memcmp' undeclared (first use in this function); did you mean 'memchr'?
       if (memcmp(name, (char []) {0x93, 0xAD, 0x25, 0x50,
           ^~~~~~
           memchr
   fs/cifs/smb2pdu.c:1983:8: note: each undeclared identifier is reported only once for each function it appears in

vim +/memcmp +1985 fs/cifs/smb2pdu.c

  1951	
  1952	void
  1953	smb2_parse_contexts(struct TCP_Server_Info *server,
  1954			       struct smb2_create_rsp *rsp,
  1955			       unsigned int *epoch, char *lease_key, __u8 *oplock,
  1956			       struct smb2_file_all_info *buf)
  1957	{
  1958		char *data_offset;
  1959		struct create_context *cc;
  1960		unsigned int next;
  1961		unsigned int remaining;
  1962		char *name;
  1963	
  1964		*oplock = 0;
  1965		data_offset = (char *)rsp + le32_to_cpu(rsp->CreateContextsOffset);
  1966		remaining = le32_to_cpu(rsp->CreateContextsLength);
  1967		cc = (struct create_context *)data_offset;
  1968	
  1969		/* Initialize inode number to 0 in case no valid data in qfid context */
  1970		if (buf)
  1971			buf->IndexNumber = 0;
  1972	
  1973		while (remaining >= sizeof(struct create_context)) {
  1974			name = le16_to_cpu(cc->NameOffset) + (char *)cc;
  1975			if (le16_to_cpu(cc->NameLength) == 4 &&
  1976			    strncmp(name, SMB2_CREATE_REQUEST_LEASE, 4) == 0)
  1977				*oplock = server->ops->parse_lease_buf(cc, epoch,
  1978								   lease_key);
  1979			else if (buf && (le16_to_cpu(cc->NameLength) == 4) &&
  1980			    strncmp(name, SMB2_CREATE_QUERY_ON_DISK_ID, 4) == 0)
  1981				parse_query_id_ctxt(cc, buf);
  1982			else if ((le16_to_cpu(cc->NameLength) == 16)) {
> 1983				if (memcmp(name, (char []) {0x93, 0xAD, 0x25, 0x50,
  1984					0x9C, 0xB4, 0x11, 0xE7, 0xB4, 0x23, 0x83,
> 1985					0xDE, 0x96, 0x8B, 0xCD, 0x7C}, 16) == 0)
  1986					parse_posix_ctxt(cc, NULL);
  1987			}
  1988			/* else {
  1989				cifs_dbg(FYI, "Context not matched with len %d\n",
  1990					le16_to_cpu(cc->NameLength));
  1991				cifs_dump_mem("Cctxt name: ", name, 4);
  1992			} */
  1993	
  1994			next = le32_to_cpu(cc->Next);
  1995			if (!next)
  1996				break;
  1997			remaining -= next;
  1998			cc = (struct create_context *)((char *)cc + next);
  1999		}
  2000	
  2001		if (rsp->OplockLevel != SMB2_OPLOCK_LEVEL_LEASE)
  2002			*oplock = rsp->OplockLevel;
  2003	
  2004		return;
  2005	}
  2006	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 16863 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20200207/c7d6a7ca/config.gz>


More information about the samba-technical mailing list