http://oss.sgi.com/bugzilla/show_bug.cgi?id=717
Summary: xfs can potentially dead-locks on xfs_ilock while
handling page fault of user address
Product: Linux XFS
Version: unspecified
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: XFS kernel code
AssignedTo: xfs-master@xxxxxxxxxxx
ReportedBy: uvsaradhi@xxxxxxxxx
CC: uvsaradhi@xxxxxxxxx
Dead-lock is as follows:
system_call->sys_ioctl->file_ioctl->xfs_ioctl->xfs_ioc_getbmap->
xfs_getbmap(does copy out while holding xfs_ilock)->copy_user_generic->
error_sti->do_page_fault->handle_mm_fault->do_no_page->
do_anonymous_page->__alloc_pages->try_to_free_pages->shrink_caches->
shrink_cache->shrink_list->pageout->linvfs_writepage->
xfs_page_state_convert->xfs_iomap->xfs_ilock(waiting for the lock that was took
in xfs_getbmap)
Above dead-lock is feasible in xfs_read/xfs_write. xfs_read holds the lock in
shared mode and tries to copy the data out to user address using
fill_read_actor. If this address page faults and memory is under pressure,
try_to_free_pages might come across dirty pages of this xfs_inode and we
dead-lock the application.
--
Configure bugmail: http://oss.sgi.com/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
|