~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/tools/testing/selftests/media_tests/regression_test.txt

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 Testing for regressions in Media Controller API register, ioctl, syscall,
  2 and unregister paths. There have a few problems that result in user-after
  3 free on media_device, media_devnode, and cdev pointers when the driver is
  4 unbound while ioctl is in progress.
  5 
  6 Test Procedure:
  7 
  8 Run bin/unbind loop while ioctls are in progress.
  9 Run rmmod and modprobe.
 10 Disconnect the device.
 11 
 12 Setup:
 13 
 14 Build media_device_test
 15 cd tools/testing/selftests/media_tests
 16 make
 17 
 18 Regressions test for cdev user-after free error on /dev/mediaX when driver
 19 is unbound:
 20 
 21 Start media_device_test to regression test media devnode dynamic alloc
 22 and cdev user-after-free fixes. This opens media dev files and sits in
 23 a loop running media ioctl MEDIA_IOC_DEVICE_INFO command once every 10
 24 seconds. The idea is when device file goes away, media devnode and cdev
 25 should stick around until this test exits.
 26 
 27 The test for a random number of iterations or until user kills it with a
 28 sleep 10 in between the ioctl calls.
 29 
 30 sudo ./media_device_test -d /dev/mediaX
 31 
 32 Regression test for media_devnode unregister race with ioctl_syscall:
 33 
 34 Start 6 open_loop_test.sh tests with different /dev/mediaX files. When
 35 device file goes away after unbind, device file name changes. Start the
 36 test with possible device names. If we start with /dev/media0 for example,
 37 after unbind, /dev/media1 or /dev/media2 could get created. The idea is
 38 keep ioctls going while bind/unbind runs.
 39 
 40 Copy bind_unbind_sample.txt and make changes to specify the driver name
 41 and number to run bind and unbind. Start the bind_unbind.sh
 42 
 43 Run dmesg looking for any user-after free errors or mutex lock errors.

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php