All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Linus Walleij <linus.walleij@linaro.org>
Cc: oe-kbuild-all@lists.linux.dev
Subject: [arm-integrator:kernel-in-vmalloc-v6.4-rc1-just-ttbr0-split 20/26] fs/binfmt_elf.c:1402:52: error: 'struct file' has no member named 'name'
Date: Fri, 30 Jun 2023 09:53:18 +0800	[thread overview]
Message-ID: <202306300913.MF6GRPSq-lkp@intel.com> (raw)

Hi Linus,

FYI, the error/warning still remains.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator.git kernel-in-vmalloc-v6.4-rc1-just-ttbr0-split
head:   d0cf2fe7497259ee8a7308da99a8cbafaab5e5b5
commit: 8560cbc95c9fafe667f0faf076bba96cc2f4c717 [20/26] debug prints
config: i386-defconfig (https://download.01.org/0day-ci/archive/20230630/202306300913.MF6GRPSq-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce: (https://download.01.org/0day-ci/archive/20230630/202306300913.MF6GRPSq-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202306300913.MF6GRPSq-lkp@intel.com/

All error/warnings (new ones prefixed by >>):

   In file included from include/linux/kernel.h:30,
                    from arch/x86/include/asm/percpu.h:27,
                    from arch/x86/include/asm/nospec-branch.h:14,
                    from arch/x86/include/asm/paravirt_types.h:27,
                    from arch/x86/include/asm/ptrace.h:97,
                    from arch/x86/include/asm/math_emu.h:5,
                    from arch/x86/include/asm/processor.h:13,
                    from arch/x86/include/asm/timex.h:5,
                    from include/linux/timex.h:67,
                    from include/linux/time32.h:13,
                    from include/linux/time.h:60,
                    from include/linux/stat.h:19,
                    from include/linux/module.h:13,
                    from fs/binfmt_elf.c:13:
   fs/binfmt_elf.c: In function 'load_elf_binary':
>> include/linux/kern_levels.h:5:25: warning: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'long unsigned int' [-Wformat=]
       5 | #define KERN_SOH        "\001"          /* ASCII Start Of Header */
         |                         ^~~~~~
   include/linux/printk.h:427:25: note: in definition of macro 'printk_index_wrap'
     427 |                 _p_func(_fmt, ##__VA_ARGS__);                           \
         |                         ^~~~
   include/linux/printk.h:528:9: note: in expansion of macro 'printk'
     528 |         printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
         |         ^~~~~~
   include/linux/kern_levels.h:14:25: note: in expansion of macro 'KERN_SOH'
      14 | #define KERN_INFO       KERN_SOH "6"    /* informational */
         |                         ^~~~~~~~
   include/linux/printk.h:528:16: note: in expansion of macro 'KERN_INFO'
     528 |         printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
         |                ^~~~~~~~~
   fs/binfmt_elf.c:1371:9: note: in expansion of macro 'pr_info'
    1371 |         pr_info("%s: call START_THREAD() entry at 0x%08x\n", __func__, elf_entry);
         |         ^~~~~~~
   fs/binfmt_elf.c: In function 'load_elf_library':
>> fs/binfmt_elf.c:1402:52: error: 'struct file' has no member named 'name'
    1402 |         pr_info("trying %s on %s\n", __func__, file->name);
         |                                                    ^~
   include/linux/printk.h:427:33: note: in definition of macro 'printk_index_wrap'
     427 |                 _p_func(_fmt, ##__VA_ARGS__);                           \
         |                                 ^~~~~~~~~~~
   include/linux/printk.h:528:9: note: in expansion of macro 'printk'
     528 |         printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
         |         ^~~~~~
   fs/binfmt_elf.c:1402:9: note: in expansion of macro 'pr_info'
    1402 |         pr_info("trying %s on %s\n", __func__, file->name);
         |         ^~~~~~~


vim +1402 fs/binfmt_elf.c

  1390	
  1391	#ifdef CONFIG_USELIB
  1392	/* This is really simpleminded and specialized - we are loading an
  1393	   a.out library that is given an ELF header. */
  1394	static int load_elf_library(struct file *file)
  1395	{
  1396		struct elf_phdr *elf_phdata;
  1397		struct elf_phdr *eppnt;
  1398		unsigned long elf_bss, bss, len;
  1399		int retval, error, i, j;
  1400		struct elfhdr elf_ex;
  1401	
> 1402		pr_info("trying %s on %s\n", __func__, file->name);
  1403		error = -ENOEXEC;
  1404		retval = elf_read(file, &elf_ex, sizeof(elf_ex), 0);
  1405		if (retval < 0)
  1406			goto out;
  1407	
  1408		if (memcmp(elf_ex.e_ident, ELFMAG, SELFMAG) != 0)
  1409			goto out;
  1410	
  1411		/* First of all, some simple consistency checks */
  1412		if (elf_ex.e_type != ET_EXEC || elf_ex.e_phnum > 2 ||
  1413		    !elf_check_arch(&elf_ex) || !file->f_op->mmap)
  1414			goto out;
  1415		if (elf_check_fdpic(&elf_ex))
  1416			goto out;
  1417	
  1418		/* Now read in all of the header information */
  1419	
  1420		j = sizeof(struct elf_phdr) * elf_ex.e_phnum;
  1421		/* j < ELF_MIN_ALIGN because elf_ex.e_phnum <= 2 */
  1422	
  1423		error = -ENOMEM;
  1424		elf_phdata = kmalloc(j, GFP_KERNEL);
  1425		if (!elf_phdata)
  1426			goto out;
  1427	
  1428		eppnt = elf_phdata;
  1429		error = -ENOEXEC;
  1430		retval = elf_read(file, eppnt, j, elf_ex.e_phoff);
  1431		if (retval < 0)
  1432			goto out_free_ph;
  1433	
  1434		for (j = 0, i = 0; i<elf_ex.e_phnum; i++)
  1435			if ((eppnt + i)->p_type == PT_LOAD)
  1436				j++;
  1437		if (j != 1)
  1438			goto out_free_ph;
  1439	
  1440		while (eppnt->p_type != PT_LOAD)
  1441			eppnt++;
  1442	
  1443		/* Now use mmap to map the library into memory. */
  1444		error = vm_mmap(file,
  1445				ELF_PAGESTART(eppnt->p_vaddr),
  1446				(eppnt->p_filesz +
  1447				 ELF_PAGEOFFSET(eppnt->p_vaddr)),
  1448				PROT_READ | PROT_WRITE | PROT_EXEC,
  1449				MAP_FIXED_NOREPLACE | MAP_PRIVATE,
  1450				(eppnt->p_offset -
  1451				 ELF_PAGEOFFSET(eppnt->p_vaddr)));
  1452		if (error != ELF_PAGESTART(eppnt->p_vaddr))
  1453			goto out_free_ph;
  1454	
  1455		elf_bss = eppnt->p_vaddr + eppnt->p_filesz;
  1456		if (padzero(elf_bss)) {
  1457			error = -EFAULT;
  1458			goto out_free_ph;
  1459		}
  1460	
  1461		len = ELF_PAGEALIGN(eppnt->p_filesz + eppnt->p_vaddr);
  1462		bss = ELF_PAGEALIGN(eppnt->p_memsz + eppnt->p_vaddr);
  1463		if (bss > len) {
  1464			error = vm_brk(len, bss - len);
  1465			if (error)
  1466				goto out_free_ph;
  1467		}
  1468		error = 0;
  1469	
  1470	out_free_ph:
  1471		kfree(elf_phdata);
  1472	out:
  1473		return error;
  1474	}
  1475	#endif /* #ifdef CONFIG_USELIB */
  1476	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

             reply	other threads:[~2023-06-30  1:54 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-30  1:53 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-06-30  2:04 [arm-integrator:kernel-in-vmalloc-v6.4-rc1-just-ttbr0-split 20/26] fs/binfmt_elf.c:1402:52: error: 'struct file' has no member named 'name' kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202306300913.MF6GRPSq-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=linus.walleij@linaro.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.