From: David Vrabel Date: Tue, 2 Sep 2014 14:21:30 +0000 (+0100) Subject: xen/gntalloc: safely delete grefs in add_grefs() undo path X-Git-Tag: fixes-for-v3.18-merge-window~146^2~1 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5903c6bd1a48d90b99e207ec2a6a7673cbbb732d;p=pandora-kernel.git xen/gntalloc: safely delete grefs in add_grefs() undo path If a gref could not be added (perhaps because the limit has been reached or there are no more grant references available), the undo path may crash because __del_gref() frees the gref while it is being used for a list iteration. A comment suggests that using list_for_each_entry() is safe since the gref isn't removed from the list being iterated over, but it is freed and thus list_for_each_entry_safe() must be used. Also, explicitly delete the gref from the local per-file list, even though this is not strictly necessary. Signed-off-by: David Vrabel Reviewed-by: Boris Ostrovsky --- Reading git-diff-tree failed