[ You would have to enable transparent huge page tables on a 32 bit
system to trigger this bug and I don't think that's possible.
I don't think Smatch will complain about this if you have the cross
function database turned on because it knows the value of size in that
case. But most people don't build the database so it might be worth
silencing this bug? Should I even bother sending these email for
non-bugs? Let me know. -dan ]
tree: git://git.cmpxchg.org/linux-mmotm.git master
head: e668fb4c5c5e6de5b9432bd36d83b3a0b4ce78e8
commit: be7c8db9daa43935912bc8c898ecea99b32d805b [120/306] mm: fix huge zero
page accounting in smaps report
fs/proc/task_mmu.c:474 smaps_account() warn: should 'size << 12' be a 64 bit
type?
git remote add mmotm git://git.cmpxchg.org/linux-mmotm.git
git remote update mmotm
git checkout be7c8db9daa43935912bc8c898ecea99b32d805b
vim +474 fs/proc/task_mmu.c
be7c8db9 Kirill A. Shutemov 2014-11-13 458 mss->resident += size;
be7c8db9 Kirill A. Shutemov 2014-11-13 459 /* Accumulate the size in pages
that have been accessed. */
be7c8db9 Kirill A. Shutemov 2014-11-13 460 if (young ||
PageReferenced(page))
be7c8db9 Kirill A. Shutemov 2014-11-13 461 mss->referenced += size;
be7c8db9 Kirill A. Shutemov 2014-11-13 462 mapcount = page_mapcount(page);
be7c8db9 Kirill A. Shutemov 2014-11-13 463 if (mapcount >= 2) {
be7c8db9 Kirill A. Shutemov 2014-11-13 464 if (dirty ||
PageDirty(page))
be7c8db9 Kirill A. Shutemov 2014-11-13 465
mss->shared_dirty += size;
be7c8db9 Kirill A. Shutemov 2014-11-13 466 else
be7c8db9 Kirill A. Shutemov 2014-11-13 467
mss->shared_clean += size;
be7c8db9 Kirill A. Shutemov 2014-11-13 468 mss->pss += (size <<
PSS_SHIFT) / mapcount;
be7c8db9 Kirill A. Shutemov 2014-11-13 469 } else {
be7c8db9 Kirill A. Shutemov 2014-11-13 470 if (dirty ||
PageDirty(page))
be7c8db9 Kirill A. Shutemov 2014-11-13 471
mss->private_dirty += size;
be7c8db9 Kirill A. Shutemov 2014-11-13 472 else
be7c8db9 Kirill A. Shutemov 2014-11-13 473
mss->private_clean += size;
be7c8db9 Kirill A. Shutemov 2014-11-13 @474 mss->pss += (size <<
PSS_SHIFT);
be7c8db9 Kirill A. Shutemov 2014-11-13 475 }
be7c8db9 Kirill A. Shutemov 2014-11-13 476 }
be7c8db9 Kirill A. Shutemov 2014-11-13 477
be7c8db9 Kirill A. Shutemov 2014-11-13 478
be7c8db9 Kirill A. Shutemov 2014-11-13 479 static void smaps_pte_entry(pte_t
*pte, unsigned long addr,
be7c8db9 Kirill A. Shutemov 2014-11-13 480 struct mm_walk *walk)
e070ad49 Mauricio Lin 2005-09-03 481 {
2165009b Dave Hansen 2008-06-12 482 struct mem_size_stats *mss =
walk->private;
---
0-DAY kernel test infrastructure Open Source Technology Center
http://lists.01.org/mailman/listinfo/kbuild Intel Corporation
_______________________________________________
kbuild mailing list
[email protected]
https://lists.01.org/mailman/listinfo/kbuild