[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <201811140948.eYw7FEbR%fengguang.wu@intel.com>
Date: Wed, 14 Nov 2018 09:54:10 +0800
From: kbuild test robot <lkp@...el.com>
To: Ian Kent <raven@...maw.net>
Cc: kbuild-all@...org, Andrew Morton <akpm@...ux-foundation.org>,
Al Viro <viro@...IV.linux.org.uk>,
autofs mailing list <autofs@...r.kernel.org>,
Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>
Subject: Re: [PATCH 4/6] autofs - use struct for mount params
Hi Ian,
I love your patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v4.20-rc2]
[cannot apply to next-20181113]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Ian-Kent/autofs-improve-ioctl-sbi-checks/20181114-021150
config: i386-allmodconfig (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=i386
All errors (new ones prefixed by >>):
fs/autofs/inode.c: In function 'autofs_fill_super':
>> fs/autofs/inode.c:361:28: error: invalid type argument of '->' (have 'struct autofs_fs_params')
root_inode->i_uid = params->uid;
^~
fs/autofs/inode.c:362:28: error: invalid type argument of '->' (have 'struct autofs_fs_params')
root_inode->i_gid = params->gid;
^~
vim +361 fs/autofs/inode.c
313
314 int autofs_fill_super(struct super_block *s, void *data, int silent)
315 {
316 struct inode *root_inode;
317 struct dentry *root;
318 struct autofs_fs_params params;
319 struct autofs_sb_info *sbi;
320 struct autofs_info *ino;
321 int ret = -EINVAL;
322
323 sbi = autofs_alloc_sbi(s);
324 if (!sbi)
325 return -ENOMEM;
326
327 pr_debug("starting up, sbi = %p\n", sbi);
328
329 s->s_fs_info = sbi;
330 s->s_blocksize = 1024;
331 s->s_blocksize_bits = 10;
332 s->s_magic = AUTOFS_SUPER_MAGIC;
333 s->s_op = &autofs_sops;
334 s->s_d_op = &autofs_dentry_operations;
335 s->s_time_gran = 1;
336
337 /*
338 * Get the root inode and dentry, but defer checking for errors.
339 */
340 ino = autofs_new_ino(sbi);
341 if (!ino) {
342 ret = -ENOMEM;
343 goto fail_free;
344 }
345 root_inode = autofs_get_inode(s, S_IFDIR | 0755);
346 if (!root_inode) {
347 ret = -ENOMEM;
348 goto fail_ino;
349 }
350 root = d_make_root(root_inode);
351 if (!root)
352 goto fail_iput;
353
354 root->d_fsdata = ino;
355
356 memset(¶ms, 0, sizeof(struct autofs_fs_params));
357 if (autofs_parse_options(data, ¶ms)) {
358 pr_err("called with bogus options\n");
359 goto fail_dput;
360 }
> 361 root_inode->i_uid = params->uid;
362 root_inode->i_gid = params->gid;
363
364 ret = autofs_apply_sbi_options(sbi, ¶ms);
365 if (ret)
366 goto fail_dput;
367
368 if (autofs_type_trigger(sbi->type))
369 __managed_dentry_set_managed(root);
370
371 root_inode->i_fop = &autofs_root_operations;
372 root_inode->i_op = &autofs_dir_inode_operations;
373
374 /*
375 * Success! Install the root dentry now to indicate completion.
376 */
377 s->s_root = root;
378 return 0;
379
380 /*
381 * Failure ... clean up.
382 */
383 fail_dput:
384 dput(root);
385 goto fail_free;
386 fail_iput:
387 iput(root_inode);
388 fail_ino:
389 autofs_free_ino(ino);
390 fail_free:
391 kfree(sbi);
392 s->s_fs_info = NULL;
393 return ret;
394 }
395
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
Download attachment ".config.gz" of type "application/gzip" (66026 bytes)
Powered by blists - more mailing lists