Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							66e51bd08f 
							
						 
					 
					
						
						
							
							Switch to ring buffers for exchanging packets  
						
						 
						
						... 
						
						
						
						This demonstrates the use of ring buffers in its simplest, purest form.
No performance optimizations were made.
Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-07-16 20:06:54 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							830df36cd3 
							
						 
					 
					
						
						
							
							README: correct path of device  
						
						 
						
						... 
						
						
						
						Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Reported-by: Shay Sharon <Shay.Sharon@audiocodes.com> 
						
					 
					
						2019-07-09 11:10:17 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							39939e3550 
							
						 
					 
					
						
						
							
							Rename remaining status -> Status and ctx -> Ctx  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-07-08 11:10:43 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							fb738767a0 
							
						 
					 
					
						
						
							
							Remove TunMapIrp  
						
						 
						
						... 
						
						
						
						Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
						
					 
					
						2019-07-05 16:29:00 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							17a0e2647a 
							
						 
					 
					
						
						
							
							Simplify ActiveNblCount decrement  
						
						 
						
						... 
						
						
						
						Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
						
					 
					
						2019-07-05 16:29:00 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Odd Stranne 
							
						 
					 
					
						
						
						
						
							
						
						
							50aa1f924c 
							
						 
					 
					
						
						
							
							Rename NBL -> Nbl  
						
						 
						
						... 
						
						
						
						Signed-off-by: Odd Stranne <odd@mullvad.net> 
						
					 
					
						2019-07-05 16:28:59 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Odd Stranne 
							
						 
					 
					
						
						
						
						
							
						
						
							d268f03bc1 
							
						 
					 
					
						
						
							
							Rename labels to be more consistent  
						
						 
						
						... 
						
						
						
						Signed-off-by: Odd Stranne <odd@mullvad.net> 
						
					 
					
						2019-07-05 16:28:59 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Odd Stranne 
							
						 
					 
					
						
						
						
						
							
						
						
							75e434e3b8 
							
						 
					 
					
						
						
							
							Make error branching more compact  
						
						 
						
						... 
						
						
						
						Signed-off-by: Odd Stranne <odd@mullvad.net> 
						
					 
					
						2019-07-05 16:28:59 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							20586e37b2 
							
						 
					 
					
						
						
							
							Treat ReferenceCount as an atomic  
						
						 
						
						... 
						
						
						
						Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
						
					 
					
						2019-07-05 13:56:57 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							6fe055d0e8 
							
						 
					 
					
						
						
							
							Cleanup atomic getters  
						
						 
						
						... 
						
						
						
						Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
						
					 
					
						2019-07-05 13:45:39 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							2e7809f0d1 
							
						 
					 
					
						
						
							
							Version bump  
						
						 
						
						... 
						
						
						
						Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
						
					 
					
						2019-07-05 10:58:04 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							ee3254e46f 
							
						 
					 
					
						
						
							
							Return with proper error status for bad address  
						
						 
						
						... 
						
						
						
						Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
						
					 
					
						2019-07-05 08:49:07 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							ef12ddb2be 
							
						 
					 
					
						
						
							
							Do not take extra ActiveNBL when holding TransitionLock  
						
						 
						
						... 
						
						
						
						The transition lock ensures that TunPause won't drop its last reference
until the shared transition lock is dropped.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
						
					 
					
						2019-07-05 07:54:40 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							34e61dc3b0 
							
						 
					 
					
						
						
							
							Do not complete pause if we're not running  
						
						 
						
						... 
						
						
						
						Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
						
					 
					
						2019-07-05 07:43:17 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							7437155446 
							
						 
					 
					
						
						
							
							Decrease alignment requirements to 4  
						
						 
						
						... 
						
						
						
						Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
						
					 
					
						2019-07-05 06:15:46 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							a0f031c692 
							
						 
					 
					
						
						
							
							Do not use _RESOURCES but rather allocate our own copy  
						
						 
						
						... 
						
						
						
						Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Fixes: 09dc932  ("Create copies of NBLs to complete them faster") 
						
					 
					
						2019-07-05 06:15:46 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							6e947a3813 
							
						 
					 
					
						
						
							
							Add _IRQL_requires_same_ support to clang formatting  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-07-04 14:34:56 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							db9eaf108e 
							
						 
					 
					
						
						
							
							Declare TUN_MEMORY_TAG in network-byte order  
						
						 
						
						... 
						
						
						
						...due to popular demand.
Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-07-04 14:34:56 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							7ac5c57d41 
							
						 
					 
					
						
						
							
							Cleanup  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-07-04 14:34:56 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							f6663587da 
							
						 
					 
					
						
						
							
							Version bump  
						
						 
						
						... 
						
						
						
						Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
						
					 
					
						2019-07-04 14:34:56 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							09dc9324d1 
							
						 
					 
					
						
						
							
							Create copies of NBLs to complete them faster  
						
						 
						
						... 
						
						
						
						It turns out that waiting for them to come back in the return function
