git: kernel: fix a checkloop panic caused by EOPNOTSUPP not being passed down correctly

Markus Pfeiffer profmakx at crater.dragonflybsd.org
Wed Jun 20 15:04:59 PDT 2012


commit 088621c17af05faef491565f0d1b276d7b2077d0
Author: Markus Pfeiffer <markus.pfeiffer at morphism.de>
Date:   Wed Jun 20 21:59:48 2012 +0000

    kernel: fix a checkloop panic caused by EOPNOTSUPP not being passed down correctly
    
    * When poll(2)ing /dev/tty dev_dkqfilter gets called twice,
      on the inner call, since EOPNOTSUPP is returned the outer
      call returns ENODEV leading to a checkloop panic.
    
    * A new testcase in test/testcases/io/poll_1 will panic
      the system if started without this patch applied.

Summary of changes:
 sys/kern/kern_device.c                             |    4 +++-
 test/testcases/io/Makefile                         |    1 +
 .../{compiler/div128 => io/poll_1}/Makefile        |    2 +-
 test/testcases/io/poll_1/poll_1.c                  |   20 ++++++++++++++++++++
 4 files changed, 25 insertions(+), 2 deletions(-)
 copy test/testcases/{compiler/div128 => io/poll_1}/Makefile (68%)
 create mode 100644 test/testcases/io/poll_1/poll_1.c

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/088621c17af05faef491565f0d1b276d7b2077d0


-- 
DragonFly BSD source repository





More information about the Commits mailing list