• Linus Torvalds's avatar
    Merge tag 'ktest-v4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest · 8557b8e4
    Linus Torvalds authored
    Pull ktest fixes from Steven Rostedt:
     "Greg Kroah-Hartman reported to me that the ktest of v4.11-rc1 locked
      up in an infinite loop while doing the make mrproper.
    
      Looking into the cause I noticed that a recent update to the function
      run_command (used for running all shell commands, including "make
      mrproper") changed the internal loop to use the function
      wait_for_input.
    
      The wait_for_input function uses select to look at two file
      descriptors. One is the file descriptor of the command it is running,
      the other is STDIN. The STDIN check was not checking the return status
      of the sysread call, and was also just writing a lot of data into
      syswrite without regard to the size of the data read.
    
      Changing the code to check the return status of sysread, and also to
      still process the passed in descriptor data without looping back to
      the select fixed Greg's problem.
    
      While looking at this code I also realized that the loop did not honor
      the timeout if STDIN always had input (or for some reason return
      error). this could prevent wait_for_input to timeout on the file
      descriptor it is suppose to be waiting for. That is fixed too"
    
    * tag 'ktest-v4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest:
      ktest: Make sure wait_for_input does honor the timeout
      ktest: Fix while loop in wait_for_input
    8557b8e4
ktest.pl 96.7 KB