introduces extremely high latency.
We need to eventually stop doing this and move to a proper ring buffer.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
						
					 
					
						2019-07-04 14:34:49 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							b2182e0e90 
							
						 
					 
					
						
						
							
							Reorder ReturnNBL and DispatchWrite  
						
						 
						
						... 
						
						
						
						Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
						
					 
					
						2019-07-03 08:50:30 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							30d2b6e3a7 
							
						 
					 
					
						
						
							
							Receiving happens at dispatch level due to transition lock  
						
						 
						
						... 
						
						
						
						Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
						
					 
					
						2019-07-03 08:50:30 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							2517fb6659 
							
						 
					 
					
						
						
							
							Read userspace packet size once, before checks  
						
						 
						
						... 
						
						
						
						Otherwise userspace can twiddle things between checks.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
						
					 
					
						2019-07-03 08:50:30 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							dbf234926d 
							
						 
					 
					
						
						
							
							Use NDIS variable style for locals  
						
						 
						
						... 
						
						
						
						Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
						
					 
					
						2019-07-03 08:50:30 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							b71f64ae1c 
							
						 
					 
					
						
						
							
							Use only multi-line comments  
						
						 
						
						... 
						
						
						
						Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
						
					 
					
						2019-07-03 08:50:30 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							1d96af3b98 
							
						 
					 
					
						
						
							
							Account for device removal before initialization  
						
						 
						
						... 
						
						
						
						Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
						
					 
					
						2019-07-03 08:50:30 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							248d4268df 
							
						 
					 
					
						
						
							
							Use synchronize_rcu()-like semantics for exclusive transition lock  
						
						 
						
						... 
						
						
						
						Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
						
					 
					
						2019-07-03 08:50:30 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							33cac1114c 
							
						 
					 
					
						
						
							
							Fix up comment about replacement for ->Reserved  
						
						 
						
						... 
						
						
						
						Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
						
					 
					
						2019-07-03 08:50:30 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							ae6e72a39e 
							
						 
					 
					
						
						
							
							Simplify IRP processing after mapping  
						
						 
						
						... 
						
						
						
						Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
						
					 
					
						2019-07-03 08:50:30 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							d82a68f830 
							
						 
					 
					
						
						
							
							Allow buffer mapping to happen concurrently  
						
						 
						
						... 
						
						
						
						Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
						
					 
					
						2019-07-03 08:50:30 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							88bde5b28e 
							
						 
					 
					
						
						
							
							Correct and simplify page locking  
						
						 
						
						... 
						
						
						
						Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
						
					 
					
						2019-07-03 08:50:30 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							3d84bddcc0 
							
						 
					 
					
						
						
							
							Separate out MJ_CLOSE  
						
						 
						
						... 
						
						
						
						Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
						
					 
					
						2019-07-03 08:50:30 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							de481cdb12 
							
						 
					 
					
						
						
							
							Manually clean up ugly corners  
						
						 
						
						
						
					 
					
						2019-07-03 08:50:30 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							5ec565c7e8 
							
						 
					 
					
						
						
							
							Improve designated initializers  
						
						 
						
						... 
						
						
						
						Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
						
					 
					
						2019-07-03 08:50:30 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							5bbff1026f 
							
						 
					 
					
						
						
							
							Add NDIS team's clang-format conventions  
						
						 
						
						... 
						
						
						
						This needs clang-format 9. This reveals a lot of other things we should
clean up.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Link: https://community.osr.com/discussion/291376/clang-format-and-driver-code  
						
					 
					
						2019-07-03 08:50:30 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							007ea09d1b 
							
						 
					 
					
						
						
							
							Map user buffer only once  
						
						 
						
						... 
						
						
						
						This avoids needless page table modifications and also lets us enforce
having writable pages.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
						
					 
					
						2019-07-03 08:50:30 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							d50cab5732 
							
						 
					 
					
						
						
							
							Consider receive NBLs to be immutable  
						
						 
						
						... 
						
						
						
						Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
						
					 
					
						2019-07-03 08:50:30 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							be8d2cb071 
							
						 
					 
					
						
						
							
							Avoid allocating second MDL  
						
						 
						
						... 
						
						
						
						Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
						
					 
					
						2019-07-03 08:50:30 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							ca120aa1c0 
							
						 
					 
					
						
						
							
							Declare NDIS 6.83 compliant  
						
						 
						
						... 
						
						
						
						After confirming with Microsoft Documentation that Wintun is already
