[bug report] mm,hwpoison: refactor soft_offline_huge_page and __soft_offline_page

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Oscar Salvador,

The patch e5bcf91e5cc6: "mm,hwpoison: refactor soft_offline_huge_page
and __soft_offline_page" from Aug 20, 2020, leads to the following
static checker warning:

	mm/memory-failure.c:1765 isolate_page()
	warn: signedness bug returning '(-16)'

mm/memory-failure.c
  1749  static bool isolate_page(struct page *page, struct list_head *pagelist)
  1750  {
  1751          bool isolated = false;
  1752          bool lru = PageLRU(page);
  1753  
  1754          if (PageHuge(page)) {
  1755                  isolated = isolate_huge_page(page, pagelist);
  1756          } else {
  1757                  if (lru)
  1758                          isolated = !isolate_lru_page(page);
  1759                  else
  1760                          isolated = !isolate_movable_page(page, ISOLATE_UNEVICTABLE);
  1761  
  1762                  if (isolated)
  1763                          list_add(&page->lru, pagelist);
  1764  
  1765                  return -EBUSY;

return false;?

  1766          }
  1767  
  1768          if (isolated && lru)
  1769                  inc_node_page_state(page, NR_ISOLATED_ANON +
  1770                                      page_is_file_lru(page));
  1771  
  1772          /*
  1773           * If we succeed to isolate the page, we grabbed another refcount on
  1774           * the page, so we can safely drop the one we got from get_any_pages().
  1775           * If we failed to isolate the page, it means that we cannot go further
  1776           * and we will return an error, so drop the reference we got from
  1777           * get_any_pages() as well.
  1778           */
  1779          put_page(page);
  1780          return isolated;
  1781  }

regards,
dan carpenter




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux