lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <AANLkTimavN8px1k_Y65mFqsAsiLjgCh6vos22ZnZm+3Z@mail.gmail.com>
Date:	Thu, 18 Nov 2010 18:53:54 +0800
From:	Peng Tao <lkml.bergwolf@...il.com>
To:	linux-nfs@...r.kernel.org
Cc:	linux-kernel@...r.kernel.org
Subject: Question about nfs_page_async_flush assertion

Hi, all,

nfs_writepages calls into
write_cache_pages()->nfs_writepages_callback()->nfs_do_writepage()->nfs_page_async_flush(),
where it asserts BUG_ON(test_bit(PG_CLEAN, &req->wb_flags)).
My question is: how do we guarantee the request has PG_CLEAN flag set?

nfs_writepages calls:
 356         nfs_pageio_init_write(&pgio, inode, wb_priority(wbc));
 357         err = write_cache_pages(mapping, wbc,
nfs_writepages_callback, &pgio);
 358         nfs_pageio_complete(&pgio);

IIUC, the request will only be issued in nfs_pageio_complete() and
there nfs_write_rpcsetup() will call
nfs_writeback_release_full()->nfs_mark_request_commit() to set the
PG_CLEAN flag. If the request has not ever been issued before entering
nfs_writepages, the PG_CLEAN flag will not be set and the BUG_ON will
be triggered. Am I missing something?

-- 
Thanks,
-Bergwolf
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