NDIS 6.83 compliant, we declare it so.
In order to build NDIS 6.83 miniport driver, WDK for Windows 10, version
1903 is required: documentation updated.
https://docs.microsoft.com/en-us/windows-hardware/drivers/network/introduction-to-ndis-6-81 
https://docs.microsoft.com/en-us/windows-hardware/drivers/network/introduction-to-ndis-6-82 
https://docs.microsoft.com/en-us/windows-hardware/drivers/network/introduction-to-ndis-6-83 
Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-07-03 08:50:30 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							de2c48db84 
							
						 
					 
					
						
						
							
							Make NDIS 6.80 compliant  
						
						 
						
						... 
						
						
						
						Implement support for synchronous OID requests and declare the Wintun as
NDIS 6.80 compliant.
https://docs.microsoft.com/en-us/windows-hardware/drivers/network/introduction-to-ndis-6-80 
Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-07-03 08:50:30 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							c394368e88 
							
						 
					 
					
						
						
							
							Declare NDIS 6.70 compliant  
						
						 
						
						... 
						
						
						
						After confirming with Microsoft Documentation that Wintun is already
NDIS 6.70 compliant, we declare it so.
Furthermore, determine NDIS version bounds from NDISxxx_MINIPORT
automatically.
https://docs.microsoft.com/en-us/windows-hardware/drivers/network/introduction-to-ndis-6-40 
https://docs.microsoft.com/en-us/windows-hardware/drivers/network/introduction-to-ndis-6-50 
https://docs.microsoft.com/en-us/windows-hardware/drivers/network/introduction-to-ndis-6-60 
https://docs.microsoft.com/en-us/windows-hardware/drivers/network/introduction-to-ndis-6-70 
Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-07-03 08:50:30 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							e4831b2011 
							
						 
					 
					
						
						
							
							Use ULONG instead of ptrdiff_t for length measurement  
						
						 
						
						... 
						
						
						
						Even though we're comparing this with a ptrdiff_t in one place and
adding it to a void* in another place, it's still a length and as such
should be a size_t, which I guess in our weird universe here is a ULONG.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
						
					 
					
						2019-06-21 12:20:33 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							dea5bfa2d2 
							
						 
					 
					
						
						
							
							Synchronize accesses to MiniportAdapterHandle  
						
						 
						
						... 
						
						
						
						Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
						
					 
					
						2019-06-20 15:17:36 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							17572da83e 
							
						 
					 
					
						
						
							
							Adopt "Tun" namespace at global AdapterCount variable  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-06-20 13:42:35 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							faf810e8cb 
							
						 
					 
					
						
						
							
							Fix NdisQueryMdl() NULL-buffer check  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-06-20 12:00:21 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							9514ef37b3 
							
						 
					 
					
						
						
							
							Save some valuable lessons learned on Windows internals  
						
						 
						
						... 
						
						
						
						Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-06-20 11:54:58 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							da3caadf48 
							
						 
					 
					
						
						
							
							Accept IRP_MJ_WRITE when paused but silently drop the packets  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-06-20 11:54:58 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							7004db43a7 
							
						 
					 
					
						
						
							
							Support surprise removal  
						
						 
						
						... 
						
						
						
						WHLK 1903 CHAOS tests are reporting lots of issues regarding surprise
removal misbehavior:
WDTF_PNP: INFO  : Result: TestSurpriseRemove operation timed out waiting
   for IRP_MN_REMOVE_DEVICE..
WDTF_PNP: ERROR : Result: Failed to receive IRP_MN_REMOVE_DEVICE after
   receiving IRP_MN_SURPRISE_REMOVAL. Ensure that there are no open
   handles or references to the test device (in user mode or in kernel
   mode) preventing IRP_MN_REMOVE_DEVICE from being sent. You may need
   to terminate any processes or services that may have open user mode
   handles to this device.  ( 80004005 ).
Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-06-20 11:54:58 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							85b4a769cf 
							
						 
					 
					
						
						
							
							Replace PnP notifications with IRP_MJ_PNP dispatch handler  
						
						 
						
						... 
						
						
						
						By replacing the NDIS' IRP_MJ_PNP dispatch handler we get the first
chance to clear the NBL queue to make NDIS proceed to TunPause() on
device removal.
This method is simpler than PnP notifications and we are chasing
surprise removal issues in WHLK tests. If this works, I'll hopefully
come back and update this commit message.
Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-06-20 11:54:58 +02:00