From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============3174417725298970548==" MIME-Version: 1.0 From: kbuild test robot To: kbuild-all@lists.01.org Subject: Re: [RFC PATCH v1] pin_on_cpu: Introduce thread CPU pinning system call Date: Fri, 24 Jan 2020 20:25:22 +0800 Message-ID: <202001242011.3jDI68CI%lkp@intel.com> In-Reply-To: <20200121160312.26545-1-mathieu.desnoyers@efficios.com> List-Id: --===============3174417725298970548== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi Mathieu, [FYI, it's a private test report for your RFC patch.] [auto build test ERROR on tip/x86/asm] [also build test ERROR on asm-generic/master linus/master v5.5-rc7] [cannot apply to tip/sched/core next-20200123] [if your patch is applied to the wrong git tree, please drop us a note to h= elp improve the system. BTW, we also suggest to use '--base' option to specify = the base tree in git format-patch, please see https://stackoverflow.com/a/37406= 982] url: https://github.com/0day-ci/linux/commits/Mathieu-Desnoyers/pin_on_c= pu-Introduce-thread-CPU-pinning-system-call/20200124-092039 base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 183ef7a= df4ed638ac0fb0c3c9a71fc00e8512b61 config: m68k-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 # save the attached .config to linux build tree GCC_VERSION=3D7.5.0 make.cross ARCH=3Dm68k = If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): fs/exec.c: In function '__do_execve_file': >> fs/exec.c:1829:9: error: 'struct task_struct' has no member named 'pinne= d_cpu' current->pinned_cpu =3D -1; ^~ vim +1829 fs/exec.c 1711 = 1712 /* 1713 * sys_execve() executes a new program. 1714 */ 1715 static int __do_execve_file(int fd, struct filename *filename, 1716 struct user_arg_ptr argv, 1717 struct user_arg_ptr envp, 1718 int flags, struct file *file) 1719 { 1720 char *pathbuf =3D NULL; 1721 struct linux_binprm *bprm; 1722 struct files_struct *displaced; 1723 int retval; 1724 = 1725 if (IS_ERR(filename)) 1726 return PTR_ERR(filename); 1727 = 1728 /* 1729 * We move the actual failure in case of RLIMIT_NPROC excess from 1730 * set*uid() to execve() because too many poorly written programs 1731 * don't check setuid() return code. Here we additionally recheck 1732 * whether NPROC limit is still exceeded. 1733 */ 1734 if ((current->flags & PF_NPROC_EXCEEDED) && 1735 atomic_read(¤t_user()->processes) > rlimit(RLIMIT_NPROC))= { 1736 retval =3D -EAGAIN; 1737 goto out_ret; 1738 } 1739 = 1740 /* We're below the limit (still or again), so we don't want to make 1741 * further execve() calls fail. */ 1742 current->flags &=3D ~PF_NPROC_EXCEEDED; 1743 = 1744 retval =3D unshare_files(&displaced); 1745 if (retval) 1746 goto out_ret; 1747 = 1748 retval =3D -ENOMEM; 1749 bprm =3D kzalloc(sizeof(*bprm), GFP_KERNEL); 1750 if (!bprm) 1751 goto out_files; 1752 = 1753 retval =3D prepare_bprm_creds(bprm); 1754 if (retval) 1755 goto out_free; 1756 = 1757 check_unsafe_exec(bprm); 1758 current->in_execve =3D 1; 1759 = 1760 if (!file) 1761 file =3D do_open_execat(fd, filename, flags); 1762 retval =3D PTR_ERR(file); 1763 if (IS_ERR(file)) 1764 goto out_unmark; 1765 = 1766 sched_exec(); 1767 = 1768 bprm->file =3D file; 1769 if (!filename) { 1770 bprm->filename =3D "none"; 1771 } else if (fd =3D=3D AT_FDCWD || filename->name[0] =3D=3D '/') { 1772 bprm->filename =3D filename->name; 1773 } else { 1774 if (filename->name[0] =3D=3D '\0') 1775 pathbuf =3D kasprintf(GFP_KERNEL, "/dev/fd/%d", fd); 1776 else 1777 pathbuf =3D kasprintf(GFP_KERNEL, "/dev/fd/%d/%s", 1778 fd, filename->name); 1779 if (!pathbuf) { 1780 retval =3D -ENOMEM; 1781 goto out_unmark; 1782 } 1783 /* 1784 * Record that a name derived from an O_CLOEXEC fd will be 1785 * inaccessible after exec. Relies on having exclusive access to 1786 * current->files (due to unshare_files above). 1787 */ 1788 if (close_on_exec(fd, rcu_dereference_raw(current->files->fdt))) 1789 bprm->interp_flags |=3D BINPRM_FLAGS_PATH_INACCESSIBLE; 1790 bprm->filename =3D pathbuf; 1791 } 1792 bprm->interp =3D bprm->filename; 1793 = 1794 retval =3D bprm_mm_init(bprm); 1795 if (retval) 1796 goto out_unmark; 1797 = 1798 retval =3D prepare_arg_pages(bprm, argv, envp); 1799 if (retval < 0) 1800 goto out; 1801 = 1802 retval =3D prepare_binprm(bprm); 1803 if (retval < 0) 1804 goto out; 1805 = 1806 retval =3D copy_strings_kernel(1, &bprm->filename, bprm); 1807 if (retval < 0) 1808 goto out; 1809 = 1810 bprm->exec =3D bprm->p; 1811 retval =3D copy_strings(bprm->envc, envp, bprm); 1812 if (retval < 0) 1813 goto out; 1814 = 1815 retval =3D copy_strings(bprm->argc, argv, bprm); 1816 if (retval < 0) 1817 goto out; 1818 = 1819 would_dump(bprm, bprm->file); 1820 = 1821 retval =3D exec_binprm(bprm); 1822 if (retval < 0) 1823 goto out; 1824 = 1825 /* execve succeeded */ 1826 current->fs->in_exec =3D 0; 1827 current->in_execve =3D 0; 1828 rseq_execve(current); > 1829 current->pinned_cpu =3D -1; 1830 acct_update_integrals(current); 1831 task_numa_free(current, false); 1832 free_bprm(bprm); 1833 kfree(pathbuf); 1834 if (filename) 1835 putname(filename); 1836 if (displaced) 1837 put_files_struct(displaced); 1838 return retval; 1839 = 1840 out: 1841 if (bprm->mm) { 1842 acct_arg_size(bprm, 0); 1843 mmput(bprm->mm); 1844 } 1845 = 1846 out_unmark: 1847 current->fs->in_exec =3D 0; 1848 current->in_execve =3D 0; 1849 = 1850 out_free: 1851 free_bprm(bprm); 1852 kfree(pathbuf); 1853 = 1854 out_files: 1855 if (displaced) 1856 reset_files_struct(displaced); 1857 out_ret: 1858 if (filename) 1859 putname(filename); 1860 return retval; 1861 } 1862 = --- 0-DAY kernel test infrastructure Open Source Technology Cen= ter https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org Intel Corpor= ation --===============3174417725298970548== Content-Type: application/gzip MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.gz" 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 --===============3174417725298970548==--