From 33d415d265b19b6be3c2393c106b7e49e538dbfe Mon Sep 17 00:00:00 2001 From: trasz Date: Tue, 4 Aug 2015 10:40:08 +0000 Subject: Fix panic triggered by code like this: open("/dev/md0", O_EXEC); Discussed with: kib@, mav@ MFC after: 1 month Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D3051 --- sys/geom/geom_dev.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'sys/geom') diff --git a/sys/geom/geom_dev.c b/sys/geom/geom_dev.c index 3df7f3e..0d34ef5 100644 --- a/sys/geom/geom_dev.c +++ b/sys/geom/geom_dev.c @@ -358,6 +358,13 @@ g_dev_open(struct cdev *dev, int flags, int fmt, struct thread *td) #else e = 0; #endif + + /* + * This happens on attempt to open a device node with O_EXEC. + */ + if (r + w + e == 0) + return (EINVAL); + if (w) { /* * When running in very secure mode, do not allow -- cgit v1.1