Since r213526 device names are checked on device registration. That is,
if you call a make_dev*() function with an invalid device name, a panic
will occur by default. For make_dev_credf(9) or make_dev_p(9) you can
specify the MAKEDEV_CHECKNAME flag to get an error return instead of a
panic.

Invalid names are as follows:

- empty name
- names longer than SPECNAMELEN
- names containing "." or ".." path component
- names ending with '/'
- already existing device names

So, if you see a "bad si_name" panic you may have encountered a driver
bug.

Currently several GEOM classes (notably geom_label) allow to create
devices with invalid names. Below is a link to a patch which converts
g_dev_taste() to use make_dev_p() with MAKEDEV_CHECKNAME flag. It's not
a complete solution and essentially changes the panic to a printf.

        http://people.freebsd.org/~jh/patches/geom_dev-checkname.diff

-- 
Jaakko
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to