Hi Mike,
I love your patch! Yet something to improve:
[auto build test ERROR on powerpc/next]
[also build test ERROR on arm/for-next arm64/for-next/core linus/master v5.6-rc3
next-20200228]
[cannot apply to mmotm/master]
[if your patch is applied to the wrong git tree, please drop us a note to help
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/37406982]
url:
https://github.com/0day-ci/linux/commits/Mike-Rapoport/mm-remove-__ARCH_H...
base:
https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc-ppc64_defconfig (attached as .config)
compiler: powerpc64-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=7.5.0 make.cross ARCH=powerpc
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
arch/powerpc/kvm/book3s_64_mmu_radix.c: In function 'debugfs_radix_read':
> arch/powerpc/kvm/book3s_64_mmu_radix.c:1226:8: error: unused
variable 'pgd' [-Werror=unused-variable]
pgd_t pgd, *pgdp;
^~~
cc1: all warnings being treated as errors
vim +/pgd +1226 arch/powerpc/kvm/book3s_64_mmu_radix.c
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1215
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1216 static ssize_t debugfs_radix_read(struct
file *file, char __user *buf,
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1217 size_t len, loff_t *ppos)
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1218 {
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1219 struct debugfs_radix_state *p =
file->private_data;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1220 ssize_t ret, r;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1221 unsigned long n;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1222 struct kvm *kvm;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1223 unsigned long gpa;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1224 pgd_t *pgt;
83a055104eaf89 Paul Mackerras 2018-10-08 1225 struct kvm_nested_guest *nested;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 @1226 pgd_t pgd, *pgdp;
f97ba1f7bf6bd7 Mike Rapoport 2020-02-27 1227 p4d_t p4d, *p4dp;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1228 pud_t pud, *pudp;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1229 pmd_t pmd, *pmdp;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1230 pte_t *ptep;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1231 int shift;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1232 unsigned long pte;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1233
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1234 kvm = p->kvm;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1235 if (!kvm_is_radix(kvm))
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1236 return 0;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1237
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1238 ret =
mutex_lock_interruptible(&p->mutex);
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1239 if (ret)
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1240 return ret;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1241
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1242 if (p->chars_left) {
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1243 n = p->chars_left;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1244 if (n > len)
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1245 n = len;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1246 r = copy_to_user(buf, p->buf +
p->buf_index, n);
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1247 n -= r;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1248 p->chars_left -= n;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1249 p->buf_index += n;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1250 buf += n;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1251 len -= n;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1252 ret = n;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1253 if (r) {
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1254 if (!n)
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1255 ret = -EFAULT;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1256 goto out;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1257 }
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1258 }
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1259
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1260 gpa = p->gpa;
83a055104eaf89 Paul Mackerras 2018-10-08 1261 nested = NULL;
83a055104eaf89 Paul Mackerras 2018-10-08 1262 pgt = NULL;
83a055104eaf89 Paul Mackerras 2018-10-08 1263 while (len != 0 && p->lpid
>= 0) {
83a055104eaf89 Paul Mackerras 2018-10-08 1264 if (gpa >= RADIX_PGTABLE_RANGE) {
83a055104eaf89 Paul Mackerras 2018-10-08 1265 gpa = 0;
83a055104eaf89 Paul Mackerras 2018-10-08 1266 pgt = NULL;
83a055104eaf89 Paul Mackerras 2018-10-08 1267 if (nested) {
83a055104eaf89 Paul Mackerras 2018-10-08 1268 kvmhv_put_nested(nested);
83a055104eaf89 Paul Mackerras 2018-10-08 1269 nested = NULL;
83a055104eaf89 Paul Mackerras 2018-10-08 1270 }
83a055104eaf89 Paul Mackerras 2018-10-08 1271 p->lpid =
kvmhv_nested_next_lpid(kvm, p->lpid);
83a055104eaf89 Paul Mackerras 2018-10-08 1272 p->hdr = 0;
83a055104eaf89 Paul Mackerras 2018-10-08 1273 if (p->lpid < 0)
83a055104eaf89 Paul Mackerras 2018-10-08 1274 break;
83a055104eaf89 Paul Mackerras 2018-10-08 1275 }
83a055104eaf89 Paul Mackerras 2018-10-08 1276 if (!pgt) {
83a055104eaf89 Paul Mackerras 2018-10-08 1277 if (p->lpid == 0) {
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1278 pgt = kvm->arch.pgtable;
83a055104eaf89 Paul Mackerras 2018-10-08 1279 } else {
83a055104eaf89 Paul Mackerras 2018-10-08 1280 nested = kvmhv_get_nested(kvm,
p->lpid, false);
83a055104eaf89 Paul Mackerras 2018-10-08 1281 if (!nested) {
83a055104eaf89 Paul Mackerras 2018-10-08 1282 gpa = RADIX_PGTABLE_RANGE;
83a055104eaf89 Paul Mackerras 2018-10-08 1283 continue;
83a055104eaf89 Paul Mackerras 2018-10-08 1284 }
83a055104eaf89 Paul Mackerras 2018-10-08 1285 pgt = nested->shadow_pgtable;
83a055104eaf89 Paul Mackerras 2018-10-08 1286 }
83a055104eaf89 Paul Mackerras 2018-10-08 1287 }
83a055104eaf89 Paul Mackerras 2018-10-08 1288 n = 0;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1289 if (!p->hdr) {
83a055104eaf89 Paul Mackerras 2018-10-08 1290 if (p->lpid > 0)
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1291 n = scnprintf(p->buf,
sizeof(p->buf),
83a055104eaf89 Paul Mackerras 2018-10-08 1292 "\nNested LPID %d: ",
p->lpid);
83a055104eaf89 Paul Mackerras 2018-10-08 1293 n += scnprintf(p->buf + n,
sizeof(p->buf) - n,
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1294 "pgdir: %lx\n",
(unsigned long)pgt);
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1295 p->hdr = 1;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1296 goto copy;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1297 }
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1298
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1299 pgdp = pgt + pgd_index(gpa);
f97ba1f7bf6bd7 Mike Rapoport 2020-02-27 1300 p4dp = p4d_offset(pgdp, gpa);
f97ba1f7bf6bd7 Mike Rapoport 2020-02-27 1301 p4d = READ_ONCE(*p4dp);
f97ba1f7bf6bd7 Mike Rapoport 2020-02-27 1302 if (!(p4d_val(p4d) & _PAGE_PRESENT))
{
f97ba1f7bf6bd7 Mike Rapoport 2020-02-27 1303 gpa = (gpa & P4D_MASK) + P4D_SIZE;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1304 continue;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1305 }
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1306
f97ba1f7bf6bd7 Mike Rapoport 2020-02-27 1307 pudp = pud_offset(&p4d, gpa);
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1308 pud = READ_ONCE(*pudp);
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1309 if (!(pud_val(pud) & _PAGE_PRESENT))
{
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1310 gpa = (gpa & PUD_MASK) + PUD_SIZE;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1311 continue;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1312 }
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1313 if (pud_val(pud) & _PAGE_PTE) {
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1314 pte = pud_val(pud);
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1315 shift = PUD_SHIFT;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1316 goto leaf;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1317 }
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1318
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1319 pmdp = pmd_offset(&pud, gpa);
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1320 pmd = READ_ONCE(*pmdp);
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1321 if (!(pmd_val(pmd) & _PAGE_PRESENT))
{
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1322 gpa = (gpa & PMD_MASK) + PMD_SIZE;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1323 continue;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1324 }
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1325 if (pmd_val(pmd) & _PAGE_PTE) {
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1326 pte = pmd_val(pmd);
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1327 shift = PMD_SHIFT;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1328 goto leaf;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1329 }
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1330
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1331 ptep = pte_offset_kernel(&pmd,
gpa);
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1332 pte = pte_val(READ_ONCE(*ptep));
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1333 if (!(pte & _PAGE_PRESENT)) {
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1334 gpa += PAGE_SIZE;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1335 continue;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1336 }
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1337 shift = PAGE_SHIFT;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1338 leaf:
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1339 n = scnprintf(p->buf,
sizeof(p->buf),
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1340 " %lx: %lx %d\n", gpa,
pte, shift);
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1341 gpa += 1ul << shift;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1342 copy:
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1343 p->chars_left = n;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1344 if (n > len)
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1345 n = len;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1346 r = copy_to_user(buf, p->buf, n);
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1347 n -= r;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1348 p->chars_left -= n;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1349 p->buf_index = n;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1350 buf += n;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1351 len -= n;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1352 ret += n;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1353 if (r) {
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1354 if (!ret)
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1355 ret = -EFAULT;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1356 break;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1357 }
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1358 }
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1359 p->gpa = gpa;
83a055104eaf89 Paul Mackerras 2018-10-08 1360 if (nested)
83a055104eaf89 Paul Mackerras 2018-10-08 1361 kvmhv_put_nested(nested);
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1362
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1363 out:
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1364 mutex_unlock(&p->mutex);
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1365 return ret;
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1366 }
9a94d3ee2d1599 Paul Mackerras 2018-10-08 1367
:::::: The code at line 1226 was first introduced by commit
:::::: 9a94d3ee2d159927c0f8e5078228eadbce8dda43 KVM: PPC: Book3S HV: Add a debugfs file to
dump radix mappings
:::::: TO: Paul Mackerras <paulus(a)ozlabs.org>
:::::: CC: Michael Ellerman <mpe(a)ellerman.id.au>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org