drivers/: Multiple Drivers Are Registered With World Writable - Part 2

Permissions (Part 2)

Description:

In kernel builds, any unprivileged process running on the NuttX
device can open /dev/efuse and attempt to read/write fuse content.
Reading the fuses may provide valuable information to an attacker
controlling the user process. The write operation, in extreme cases
where the fuse blocks are not locked, may brick the device.

DISCLAIMER: I tried to be strict with the settings, better to relax them
later if it's needed.

This is part of https://github.com/apache/nuttx/issues/19410

See https://github.com/apache/nuttx/issues/19410

Compiles ok.

Signed-off-by: Catalin Visinescu <catalin_visinescu@yahoo.com>
This commit is contained in:
Catalin Visinescu 2026-07-14 20:40:10 -04:00 committed by Xiang Xiao
parent f20cf4aac3
commit 081e4c478a
197 changed files with 207 additions and 207 deletions

View file

@ -684,7 +684,7 @@ struct file *esp_dedic_gpio_new_bundle(
dedic_gpio_common[cpu].refs++;
register_driver(config->path, &dedic_gpio_ops,
0666, priv);
0600, priv);
return (struct file *)priv;
}

View file

@ -313,7 +313,7 @@ static ssize_t esp_nxdiag_read(struct file *filep,
static int esp_nxdiag_register(void)
{
return register_driver("/dev/nxdiag", &g_nxdiagops, 0440, NULL);
return register_driver("/dev/nxdiag", &g_nxdiagops, 0400, NULL);
}
/****************************************************************************

View file

@ -415,7 +415,7 @@ static void esp_temp_sensor_register(struct esp_temp_priv_s *priv)
{
#ifndef CONFIG_ESPRESSIF_TEMP_UORB
register_driver(CONFIG_ESPRESSIF_TEMP_PATH, &g_esp_temp_sensor_fops,
0666, priv);
0600, priv);
#else
priv->lower.type = SENSOR_TYPE_TEMPERATURE;
sensor_register(&priv->lower, CONFIG_ESPRESSIF_TEMP_PATH_DEVNO);

View file

@ -556,7 +556,7 @@ int ak09912_scu_register(const char *devpath, int minor,
/* Register the character driver */
snprintf(path, sizeof(path), "%s%d", devpath, minor);
ret = register_driver(path, &g_ak09912fops, 0660, priv);
ret = register_driver(path, &g_ak09912fops, 0640, priv);
if (ret < 0)
{
snerr("Failed to register driver: %d\n", ret);

View file

@ -541,7 +541,7 @@ int bm1383glv_register(const char *devpath, int minor,
/* Register the character driver */
snprintf(path, sizeof(path), "%s%d", devpath, minor);
ret = register_driver(path, &g_bm1383glvfops, 0660, priv);
ret = register_driver(path, &g_bm1383glvfops, 0640, priv);
if (ret < 0)
{
snerr("Failed to register driver: %d\n", ret);

View file

@ -525,7 +525,7 @@ int bm1422gmv_register(const char *devpath, int minor,
/* Register the character driver */
snprintf(path, sizeof(path), "%s%d", devpath, minor);
ret = register_driver(path, &g_bm1422gmvfops, 0660, priv);
ret = register_driver(path, &g_bm1422gmvfops, 0640, priv);
if (ret < 0)
{
snerr("Failed to register driver: %d\n", ret);

View file

@ -79,7 +79,7 @@ static int sam_progmem_register_driver(int minor, struct mtd_dev_s *mtd,
/* Register the MTD driver */
ret = register_mtddriver(devpath, mtd, 0755, NULL);
ret = register_mtddriver(devpath, mtd, 0750, NULL);
if (ret < 0)
{
ferr("ERROR: register_mtddriver %s failed: %d\n", devpath, ret);

View file

@ -1584,7 +1584,7 @@ int stm32_slcd_initialize(void)
/* Register the LCD device driver */
ret = register_driver("/dev/slcd0", &g_slcdops, 0644, &g_slcdstate);
ret = register_driver("/dev/slcd0", &g_slcdops, 0640, &g_slcdstate);
g_slcdstate.initialized = true;
/* Then clear the display */

View file

@ -1371,7 +1371,7 @@ int pic32mx_tsc_setup(int minor)
snprintf(devname, sizeof(devname), DEV_FORMAT, minor);
iinfo("Registering %s\n", devname);
ret = register_driver(devname, &g_tc_fops, 0660, priv);
ret = register_driver(devname, &g_tc_fops, 0640, priv);
if (ret < 0)
{
ierr("ERROR: register_driver() failed: %d\n", ret);

View file

@ -1076,7 +1076,7 @@ int up_lcd1602_initialize(void)
/* Register the LCD device driver */
ret = register_driver("/dev/lcd1602", &g_lcdops, 0644, &g_lcd1602);
ret = register_driver("/dev/lcd1602", &g_lcdops, 0640, &g_lcd1602);
g_lcd1602.initialized = true;
}

View file

@ -463,7 +463,7 @@ etb_register(FAR const struct coresight_desc_s *desc)
}
snprintf(pathname, sizeof(pathname), "/dev/%s", desc->name);
ret = register_driver(pathname, &g_etb_fops, 0444, etbdev);
ret = register_driver(pathname, &g_etb_fops, 0400, etbdev);
if (ret < 0)
{
cserr("%s:driver register failed\n", desc->name);

View file

@ -511,7 +511,7 @@ int tmc_etf_register(FAR struct coresight_tmc_dev_s * tmcdev,
}
snprintf(pathname, sizeof(pathname), "/dev/%s", desc->name);
ret = register_driver(pathname, &g_tmc_fops, 0444, tmcdev);
ret = register_driver(pathname, &g_tmc_fops, 0400, tmcdev);
if (ret < 0)
{
cserr("%s:driver register failed\n", desc->name);

View file

@ -384,7 +384,7 @@ int i3c_register(FAR struct i3c_master_controller *master, int bus)
/* Create the character device name */
snprintf(devname, sizeof(devname), DEVNAME_FMT, bus);
ret = register_driver(devname, &g_i3cdrvr_fops, 0666, priv);
ret = register_driver(devname, &g_i3cdrvr_fops, 0600, priv);
if (ret < 0)
{
/* Free the device structure if we failed to create the character

View file

@ -1166,7 +1166,7 @@ int ads7843e_register(FAR struct spi_dev_s *spi,
snprintf(devname, sizeof(devname), DEV_FORMAT, minor);
iinfo("Registering %s\n", devname);
ret = register_driver(devname, &g_ads7843e_fops, 0666, priv);
ret = register_driver(devname, &g_ads7843e_fops, 0600, priv);
if (ret < 0)
{
ierr("ERROR: register_driver() failed: %d\n", ret);

View file

@ -730,7 +730,7 @@ int ajoy_register(FAR const char *devname,
/* And register the ajoystick driver */
ret = register_driver(devname, &g_ajoy_fops, 0666, priv);
ret = register_driver(devname, &g_ajoy_fops, 0600, priv);
if (ret < 0)
{
ierr("ERROR: register_driver failed: %d\n", ret);

View file

@ -810,7 +810,7 @@ int btn_register(FAR const char *devname,
/* And register the button driver */
ret = register_driver(devname, &g_btn_fops, 0666, priv);
ret = register_driver(devname, &g_btn_fops, 0600, priv);
if (ret < 0)
{
ierr("ERROR: register_driver failed: %d\n", ret);

View file

@ -1105,7 +1105,7 @@ cypress_mbr3108_register(FAR const char *devpath,
nxmutex_init(&priv->devlock);
ret = register_driver(devpath, &g_mbr3108_fileops, 0666, priv);
ret = register_driver(devpath, &g_mbr3108_fileops, 0600, priv);
if (ret < 0)
{
nxmutex_destroy(&priv->devlock);

View file

@ -721,7 +721,7 @@ int djoy_register(FAR const char *devname,
/* And register the djoystick driver */
ret = register_driver(devname, &g_djoy_fops, 0666, priv);
ret = register_driver(devname, &g_djoy_fops, 0600, priv);
if (ret < 0)
{
ierr("ERROR: register_driver failed: %d\n", ret);

View file

@ -543,7 +543,7 @@ int ff_register(FAR struct ff_lowerhalf_s *lower, FAR const char *path,
upper->effects = (FAR struct ff_effect_s *)(upper + 1);
nxmutex_init(&upper->lock);
ret = register_driver(path, &g_ff_fops, 0666, upper);
ret = register_driver(path, &g_ff_fops, 0600, upper);
if (ret < 0)
{
nxmutex_destroy(&upper->lock);

View file

@ -931,7 +931,7 @@ int gt9xx_register(FAR const char *devpath,
/* Register the Touch Input Driver */
ret = register_driver(devpath, &g_gt9xx_fileops, 0666, priv);
ret = register_driver(devpath, &g_gt9xx_fileops, 0600, priv);
if (ret < 0)
{
nxmutex_destroy(&priv->devlock);

View file

@ -347,7 +347,7 @@ int keyboard_register(FAR struct keyboard_lowerhalf_s *lower,
list_initialize(&upper->head);
nxmutex_init(&upper->lock);
ret = register_driver(path, &g_keyboard_fops, 0666, upper);
ret = register_driver(path, &g_keyboard_fops, 0600, upper);
if (ret < 0)
{
nxmutex_destroy(&upper->lock);

View file

@ -1200,7 +1200,7 @@ int max11802_register(FAR struct spi_dev_s *spi,
snprintf(devname, sizeof(devname), DEV_FORMAT, minor);
iinfo("Registering %s\n", devname);
ret = register_driver(devname, &g_max11802_fops, 0666, priv);
ret = register_driver(devname, &g_max11802_fops, 0600, priv);
if (ret < 0)
{
ierr("ERROR: register_driver() failed: %d\n", ret);

View file

@ -379,7 +379,7 @@ int mouse_register(FAR struct mouse_lowerhalf_s *lower,
list_initialize(&upper->head);
nxmutex_init(&upper->lock);
ret = register_driver(path, &g_mouse_fops, 0666, upper);
ret = register_driver(path, &g_mouse_fops, 0600, upper);
if (ret < 0)
{
nxmutex_destroy(&upper->lock);

View file

@ -1883,7 +1883,7 @@ int mxt_register(FAR struct i2c_master_s *i2c,
snprintf(devname, sizeof(devname), DEV_FORMAT, minor);
iinfo("Registering %s\n", devname);
ret = register_driver(devname, &g_mxt_fops, 0666, priv);
ret = register_driver(devname, &g_mxt_fops, 0600, priv);
if (ret < 0)
{
ierr("ERROR: register_driver() failed: %d\n", ret);

View file

@ -564,7 +564,7 @@ int nunchuck_register(FAR const char *devname, FAR struct i2c_master_s *i2c)
/* And register the nunchuck driver */
ret = register_driver(devname, &g_nunchuck_fops, 0666, priv);
ret = register_driver(devname, &g_nunchuck_fops, 0600, priv);
if (ret < 0)
{
ierr("ERROR: register_driver failed: %d\n", ret);

View file

@ -1032,7 +1032,7 @@ int spq10kbd_register(FAR struct i2c_master_s *i2c,
snprintf(kbddevname, sizeof(kbddevname), DEV_FORMAT, kbdminor);
iinfo("Registering %s\n", kbddevname);
ret = register_driver(kbddevname, &g_hidkbd_fops, 0666, priv);
ret = register_driver(kbddevname, &g_hidkbd_fops, 0600, priv);
#ifdef CONFIG_SPQ10KBD_DJOY
iinfo("Registering %s\n", joydevname);

View file

@ -904,7 +904,7 @@ int stmpe811_register(STMPE811_HANDLE handle, int minor)
/* Register the character driver */
snprintf(devname, sizeof(devname), DEV_FORMAT, minor);
ret = register_driver(devname, &g_stmpe811fops, 0666, priv);
ret = register_driver(devname, &g_stmpe811fops, 0600, priv);
if (ret < 0)
{
ierr("ERROR: Failed to register driver %s: %d\n", devname, ret);

View file

@ -492,7 +492,7 @@ int touch_register(FAR struct touch_lowerhalf_s *lower,
list_initialize(&upper->head);
nxmutex_init(&upper->lock);
ret = register_driver(path, &g_touch_fops, 0666, upper);
ret = register_driver(path, &g_touch_fops, 0600, upper);
if (ret < 0)
{
nxmutex_destroy(&upper->lock);

View file

@ -1247,7 +1247,7 @@ int tsc2007_register(FAR struct i2c_master_s *dev,
snprintf(devname, sizeof(devname), DEV_FORMAT, minor);
iinfo("Registering %s\n", devname);
ret = register_driver(devname, &g_tsc2007_fops, 0666, priv);
ret = register_driver(devname, &g_tsc2007_fops, 0600, priv);
if (ret < 0)
{
ierr("ERROR: register_driver() failed: %d\n", ret);

View file

@ -791,7 +791,7 @@ int gpio_pin_register_byname(FAR struct gpio_dev_s *dev,
gpioinfo("Registering %s\n", devname);
return register_driver(devname, &g_gpio_drvrops, 0666, dev);
return register_driver(devname, &g_gpio_drvrops, 0600, dev);
}
/****************************************************************************

View file

@ -167,7 +167,7 @@ int ipcc_register(FAR struct ipcc_lower_s *ipcc)
/* Create the character device name */
snprintf(devname, sizeof(devname), DEVNAME_FMT, ipcc->chan);
if ((ret = register_driver(devname, &g_ipcc_fops, 0666, priv)))
if ((ret = register_driver(devname, &g_ipcc_fops, 0600, priv)))
{
goto error;
}

View file

@ -1575,7 +1575,7 @@ int ft80x_register(FAR struct i2c_master_s *i2c,
/* Register the FT80x character driver */
ret = register_driver(DEVNAME, &g_ft80x_fops, 0666, priv);
ret = register_driver(DEVNAME, &g_ft80x_fops, 0600, priv);
if (ret < 0)
{
goto errout_with_interrupts;

View file

@ -1094,7 +1094,7 @@ int ht16k33_register(int devno, FAR struct i2c_master_s *i2c)
/* Register the driver */
ret = register_driver(devname, &g_ht16k33fops, 0666, priv);
ret = register_driver(devname, &g_ht16k33fops, 0600, priv);
if (ret < 0)
{
snerr("ERROR: Failed to register driver: %d\n", ret);

View file

@ -443,7 +443,7 @@ int lcddev_register(int devno)
}
snprintf(devname, sizeof(devname), "/dev/lcd%i", devno);
ret = register_driver(devname, &g_lcddev_fops, 0666, priv);
ret = register_driver(devname, &g_lcddev_fops, 0600, priv);
if (ret < 0)
{
goto err;

View file

@ -1632,7 +1632,7 @@ int pcf8574_lcd_backpack_register(FAR const char *devpath,
/* Register the character driver */
ret = register_driver(devpath, &g_pcf8574_lcd_fops, 0666, priv);
ret = register_driver(devpath, &g_pcf8574_lcd_fops, 0600, priv);
if (ret < 0)
{
lcdinfo("Failed to register driver: %d\n", ret);

View file

@ -1020,7 +1020,7 @@ int st7032_register(FAR const char *devpath, FAR struct i2c_master_s *i2c)
/* Register the driver */
ret = register_driver(devpath, &g_st7032fops, 0666, priv);
ret = register_driver(devpath, &g_st7032fops, 0600, priv);
if (ret < 0)
{
snerr("ERROR: Failed to register driver: %d\n", ret);

View file

@ -1682,7 +1682,7 @@ TDA19988_HANDLE tda19988_register(FAR const char *devpath,
/* Register the driver */
ret = register_driver(devpath, &g_tda19988_fops, 0666, NULL);
ret = register_driver(devpath, &g_tda19988_fops, 0600, NULL);
if (ret < 0)
{
lcderr("ERROR: register_driver() failed: %d\n", ret);

View file

@ -249,7 +249,7 @@ int apa102_register(FAR const char *devpath, FAR struct spi_dev_s *spi)
/* Register the character driver */
ret = register_driver(devpath, &g_apa102fops, 0666, priv);
ret = register_driver(devpath, &g_apa102fops, 0600, priv);
if (ret < 0)
{
snerr("ERROR: Failed to register driver: %d\n", ret);

View file

@ -741,7 +741,7 @@ int ktd2052_register(FAR const char *devpath, FAR struct i2c_master_s *i2c,
/* Register the character driver */
ret = register_driver(devpath, &g_ktd2052_fops, 0666, priv);
ret = register_driver(devpath, &g_ktd2052_fops, 0600, priv);
if (ret < 0)
{
kmm_free(priv);

View file

@ -947,7 +947,7 @@ int lp503x_register(const char *devpath, struct i2c_master_s *i2c,
/* Register the character driver */
ret = register_driver(devpath, &g_lp503x_fileops, 0222, priv);
ret = register_driver(devpath, &g_lp503x_fileops, 0200, priv);
if (ret != OK)
{
lederr("ERROR: Failed to register driver: %d\n", ret);

View file

@ -349,7 +349,7 @@ int max7219_leds_register(FAR const char *devpath, FAR struct spi_dev_s *spi)
/* Register the character driver */
ret = register_driver(devpath, &g_max7219fops, 0666, priv);
ret = register_driver(devpath, &g_max7219fops, 0600, priv);
if (ret < 0)
{
lederr("ERROR: Failed to register driver: %d\n", ret);

View file

@ -284,7 +284,7 @@ int ncp5623c_register(FAR const char *devpath, FAR struct i2c_master_s *i2c,
/* Register the character driver */
int const ret = register_driver(devpath, &g_ncp5623c_fileops, 0666, priv);
int const ret = register_driver(devpath, &g_ncp5623c_fileops, 0600, priv);
if (ret != OK)
{
lcderr("ERROR: Failed to register driver: %d\n", ret);

View file

@ -356,7 +356,7 @@ int pca9635pw_register(FAR const char *devpath, FAR struct i2c_master_s *i2c,
/* Register the character driver */
int const ret = register_driver(devpath, &g_pca9635pw_fileops, 0222, priv);
int const ret = register_driver(devpath, &g_pca9635pw_fileops, 0200, priv);
if (ret != OK)
{
lcderr("ERROR: Failed to register driver: %d\n", ret);

View file

@ -496,7 +496,7 @@ int rgbled_register(FAR const char *path, FAR struct pwm_lowerhalf_s *ledr,
/* Register the PWM device */
lcdinfo("Registering %s\n", path);
return register_driver(path, &g_rgbledops, 0666, upper);
return register_driver(path, &g_rgbledops, 0600, upper);
}
#endif /* CONFIG_RGBLED */

View file

@ -550,7 +550,7 @@ int userled_register(FAR const char *devname,
/* And register the LED driver */
ret = register_driver(devname, &g_userled_fops, 0666, priv);
ret = register_driver(devname, &g_userled_fops, 0600, priv);
if (ret < 0)
{
lederr("ERROR: register_driver failed: %d\n", ret);

View file

@ -614,7 +614,7 @@ int ws2812_register(FAR const char *dev_path,
{
/* Register the character driver */
int ret = register_driver(dev_path, &g_ws2812fops, 0666, dev_data);
int ret = register_driver(dev_path, &g_ws2812fops, 0600, dev_data);
if (ret < 0)
{
lederr("ERROR: Failed to register ws2812 driver: %d\n", ret);
@ -685,7 +685,7 @@ int ws2812_leds_register(FAR const char *devpath, FAR struct spi_dev_s *spi,
/* Register the character driver */
ret = register_driver(devpath, &g_ws2812fops, 0666, priv);
ret = register_driver(devpath, &g_ws2812fops, 0600, priv);
if (ret < 0)
{
lederr("ERROR: Failed to register driver: %d\n", ret);

View file

@ -168,7 +168,7 @@ static int loop_ioctl(FAR struct file *filep, int cmd, unsigned long arg)
void loop_register(void)
{
register_driver("/dev/loop", &g_loop_fops, 0666, NULL);
register_driver("/dev/loop", &g_loop_fops, 0600, NULL);
}
#endif /* CONFIG_DEV_LOOP */

View file

@ -220,7 +220,7 @@ int math_register(FAR const char *path,
/* Register the math timer device */
ret = register_driver(path, &g_math_ops, 0666, upper);
ret = register_driver(path, &g_math_ops, 0600, upper);
if (ret < 0)
{
_err("register math driver failed: %d\n", ret);

View file

@ -137,5 +137,5 @@ static int devascii_poll(FAR struct file *filep, FAR struct pollfd *fds,
void devascii_register(void)
{
register_driver("/dev/ascii", &g_devascii_fops, 0666, NULL);
register_driver("/dev/ascii", &g_devascii_fops, 0644, NULL);
}

View file

@ -198,5 +198,5 @@ static int devmem_mmap(FAR struct file *filep,
int devmem_register(void)
{
return register_driver("/dev/mem", &g_devmem_fops,
0666, (FAR void *)g_memory_region);
0600, (FAR void *)g_memory_region);
}

View file

@ -316,5 +316,5 @@ void up_putc(int ch)
void lwlconsole_init(void)
{
register_driver("/dev/console", &g_consoleops, 0666, NULL);
register_driver("/dev/console", &g_consoleops, 0620, NULL);
}

View file

@ -1501,7 +1501,7 @@ int optee_register(void)
}
#ifdef CONFIG_DEV_OPTEE_SUPPLICANT
ret = register_driver(OPTEE_SUPPLICANT_DEV_PATH, &g_optee_ops, 0666,
ret = register_driver(OPTEE_SUPPLICANT_DEV_PATH, &g_optee_ops, 0600,
(FAR void *)OPTEE_ROLE_SUPPLICANT);
if (ret < 0)
{
@ -1509,7 +1509,7 @@ int optee_register(void)
}
#endif
return register_driver(OPTEE_DEV_PATH, &g_optee_ops, 0666,
return register_driver(OPTEE_DEV_PATH, &g_optee_ops, 0600,
(FAR void *)OPTEE_ROLE_CA);
}

View file

@ -1307,7 +1307,7 @@ int rpmsgblk_register(FAR const char *remotecpu, FAR const char *remotepath,
localpath = remotepath;
}
ret = register_blockdriver(localpath, &dev->blk, 0755, dev);
ret = register_blockdriver(localpath, &dev->blk, 0750, dev);
if (ret < 0)
{
ferr("ERROR: register driver failed, ret=%d\n", ret);

View file

@ -1196,7 +1196,7 @@ int rpmsgdev_register(FAR const char *remotecpu, FAR const char *remotepath,
localpath = remotepath;
}
ret = register_driver(localpath, &g_rpmsgdev_ops, 0666, dev);
ret = register_driver(localpath, &g_rpmsgdev_ops, 0600, dev);
if (ret < 0)
{
rpmsgdeverr("register driver failed, ret=%d\n", ret);

View file

@ -4407,7 +4407,7 @@ static int mmcsd_probe(FAR struct mmcsd_state_s *priv)
{
snprintf(devname, sizeof(devname), "/dev/mmcsd%d%s",
priv->minor, g_partname[i]);
register_blockdriver(devname, &g_bops, 0666,
register_blockdriver(devname, &g_bops, 0660,
&priv->part[i]);
}
}

View file

@ -1511,7 +1511,7 @@ FAR void *alt1250_register(FAR const char *devpath,
nxsem_init(&g_alt1250_res_s.sem, 0, 0);
#endif
ret = register_driver(devpath, &g_alt1250fops, 0666, priv);
ret = register_driver(devpath, &g_alt1250fops, 0600, priv);
if (ret < 0)
{
m_err("Failed to register driver: %d\n", ret);

View file

@ -294,7 +294,7 @@ FAR void *ubxmdm_register(FAR const char *path,
goto errout_with_upper;
}
ret = register_driver(path, &g_ubxmdm_fops, 0666, upper);
ret = register_driver(path, &g_ubxmdm_fops, 0600, upper);
if (ret < 0)
{
m_err("ERROR: register_driver failed: %d\n", ret);

View file

@ -915,7 +915,7 @@ int foc_register(FAR const char *path, FAR struct foc_dev_s *dev)
/* Register the FOC character driver */
ret = register_driver(path, &g_foc_fops, 0666, dev);
ret = register_driver(path, &g_foc_fops, 0600, dev);
if (ret < 0)
{
nxmutex_destroy(&dev->closelock);

View file

@ -587,7 +587,7 @@ int motor_register(FAR const char *path,
/* Register the motor character driver */
ret = register_driver(path, &g_motor_fops, 0666, upper);
ret = register_driver(path, &g_motor_fops, 0600, upper);
if (ret < 0)
{
nxmutex_destroy(&upper->closelock);

View file

@ -338,7 +338,7 @@ int stepper_register(FAR const char *path,
/* Register the stepper character driver */
ret = register_driver(path, &g_stepper_fops, 0666, stepper);
ret = register_driver(path, &g_stepper_fops, 0600, stepper);
if (ret < 0)
{
nxmutex_destroy(&stepper->lock);

View file

@ -754,7 +754,7 @@ int dhara_initialize_by_path(FAR const char *path,
* DHARA_MTDBLOCK device structure
*/
ret = register_blockdriver(path, &g_dhara_bops, 0666, dev);
ret = register_blockdriver(path, &g_dhara_bops, 0660, dev);
if (ret < 0)
{
ferr("register_blockdriver failed: %d\n", ret);

View file

@ -948,6 +948,6 @@ bool filemtd_isfilemtd(FAR struct mtd_dev_s *dev)
#ifdef CONFIG_MTD_LOOP
int mtd_loop_register(void)
{
return register_driver("/dev/loopmtd", &g_fops, 0666, NULL);
return register_driver("/dev/loopmtd", &g_fops, 0600, NULL);
}
#endif

View file

@ -1784,7 +1784,7 @@ int mtdconfig_register_by_path(FAR struct mtd_dev_s *mtd,
}
nxmutex_init(&dev->lock);
register_driver(path, &g_mtdconfig_fops, 0666, dev);
register_driver(path, &g_mtdconfig_fops, 0600, dev);
}
errout:

View file

@ -2489,7 +2489,7 @@ int mtdconfig_register_by_path(FAR struct mtd_dev_s *mtd,
goto mutex_err;
}
rc = register_driver(path, &g_mtdnvs_fops, 0666, fs);
rc = register_driver(path, &g_mtdnvs_fops, 0600, fs);
if (rc < 0)
{
ferr("ERROR: register mtd config failed: %d\n", rc);

View file

@ -542,7 +542,7 @@ int nvblk_initialize(FAR const char *path,
* NVBLK_MTDBLOCK device structure
*/
ret = register_blockdriver(path, &g_nvblk_bops, 0666, dev);
ret = register_blockdriver(path, &g_nvblk_bops, 0660, dev);
if (ret < 0)
{
ferr("register_blockdriver failed: %d\n", ret);

View file

@ -6346,7 +6346,7 @@ errout:
#ifdef CONFIG_SMART_DEV_LOOP
int smart_loop_register_driver(void)
{
return register_driver("/dev/smart", &g_fops, 0666, NULL);
return register_driver("/dev/smart", &g_fops, 0600, NULL);
}
#endif

View file

@ -1023,7 +1023,7 @@ static int telnet_session(FAR struct telnet_session_s *session)
/* Register the driver */
ret = register_driver(session->ts_devpath, &g_telnet_fops, 0666, priv);
ret = register_driver(session->ts_devpath, &g_telnet_fops, 0600, priv);
if (ret < 0)
{
nerr("ERROR: Failed to register the driver %s: %d\n",
@ -1274,7 +1274,7 @@ static int factory_ioctl(FAR struct file *filep, int cmd, unsigned long arg)
int telnet_initialize(void)
{
return register_driver("/dev/telnet", &g_factory_fops, 0666, NULL);
return register_driver("/dev/telnet", &g_factory_fops, 0600, NULL);
}
#endif /* CONFIG_NETDEV_TELNET */

View file

@ -237,5 +237,5 @@ static int notectl_ioctl(FAR struct file *filep, int cmd, unsigned long arg)
int notectl_register(void)
{
return register_driver("/dev/notectl", &g_notectl_fops, 0666, NULL);
return register_driver("/dev/notectl", &g_notectl_fops, 0600, NULL);
}

View file

@ -1359,7 +1359,7 @@ int noteram_register(void)
#ifdef CONFIG_DRIVERS_NOTERAM_CRASH_DUMP
noteram_crash_dump_register(&g_noteram_driver);
#endif
return register_driver("/dev/note/ram", &g_noteram_fops, 0666,
return register_driver("/dev/note/ram", &g_noteram_fops, 0400,
&g_noteram_driver);
}
@ -1438,7 +1438,7 @@ noteram_initialize(FAR const char *devpath, size_t bufsize,
return &drv->driver;
}
ret = register_driver(devpath, &g_noteram_fops, 0666, drv);
ret = register_driver(devpath, &g_noteram_fops, 0400, drv);
if (ret < 0)
{
kmm_free(drv);

View file

@ -2354,7 +2354,7 @@ uint8_t pci_bus_find_capability(FAR struct pci_bus_s *bus,
int pci_dev_register(void)
{
return register_driver("/dev/pci", &g_pci_fops, 0666, NULL);
return register_driver("/dev/pci", &g_pci_fops, 0600, NULL);
}
/****************************************************************************

View file

@ -827,7 +827,7 @@ static int pci_ep_test_probe(FAR struct pci_device_s *dev)
snprintf(test->name, sizeof(test->name),
PCI_EP_TEST_DEVICE_NAME ".%d", g_pci_ep_idr++);
register_driver(test->name, &g_pci_ep_test_fops, 0666, test);
register_driver(test->name, &g_pci_ep_test_fops, 0600, test);
pciinfo("pci ep test device register success.\n");
return 0;

View file

@ -483,7 +483,7 @@ static int uio_ivshmem_probe(FAR struct ivshmem_device_s *dev)
ivshmem_control_irq(dev, true);
snprintf(udev->name, sizeof(udev->name), "/dev/uio%d", udev->drv.id);
ret = register_driver(udev->name, &g_uio_ivshmem_fops, 0666, udev);
ret = register_driver(udev->name, &g_uio_ivshmem_fops, 0600, udev);
if (ret < 0)
{
pcierr("ERROR: Ivshmem register_driver failed, ret=%d\n", ret);

View file

@ -227,7 +227,7 @@ int pinctrl_register(FAR struct pinctrl_dev_s *dev, int minor)
char devname[32];
snprintf(devname, 16, "/dev/pinctrl%u", (unsigned int)minor);
return register_driver(devname, &g_pinctrl_drvrops, 0666, dev);
return register_driver(devname, &g_pinctrl_drvrops, 0600, dev);
}
/****************************************************************************

View file

@ -559,7 +559,7 @@ int battery_charger_register(FAR const char *devpath,
/* Register the character driver */
ret = register_driver(devpath, &g_batteryops, 0666, dev);
ret = register_driver(devpath, &g_batteryops, 0600, dev);
if (ret < 0)
{
baterr("ERROR: Failed to register driver: %d\n", ret);

View file

@ -519,7 +519,7 @@ int battery_gauge_register(FAR const char *devpath,
/* Register the character driver */
ret = register_driver(devpath, &g_batteryops, 0666, dev);
ret = register_driver(devpath, &g_batteryops, 0600, dev);
if (ret < 0)
{
baterr("ERROR: Failed to register driver: %d\n", ret);

View file

@ -585,7 +585,7 @@ int battery_monitor_register(FAR const char *devpath,
/* Register the character driver */
ret = register_driver(devpath, &g_batteryops, 0555, dev);
ret = register_driver(devpath, &g_batteryops, 0500, dev);
if (ret < 0)
{
baterr("ERROR: Failed to register driver: %d\n", ret);

View file

@ -158,5 +158,5 @@ int relay_register(FAR struct relay_dev_s *dev, FAR const char *devname)
nxmutex_init(&dev->lock);
return register_driver(devname, &g_relay_ops, 0666, dev);
return register_driver(devname, &g_relay_ops, 0600, dev);
}

View file

@ -414,7 +414,7 @@ int powerled_register(FAR const char *path, FAR struct powerled_dev_s *dev,
/* Register the POWERLED character driver */
ret = register_driver(path, &g_powerled_fops, 0666, dev);
ret = register_driver(path, &g_powerled_fops, 0600, dev);
if (ret < 0)
{
nxmutex_destroy(&dev->closelock);

View file

@ -511,7 +511,7 @@ int smps_register(FAR const char *path, FAR struct smps_dev_s *dev,
/* Register the SMPS character driver */
ret = register_driver(path, &g_smps_fops, 0666, dev);
ret = register_driver(path, &g_smps_fops, 0600, dev);
if (ret < 0)
{
nxmutex_destroy(&dev->closelock);

View file

@ -796,7 +796,7 @@ int lirc_register(FAR struct lirc_lowerhalf_s *lower, int devno)
/* Register remote control character device */
snprintf(path, DEVNAME_MAX, DEVNAME_FMT, devno);
ret = register_driver(path, &g_lirc_fops, 0666, upper);
ret = register_driver(path, &g_lirc_fops, 0600, upper);
if (ret < 0)
{
goto drv_err;

View file

@ -248,7 +248,7 @@ int dat31r5sp_register(FAR const char *devpath,
/* Register the character driver */
ret = register_driver(devpath, &g_dat31r5sp_fops, 0666, priv);
ret = register_driver(devpath, &g_dat31r5sp_fops, 0600, priv);
if (ret < 0)
{
snerr("ERROR: Failed to register driver: %d\n", ret);

View file

@ -521,7 +521,7 @@ int rpmsg_register(FAR const char *path, FAR struct rpmsg_s *rpmsg,
return ret;
}
ret = register_driver(path, &g_rpmsg_dev_ops, 0222, rpmsg);
ret = register_driver(path, &g_rpmsg_dev_ops, 0200, rpmsg);
if (ret < 0)
{
metal_finish();

View file

@ -1226,7 +1226,7 @@ int rptun_initialize(FAR struct rptun_dev_s *dev)
remoteproc_init(&priv->rproc, &g_rptun_ops, priv);
snprintf(name, sizeof(name), "/dev/rptun/%s", RPTUN_GET_CPUNAME(dev));
ret = register_driver(name, &g_rptun_fops, 0222, priv);
ret = register_driver(name, &g_rptun_fops, 0200, priv);
if (ret < 0)
{
rptunerr("rptun register driver failed %d\n", ret);

View file

@ -618,7 +618,7 @@ int adt7320_register(FAR const char *devpath,
/* Register the character driver */
ret = register_driver(devpath, &g_adt7320fops, 0666, priv);
ret = register_driver(devpath, &g_adt7320fops, 0440, priv);
if (ret < 0)
{
snerr("ERROR: Failed to register driver: %d\n", ret);

View file

@ -173,7 +173,7 @@ int adxl345_register(ADXL345_HANDLE handle, int minor)
/* Register the character driver */
snprintf(devname, sizeof(devname), DEV_FORMAT, minor);
ret = register_driver(devname, &g_adxl345fops, 0444, priv);
ret = register_driver(devname, &g_adxl345fops, 0440, priv);
if (ret < 0)
{
snerr("ERROR: Failed to register driver %s: %d\n", devname, ret);

View file

@ -876,7 +876,7 @@ int adxl372_register(FAR const char *devpath,
/* Register the character driver */
ret = register_driver(devpath, &g_adxl372_fops, 0666, priv);
ret = register_driver(devpath, &g_adxl372_fops, 0440, priv);
if (ret < 0)
{
snerr("ERROR: Failed to register accelerometer driver: %d\n", ret);

View file

@ -628,7 +628,7 @@ int aht10_register(FAR const char *devpath, FAR struct i2c_master_s *i2c,
/* Register the character driver */
ret = register_driver(devpath, &g_aht10fops, 0666, priv);
ret = register_driver(devpath, &g_aht10fops, 0400, priv);
if (ret < 0)
{
snerr("ERROR: Failed to register driver: %d\n", ret);

View file

@ -714,7 +714,7 @@ int ak09912_register(FAR const char *devpath, FAR struct i2c_master_s *i2c)
/* Register the character driver */
snprintf(path, sizeof(path), "%s%d", devpath, 0);
ret = register_driver(path, &g_ak09912fops, 0666, priv);
ret = register_driver(path, &g_ak09912fops, 0640, priv);
if (ret < 0)
{
snerr("Failed to register driver: %d\n", ret);

View file

@ -622,7 +622,7 @@ int amg88xx_register(FAR const char *devpath,
/* Register the character driver */
ret = register_driver(devpath, &g_amg88xx_fops, 0666, priv);
ret = register_driver(devpath, &g_amg88xx_fops, 0600, priv);
if (ret < 0)
{

View file

@ -2506,7 +2506,7 @@ int apds9922_register(FAR const char *devpath_als,
if (devpath_als != NULL)
{
ret = register_driver(devpath_als, &g_apds9922_alsfops, 0666, priv);
ret = register_driver(devpath_als, &g_apds9922_alsfops, 0600, priv);
if (ret < 0)
{
snerr("ERROR: Failed to register driver %s: %d\n",
@ -2518,7 +2518,7 @@ int apds9922_register(FAR const char *devpath_als,
if (devpath_ps != NULL)
{
ret = register_driver(devpath_ps, &g_apds9922_psfops, 0666, priv);
ret = register_driver(devpath_ps, &g_apds9922_psfops, 0600, priv);
if (ret < 0)
{
snerr("ERROR: Failed to register driver %s: %d\n",

View file

@ -1287,7 +1287,7 @@ int apds9960_register(FAR const char *devpath,
/* Register the character driver */
ret = register_driver(devpath, &g_apds9960_fops, 0666, priv);
ret = register_driver(devpath, &g_apds9960_fops, 0600, priv);
if (ret < 0)
{
snerr("ERROR: Failed to register driver: %d\n", ret);

View file

@ -476,7 +476,7 @@ int as726x_register(FAR const char *devpath, FAR struct i2c_master_s *i2c)
/* Register the character driver */
ret = register_driver(devpath, &g_as726x_fops, 0666, priv);
ret = register_driver(devpath, &g_as726x_fops, 0600, priv);
if (ret < 0)
{
snerr("ERROR: Failed to register driver: %d\n", ret);

View file

@ -231,7 +231,7 @@ int bh1749nuc_register(FAR const char *devpath, FAR struct i2c_master_s *i2c,
/* Register the character driver */
ret = register_driver(devpath, &g_bh1749nucfops, 0666, priv);
ret = register_driver(devpath, &g_bh1749nucfops, 0600, priv);
if (ret < 0)
{
snerr("Failed to register driver: %d\n", ret);

View file

@ -409,7 +409,7 @@ int bh1750fvi_register(FAR const char *devpath, FAR struct i2c_master_s *i2c,
/* Register the character driver */
ret = register_driver(devpath, &g_bh1750fvi_fops, 0666, priv);
ret = register_driver(devpath, &g_bh1750fvi_fops, 0600, priv);
if (ret < 0)
{
snerr("ERROR: Failed to register driver: %d\n", ret);

View file

@ -559,7 +559,7 @@ int bmg160_register(FAR const char *devpath, FAR struct spi_dev_s *spi,
/* Register the character driver */
ret = register_driver(devpath, &g_bmg160_fops, 0666, priv);
ret = register_driver(devpath, &g_bmg160_fops, 0600, priv);
if (ret < 0)
{
snerr("ERROR: Failed to register driver: %d\n", ret);

View file

@ -375,7 +375,7 @@ int bmi088_acc_register(FAR const char *devpath, FAR struct spi_dev_s *dev)
return ret;
}
ret = register_driver(devpath, &g_bmi088_acc_fops, 0666, priv);
ret = register_driver(devpath, &g_bmi088_acc_fops, 0600, priv);
if (ret < 0)
{
snerr("Failed to register driver: %d\n", ret);
@ -437,7 +437,7 @@ int bmi088_gyro_register(FAR const char *devpath, FAR struct spi_dev_s *dev)
return ret;
}
ret = register_driver(devpath, &g_bmi088_gyro_fops, 0666, priv);
ret = register_driver(devpath, &g_bmi088_gyro_fops, 0600, priv);
if (ret < 0)
{
snerr("Failed to register driver: %d\n", ret);

View file

@ -296,7 +296,7 @@ int bmi160_register(FAR const char *devpath, FAR struct spi_dev_s *dev)
bmi160_putreg8(priv, BMI160_PMU_TRIGGER, 0);
ret = register_driver(devpath, &g_bmi160fops, 0666, priv);
ret = register_driver(devpath, &g_bmi160fops, 0600, priv);
if (ret < 0)
{
snerr("Failed to register driver: %d\n", ret);

View file

@ -234,7 +234,7 @@ int bmi270_register(FAR const char *devpath, FAR struct spi_dev_s *dev)
/* Register driver */
ret = register_driver(devpath, &g_bmi270fops, 0666, priv);
ret = register_driver(devpath, &g_bmi270fops, 0600, priv);
if (ret < 0)
{
snerr("Failed to register driver: %d\n", ret);

View file

@ -167,7 +167,7 @@ int bmp180_register(FAR const char *devpath, FAR struct i2c_master_s *i2c)
/* Register the character driver */
ret = register_driver(devpath, &g_bmp180fops, 0666, priv);
ret = register_driver(devpath, &g_bmp180fops, 0600, priv);
if (ret < 0)
{
snerr("ERROR: Failed to register driver: %d\n", ret);

View file

@ -1813,7 +1813,7 @@ int cxd5602pwbimu_register(FAR const char *devpath,
nxsem_init(&priv->dataready, 0, 0);
nxsem_init(&priv->bufsem, 0, 1);
ret = register_driver(devpath, &g_cxd5602pwbimufops, 0666, priv);
ret = register_driver(devpath, &g_cxd5602pwbimufops, 0600, priv);
if (ret < 0)
{
snerr("Failed to register driver: %d\n", ret);

Some files were not shown because too many files have changed in this diff Show more