tree: git://git.samba.org/sfrench/cifs-2.6.git for-next head: 45f4017ee6cabfe12161c1289fe06f9d9b16805a commit: c26d36668ef2776561728e22699afedec5c68e7a [24/27] cifs: Add support for failover in cifs_reconnect_tcon() config: i386-randconfig-x015-201849 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: git checkout c26d36668ef2776561728e22699afedec5c68e7a # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): fs//cifs/cifssmb.c: In function '__cifs_reconnect_tcon': >> fs//cifs/cifssmb.c:186:1: warning: the frame size of 1328 bytes is larger than 1024 bytes [-Wframe-larger-than=] } ^ vim +186 fs//cifs/cifssmb.c 123 124 #ifdef CONFIG_CIFS_DFS_UPCALL 125 static int __cifs_reconnect_tcon(const struct nls_table *nlsc, 126 struct cifs_tcon *tcon) 127 { 128 int rc; 129 struct dfs_cache_tgt_list tl; 130 struct dfs_cache_tgt_iterator *it = NULL; 131 char tree[MAX_TREE_SIZE + 1]; 132 const char *tcp_host; 133 size_t tcp_host_len; 134 const char *dfs_host; 135 size_t dfs_host_len; 136 137 if (tcon->ipc) { 138 snprintf(tree, sizeof(tree), "\\\\%s\\IPC$", 139 tcon->ses->server->hostname); 140 return CIFSTCon(0, tcon->ses, tree, tcon, nlsc); 141 } 142 143 if (!tcon->dfs_path) 144 return CIFSTCon(0, tcon->ses, tcon->treeName, tcon, nlsc); 145 146 rc = dfs_cache_noreq_find(tcon->dfs_path + 1, NULL, &tl); 147 if (rc) 148 return rc; 149 150 extract_unc_hostname(tcon->ses->server->hostname, &tcp_host, 151 &tcp_host_len); 152 153 for (it = dfs_cache_get_tgt_iterator(&tl); it; 154 it = dfs_cache_get_next_tgt(&tl, it)) { 155 const char *tgt = dfs_cache_get_tgt_name(it); 156 157 extract_unc_hostname(tgt, &dfs_host, &dfs_host_len); 158 159 if (dfs_host_len != tcp_host_len 160 || strncasecmp(dfs_host, tcp_host, dfs_host_len) != 0) { 161 cifs_dbg(FYI, "%s: skipping %.*s, doesn't match %.*s", 162 __func__, 163 (int)dfs_host_len, dfs_host, 164 (int)tcp_host_len, tcp_host); 165 continue; 166 } 167 168 snprintf(tree, sizeof(tree), "\\%s", tgt); 169 170 rc = CIFSTCon(0, tcon->ses, tree, tcon, nlsc); 171 if (!rc) 172 break; 173 if (rc == -EREMOTE) 174 break; 175 } 176 177 if (!rc) { 178 if (it) 179 rc = dfs_cache_noreq_update_tgthint(tcon->dfs_path + 1, 180 it); 181 else 182 rc = -ENOENT; 183 } 184 dfs_cache_free_tgts(&tl); 185 return rc; > 186 } 187 #else 188 static inline int __cifs_reconnect_tcon(const struct nls_table *nlsc, 189 struct cifs_tcon *tcon) 190 { 191 return CIFSTCon(0, tcon->ses, tcon->treeName, tcon, nlsc); 192 } 193 #endif 194 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip