Revision a0cff57bb2a41cb9cbf13d3203097b4156d8c0ae authored by Davidlohr Bueso on 13 September 2017, 20:08:21 UTC, committed by Paolo Bonzini on 15 September 2017, 14:57:12 UTC
During code inspection, the following potential race was seen:

CPU0   	    		    	     	CPU1
kvm_async_pf_task_wait			apf_task_wake_one
					  [L] swait_active(&n->wq)
  [S] prepare_to_swait(&n.wq)
  [L] if (!hlist_unhahed(&n.link))
	schedule()			  [S] hlist_del_init(&n->link);

Properly serialize swait_active() checks such that a wakeup is
not missed.

Signed-off-by: Davidlohr Bueso <dbueso@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
1 parent cc1b468
Raw File
Kconfig
config BEFS_FS
	tristate "BeOS file system (BeFS) support (read only)"
	depends on BLOCK
	select NLS
	help
	  The BeOS File System (BeFS) is the native file system of Be, Inc's
	  BeOS. Notable features include support for arbitrary attributes
	  on files and directories, and database-like indices on selected
	  attributes. (Also note that this driver doesn't make those features
	  available at this time). It is a 64 bit filesystem, so it supports
	  extremely large volumes and files.

	  If you use this filesystem, you should also say Y to at least one
	  of the NLS (native language support) options below.

	  If you don't know what this is about, say N.

	  To compile this as a module, choose M here: the module will be
	  called befs.

config BEFS_DEBUG
	bool "Debug BeFS"
	depends on BEFS_FS
	help
	  If you say Y here, you can use the 'debug' mount option to enable
	  debugging output from the driver.
back to top