This is an automated email from the ASF dual-hosted git repository.

xiaoxiang781216 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git


The following commit(s) were added to refs/heads/master by this push:
     new 081e4c478af drivers/: Multiple Drivers Are Registered With World 
Writable - Part 2
081e4c478af is described below

commit 081e4c478aff5f5fdcaa97dea64175b084569a0a
Author: Catalin Visinescu <[email protected]>
AuthorDate: Tue Jul 14 20:40:10 2026 -0400

    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 <[email protected]>
---
 arch/xtensa/src/common/espressif/esp_dedic_gpio.c         | 2 +-
 arch/xtensa/src/common/espressif/esp_nxdiag.c             | 2 +-
 arch/xtensa/src/common/espressif/esp_temperature_sensor.c | 2 +-
 boards/arm/cxd56xx/drivers/sensors/ak09912_scu.c          | 2 +-
 boards/arm/cxd56xx/drivers/sensors/bm1383glv_scu.c        | 2 +-
 boards/arm/cxd56xx/drivers/sensors/bm1422gmv_scu.c        | 2 +-
 boards/arm/samv7/common/src/sam_progmem.c                 | 2 +-
 boards/arm/stm32l1/stm32ldiscovery/src/stm32_lcd.c        | 2 +-
 boards/mips/pic32mx/pic32mx7mmb/src/pic32_touchscreen.c   | 2 +-
 boards/mips/pic32mx/sure-pic32mx/src/pic32mx_lcd1602.c    | 2 +-
 drivers/coresight/coresight_etb.c                         | 2 +-
 drivers/coresight/coresight_tmc_etf.c                     | 2 +-
 drivers/i3c/i3c_driver.c                                  | 2 +-
 drivers/input/ads7843e.c                                  | 2 +-
 drivers/input/ajoystick.c                                 | 2 +-
 drivers/input/button_upper.c                              | 2 +-
 drivers/input/cypress_mbr3108.c                           | 2 +-
 drivers/input/djoystick.c                                 | 2 +-
 drivers/input/ff_upper.c                                  | 2 +-
 drivers/input/gt9xx.c                                     | 2 +-
 drivers/input/keyboard_upper.c                            | 2 +-
 drivers/input/max11802.c                                  | 2 +-
 drivers/input/mouse_upper.c                               | 2 +-
 drivers/input/mxt.c                                       | 2 +-
 drivers/input/nunchuck.c                                  | 2 +-
 drivers/input/spq10kbd.c                                  | 2 +-
 drivers/input/stmpe811_tsc.c                              | 2 +-
 drivers/input/touchscreen_upper.c                         | 2 +-
 drivers/input/tsc2007.c                                   | 2 +-
 drivers/ioexpander/gpio.c                                 | 2 +-
 drivers/ipcc/ipcc_register.c                              | 2 +-
 drivers/lcd/ft80x.c                                       | 2 +-
 drivers/lcd/ht16k33_14seg.c                               | 2 +-
 drivers/lcd/lcd_dev.c                                     | 2 +-
 drivers/lcd/pcf8574_lcd_backpack.c                        | 2 +-
 drivers/lcd/st7032.c                                      | 2 +-
 drivers/lcd/tda19988.c                                    | 2 +-
 drivers/leds/apa102.c                                     | 2 +-
 drivers/leds/ktd2052.c                                    | 2 +-
 drivers/leds/lp503x.c                                     | 2 +-
 drivers/leds/max7219.c                                    | 2 +-
 drivers/leds/ncp5623c.c                                   | 2 +-
 drivers/leds/pca9635pw.c                                  | 2 +-
 drivers/leds/rgbled.c                                     | 2 +-
 drivers/leds/userled_upper.c                              | 2 +-
 drivers/leds/ws2812.c                                     | 4 ++--
 drivers/loop/loop.c                                       | 2 +-
 drivers/math/math.c                                       | 2 +-
 drivers/misc/dev_ascii.c                                  | 2 +-
 drivers/misc/dev_mem.c                                    | 2 +-
 drivers/misc/lwl_console.c                                | 2 +-
 drivers/misc/optee.c                                      | 4 ++--
 drivers/misc/rpmsgblk.c                                   | 2 +-
 drivers/misc/rpmsgdev.c                                   | 2 +-
 drivers/mmcsd/mmcsd_sdio.c                                | 2 +-
 drivers/modem/alt1250/alt1250.c                           | 2 +-
 drivers/modem/u-blox.c                                    | 2 +-
 drivers/motor/foc/foc_dev.c                               | 2 +-
 drivers/motor/motor.c                                     | 2 +-
 drivers/motor/stepper.c                                   | 2 +-
 drivers/mtd/dhara.c                                       | 2 +-
 drivers/mtd/filemtd.c                                     | 2 +-
 drivers/mtd/mtd_config.c                                  | 2 +-
 drivers/mtd/mtd_config_nvs.c                              | 2 +-
 drivers/mtd/nvblk.c                                       | 2 +-
 drivers/mtd/smart.c                                       | 2 +-
 drivers/net/telnet.c                                      | 4 ++--
 drivers/note/notectl_driver.c                             | 2 +-
 drivers/note/noteram_driver.c                             | 4 ++--
 drivers/pci/pci.c                                         | 2 +-
 drivers/pci/pci_ep_test.c                                 | 2 +-
 drivers/pci/pci_uio_ivshmem.c                             | 2 +-
 drivers/pinctrl/pinctrl.c                                 | 2 +-
 drivers/power/battery/battery_charger.c                   | 2 +-
 drivers/power/battery/battery_gauge.c                     | 2 +-
 drivers/power/battery/battery_monitor.c                   | 2 +-
 drivers/power/relay/relay.c                               | 2 +-
 drivers/power/supply/powerled.c                           | 2 +-
 drivers/power/supply/smps.c                               | 2 +-
 drivers/rc/lirc_dev.c                                     | 2 +-
 drivers/rf/dat-31r5-sp.c                                  | 2 +-
 drivers/rpmsg/rpmsg.c                                     | 2 +-
 drivers/rptun/rptun.c                                     | 2 +-
 drivers/sensors/adt7320.c                                 | 2 +-
 drivers/sensors/adxl345_base.c                            | 2 +-
 drivers/sensors/adxl372.c                                 | 2 +-
 drivers/sensors/aht10.c                                   | 2 +-
 drivers/sensors/ak09912.c                                 | 2 +-
 drivers/sensors/amg88xx.c                                 | 2 +-
 drivers/sensors/apds9922.c                                | 4 ++--
 drivers/sensors/apds9960.c                                | 2 +-
 drivers/sensors/as726x.c                                  | 2 +-
 drivers/sensors/bh1749nuc.c                               | 2 +-
 drivers/sensors/bh1750fvi.c                               | 2 +-
 drivers/sensors/bmg160.c                                  | 2 +-
 drivers/sensors/bmi088.c                                  | 4 ++--
 drivers/sensors/bmi160.c                                  | 2 +-
 drivers/sensors/bmi270.c                                  | 2 +-
 drivers/sensors/bmp180.c                                  | 2 +-
 drivers/sensors/cxd5602pwbimu.c                           | 2 +-
 drivers/sensors/dhtxx.c                                   | 2 +-
 drivers/sensors/fxos8700cq.c                              | 2 +-
 drivers/sensors/gnss_uorb.c                               | 2 +-
 drivers/sensors/hall3ph.c                                 | 2 +-
 drivers/sensors/hc_sr04.c                                 | 2 +-
 drivers/sensors/hdc1008.c                                 | 2 +-
 drivers/sensors/hts221.c                                  | 2 +-
 drivers/sensors/ina219.c                                  | 2 +-
 drivers/sensors/ina226.c                                  | 2 +-
 drivers/sensors/isl29023.c                                | 2 +-
 drivers/sensors/kxtj9.c                                   | 2 +-
 drivers/sensors/lis2dh.c                                  | 2 +-
 drivers/sensors/lis3dh.c                                  | 2 +-
 drivers/sensors/lis3dsh.c                                 | 2 +-
 drivers/sensors/lis3mdl.c                                 | 2 +-
 drivers/sensors/lm75.c                                    | 2 +-
 drivers/sensors/lm92.c                                    | 2 +-
 drivers/sensors/lps25h.c                                  | 2 +-
 drivers/sensors/lsm303agr.c                               | 2 +-
 drivers/sensors/lsm330_spi.c                              | 4 ++--
 drivers/sensors/lsm6dsl.c                                 | 2 +-
 drivers/sensors/lsm9ds1.c                                 | 2 +-
 drivers/sensors/ltc4151.c                                 | 2 +-
 drivers/sensors/max31855.c                                | 2 +-
 drivers/sensors/max31865.c                                | 2 +-
 drivers/sensors/max44009.c                                | 2 +-
 drivers/sensors/max6675.c                                 | 2 +-
 drivers/sensors/mb7040.c                                  | 2 +-
 drivers/sensors/mcp9844.c                                 | 2 +-
 drivers/sensors/mlx90393.c                                | 2 +-
 drivers/sensors/mlx90614.c                                | 2 +-
 drivers/sensors/mpl115a.c                                 | 2 +-
 drivers/sensors/mpu60x0.c                                 | 2 +-
 drivers/sensors/ms58xx.c                                  | 2 +-
 drivers/sensors/msa301.c                                  | 2 +-
 drivers/sensors/qencoder.c                                | 2 +-
 drivers/sensors/scd30.c                                   | 2 +-
 drivers/sensors/scd41.c                                   | 2 +-
 drivers/sensors/sensor.c                                  | 2 +-
 drivers/sensors/sgp30.c                                   | 2 +-
 drivers/sensors/sht21.c                                   | 2 +-
 drivers/sensors/sht3x.c                                   | 2 +-
 drivers/sensors/sps30.c                                   | 2 +-
 drivers/sensors/t67xx.c                                   | 2 +-
 drivers/sensors/tmp112.c                                  | 2 +-
 drivers/sensors/usensor.c                                 | 2 +-
 drivers/sensors/veml6070.c                                | 2 +-
 drivers/sensors/vl53l1x.c                                 | 2 +-
 drivers/sensors/xen1210.c                                 | 2 +-
 drivers/sensors/zerocross.c                               | 2 +-
 drivers/serial/ptmx.c                                     | 2 +-
 drivers/serial/pty.c                                      | 4 ++--
 drivers/serial/serial.c                                   | 2 +-
 drivers/serial/uart_bth4.c                                | 2 +-
 drivers/spi/ice40.c                                       | 2 +-
 drivers/spi/spi_driver.c                                  | 2 +-
 drivers/spi/spi_slave_driver.c                            | 2 +-
 drivers/syslog/ramlog.c                                   | 4 ++--
 drivers/syslog/syslog_chardev.c                           | 2 +-
 drivers/syslog/syslog_console.c                           | 2 +-
 drivers/syslog/syslog_rpmsg.c                             | 2 +-
 drivers/syslog/syslog_rpmsg_server.c                      | 2 +-
 drivers/timers/capture.c                                  | 2 +-
 drivers/timers/dshot.c                                    | 2 +-
 drivers/timers/oneshot.c                                  | 2 +-
 drivers/timers/ptp_clock.c                                | 2 +-
 drivers/timers/pulsecount.c                               | 2 +-
 drivers/timers/pwm.c                                      | 2 +-
 drivers/timers/rtc.c                                      | 2 +-
 drivers/timers/timer.c                                    | 2 +-
 drivers/timers/watchdog.c                                 | 2 +-
 drivers/usbdev/cdcncm.c                                   | 2 +-
 drivers/usbdev/uvc.c                                      | 2 +-
 drivers/usbhost/usbhost_cdcmbim.c                         | 2 +-
 drivers/usbhost/usbhost_hidkbd.c                          | 2 +-
 drivers/usbhost/usbhost_hidmouse.c                        | 2 +-
 drivers/usbhost/usbhost_xboxcontroller.c                  | 2 +-
 drivers/usbmisc/fusb301.c                                 | 2 +-
 drivers/usbmisc/fusb302.c                                 | 2 +-
 drivers/usbmisc/fusb303.c                                 | 2 +-
 drivers/usbmisc/stusb4500.c                               | 2 +-
 drivers/usrsock/usrsock_dev.c                             | 2 +-
 drivers/video/fb.c                                        | 2 +-
 drivers/video/mipidsi/mipi_dsi_device_driver.c            | 2 +-
 drivers/video/mipidsi/mipi_dsi_host_driver.c              | 2 +-
 drivers/video/v4l2_core.c                                 | 2 +-
 drivers/virtio/virtio-rng.c                               | 4 ++--
 drivers/virtio/virtio-rpmb.c                              | 2 +-
 drivers/wireless/cc1101.c                                 | 2 +-
 drivers/wireless/gs2200m.c                                | 2 +-
 drivers/wireless/lpwan/rn2xx3/rn2xx3.c                    | 2 +-
 drivers/wireless/lpwan/sx126x/sx126x.c                    | 2 +-
 drivers/wireless/lpwan/sx127x/sx127x.c                    | 2 +-
 drivers/wireless/nrf24l01.c                               | 2 +-
 fs/mount/fs_automount.c                                   | 2 +-
 graphics/nxterm/nxterm_register.c                         | 2 +-
 wireless/ieee802154/mac802154_device.c                    | 2 +-
 197 files changed, 207 insertions(+), 207 deletions(-)

diff --git a/arch/xtensa/src/common/espressif/esp_dedic_gpio.c 
b/arch/xtensa/src/common/espressif/esp_dedic_gpio.c
index bea7fd8506e..444f05f5fab 100644
--- a/arch/xtensa/src/common/espressif/esp_dedic_gpio.c
+++ b/arch/xtensa/src/common/espressif/esp_dedic_gpio.c
@@ -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;
 }
 
diff --git a/arch/xtensa/src/common/espressif/esp_nxdiag.c 
b/arch/xtensa/src/common/espressif/esp_nxdiag.c
index 5e3df76836c..0ab56827077 100644
--- a/arch/xtensa/src/common/espressif/esp_nxdiag.c
+++ b/arch/xtensa/src/common/espressif/esp_nxdiag.c
@@ -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);
 }
 
 /****************************************************************************
diff --git a/arch/xtensa/src/common/espressif/esp_temperature_sensor.c 
b/arch/xtensa/src/common/espressif/esp_temperature_sensor.c
index 242baee5770..ee34d532934 100644
--- a/arch/xtensa/src/common/espressif/esp_temperature_sensor.c
+++ b/arch/xtensa/src/common/espressif/esp_temperature_sensor.c
@@ -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);
diff --git a/boards/arm/cxd56xx/drivers/sensors/ak09912_scu.c 
b/boards/arm/cxd56xx/drivers/sensors/ak09912_scu.c
index 5040e61ec11..9b614a8e307 100644
--- a/boards/arm/cxd56xx/drivers/sensors/ak09912_scu.c
+++ b/boards/arm/cxd56xx/drivers/sensors/ak09912_scu.c
@@ -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);
diff --git a/boards/arm/cxd56xx/drivers/sensors/bm1383glv_scu.c 
b/boards/arm/cxd56xx/drivers/sensors/bm1383glv_scu.c
index 98558d46a4e..5f6df440553 100644
--- a/boards/arm/cxd56xx/drivers/sensors/bm1383glv_scu.c
+++ b/boards/arm/cxd56xx/drivers/sensors/bm1383glv_scu.c
@@ -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);
diff --git a/boards/arm/cxd56xx/drivers/sensors/bm1422gmv_scu.c 
b/boards/arm/cxd56xx/drivers/sensors/bm1422gmv_scu.c
index 5b6379c2b00..995333377c2 100644
--- a/boards/arm/cxd56xx/drivers/sensors/bm1422gmv_scu.c
+++ b/boards/arm/cxd56xx/drivers/sensors/bm1422gmv_scu.c
@@ -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);
diff --git a/boards/arm/samv7/common/src/sam_progmem.c 
b/boards/arm/samv7/common/src/sam_progmem.c
index 2145f51dcc6..a6f663498f1 100644
--- a/boards/arm/samv7/common/src/sam_progmem.c
+++ b/boards/arm/samv7/common/src/sam_progmem.c
@@ -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);
diff --git a/boards/arm/stm32l1/stm32ldiscovery/src/stm32_lcd.c 
b/boards/arm/stm32l1/stm32ldiscovery/src/stm32_lcd.c
index 379abcfa7bd..925d157661b 100644
--- a/boards/arm/stm32l1/stm32ldiscovery/src/stm32_lcd.c
+++ b/boards/arm/stm32l1/stm32ldiscovery/src/stm32_lcd.c
@@ -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 */
diff --git a/boards/mips/pic32mx/pic32mx7mmb/src/pic32_touchscreen.c 
b/boards/mips/pic32mx/pic32mx7mmb/src/pic32_touchscreen.c
index e9773e4a0f6..03dd0fabe1e 100644
--- a/boards/mips/pic32mx/pic32mx7mmb/src/pic32_touchscreen.c
+++ b/boards/mips/pic32mx/pic32mx7mmb/src/pic32_touchscreen.c
@@ -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);
diff --git a/boards/mips/pic32mx/sure-pic32mx/src/pic32mx_lcd1602.c 
b/boards/mips/pic32mx/sure-pic32mx/src/pic32mx_lcd1602.c
index d71d6562329..910c56bfa66 100644
--- a/boards/mips/pic32mx/sure-pic32mx/src/pic32mx_lcd1602.c
+++ b/boards/mips/pic32mx/sure-pic32mx/src/pic32mx_lcd1602.c
@@ -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;
     }
 
diff --git a/drivers/coresight/coresight_etb.c 
b/drivers/coresight/coresight_etb.c
index 2814fb9120f..ddf96c548d6 100644
--- a/drivers/coresight/coresight_etb.c
+++ b/drivers/coresight/coresight_etb.c
@@ -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);
diff --git a/drivers/coresight/coresight_tmc_etf.c 
b/drivers/coresight/coresight_tmc_etf.c
index 104d16e57c6..f79f76351e2 100644
--- a/drivers/coresight/coresight_tmc_etf.c
+++ b/drivers/coresight/coresight_tmc_etf.c
@@ -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);
diff --git a/drivers/i3c/i3c_driver.c b/drivers/i3c/i3c_driver.c
index 4cc6d171e3c..8befcdb2d63 100644
--- a/drivers/i3c/i3c_driver.c
+++ b/drivers/i3c/i3c_driver.c
@@ -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
diff --git a/drivers/input/ads7843e.c b/drivers/input/ads7843e.c
index 3814f650062..73362bdd523 100644
--- a/drivers/input/ads7843e.c
+++ b/drivers/input/ads7843e.c
@@ -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);
diff --git a/drivers/input/ajoystick.c b/drivers/input/ajoystick.c
index 32fc7099cd3..389f0e9df9a 100644
--- a/drivers/input/ajoystick.c
+++ b/drivers/input/ajoystick.c
@@ -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);
diff --git a/drivers/input/button_upper.c b/drivers/input/button_upper.c
index 2375f9cf972..b9ef266c820 100644
--- a/drivers/input/button_upper.c
+++ b/drivers/input/button_upper.c
@@ -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);
diff --git a/drivers/input/cypress_mbr3108.c b/drivers/input/cypress_mbr3108.c
index 427cb903101..5b9aa4a143d 100644
--- a/drivers/input/cypress_mbr3108.c
+++ b/drivers/input/cypress_mbr3108.c
@@ -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);
diff --git a/drivers/input/djoystick.c b/drivers/input/djoystick.c
index 0eb4a524817..6689d59985d 100644
--- a/drivers/input/djoystick.c
+++ b/drivers/input/djoystick.c
@@ -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);
diff --git a/drivers/input/ff_upper.c b/drivers/input/ff_upper.c
index 4c24ab62efa..27fbcf6091b 100644
--- a/drivers/input/ff_upper.c
+++ b/drivers/input/ff_upper.c
@@ -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);
diff --git a/drivers/input/gt9xx.c b/drivers/input/gt9xx.c
index 169a9001974..30ebf183ad6 100644
--- a/drivers/input/gt9xx.c
+++ b/drivers/input/gt9xx.c
@@ -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);
diff --git a/drivers/input/keyboard_upper.c b/drivers/input/keyboard_upper.c
index 73c80d1c748..5436a270e52 100644
--- a/drivers/input/keyboard_upper.c
+++ b/drivers/input/keyboard_upper.c
@@ -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);
diff --git a/drivers/input/max11802.c b/drivers/input/max11802.c
index b566f6495d2..be27523f9a8 100644
--- a/drivers/input/max11802.c
+++ b/drivers/input/max11802.c
@@ -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);
diff --git a/drivers/input/mouse_upper.c b/drivers/input/mouse_upper.c
index 67a4b2e897a..a648d16c420 100644
--- a/drivers/input/mouse_upper.c
+++ b/drivers/input/mouse_upper.c
@@ -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);
diff --git a/drivers/input/mxt.c b/drivers/input/mxt.c
index 3a57e15ee00..e41610ca908 100644
--- a/drivers/input/mxt.c
+++ b/drivers/input/mxt.c
@@ -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);
diff --git a/drivers/input/nunchuck.c b/drivers/input/nunchuck.c
index b82bcb2d214..aa39bbf573c 100644
--- a/drivers/input/nunchuck.c
+++ b/drivers/input/nunchuck.c
@@ -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);
diff --git a/drivers/input/spq10kbd.c b/drivers/input/spq10kbd.c
index 106e242fe83..b6693b13395 100644
--- a/drivers/input/spq10kbd.c
+++ b/drivers/input/spq10kbd.c
@@ -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);
diff --git a/drivers/input/stmpe811_tsc.c b/drivers/input/stmpe811_tsc.c
index 2576a4a2c45..2f4080c2763 100644
--- a/drivers/input/stmpe811_tsc.c
+++ b/drivers/input/stmpe811_tsc.c
@@ -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);
diff --git a/drivers/input/touchscreen_upper.c 
b/drivers/input/touchscreen_upper.c
index 81d2e03b729..001783f3e39 100644
--- a/drivers/input/touchscreen_upper.c
+++ b/drivers/input/touchscreen_upper.c
@@ -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);
diff --git a/drivers/input/tsc2007.c b/drivers/input/tsc2007.c
index 5dcd25b240f..780dfc9e1b9 100644
--- a/drivers/input/tsc2007.c
+++ b/drivers/input/tsc2007.c
@@ -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);
diff --git a/drivers/ioexpander/gpio.c b/drivers/ioexpander/gpio.c
index 63d3754548c..512a0e19f41 100644
--- a/drivers/ioexpander/gpio.c
+++ b/drivers/ioexpander/gpio.c
@@ -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);
 }
 
 /****************************************************************************
diff --git a/drivers/ipcc/ipcc_register.c b/drivers/ipcc/ipcc_register.c
index 401eba2bc5c..a91c372f5b9 100644
--- a/drivers/ipcc/ipcc_register.c
+++ b/drivers/ipcc/ipcc_register.c
@@ -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;
     }
diff --git a/drivers/lcd/ft80x.c b/drivers/lcd/ft80x.c
index 9b6776d990d..83f6e4ae6c5 100644
--- a/drivers/lcd/ft80x.c
+++ b/drivers/lcd/ft80x.c
@@ -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;
diff --git a/drivers/lcd/ht16k33_14seg.c b/drivers/lcd/ht16k33_14seg.c
index fed47d87abe..b46e86acb10 100644
--- a/drivers/lcd/ht16k33_14seg.c
+++ b/drivers/lcd/ht16k33_14seg.c
@@ -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);
diff --git a/drivers/lcd/lcd_dev.c b/drivers/lcd/lcd_dev.c
index fea65ddfe8a..c1d39ca0f61 100644
--- a/drivers/lcd/lcd_dev.c
+++ b/drivers/lcd/lcd_dev.c
@@ -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;
diff --git a/drivers/lcd/pcf8574_lcd_backpack.c 
b/drivers/lcd/pcf8574_lcd_backpack.c
index 2e7052dfebd..37145e6c8f2 100644
--- a/drivers/lcd/pcf8574_lcd_backpack.c
+++ b/drivers/lcd/pcf8574_lcd_backpack.c
@@ -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);
diff --git a/drivers/lcd/st7032.c b/drivers/lcd/st7032.c
index 7c057cd00d0..2fa7774d9ec 100644
--- a/drivers/lcd/st7032.c
+++ b/drivers/lcd/st7032.c
@@ -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);
diff --git a/drivers/lcd/tda19988.c b/drivers/lcd/tda19988.c
index cd40b91aecc..520617cee8b 100644
--- a/drivers/lcd/tda19988.c
+++ b/drivers/lcd/tda19988.c
@@ -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);
diff --git a/drivers/leds/apa102.c b/drivers/leds/apa102.c
index 9e94024a702..f05939270fe 100644
--- a/drivers/leds/apa102.c
+++ b/drivers/leds/apa102.c
@@ -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);
diff --git a/drivers/leds/ktd2052.c b/drivers/leds/ktd2052.c
index e17c8df8112..7edb65478cd 100644
--- a/drivers/leds/ktd2052.c
+++ b/drivers/leds/ktd2052.c
@@ -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);
diff --git a/drivers/leds/lp503x.c b/drivers/leds/lp503x.c
index 5e33e762be4..0470053215b 100644
--- a/drivers/leds/lp503x.c
+++ b/drivers/leds/lp503x.c
@@ -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);
diff --git a/drivers/leds/max7219.c b/drivers/leds/max7219.c
index 27cde1dbf5e..752e8455b6c 100644
--- a/drivers/leds/max7219.c
+++ b/drivers/leds/max7219.c
@@ -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);
diff --git a/drivers/leds/ncp5623c.c b/drivers/leds/ncp5623c.c
index a19c657ca89..9f13ca144a2 100644
--- a/drivers/leds/ncp5623c.c
+++ b/drivers/leds/ncp5623c.c
@@ -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);
diff --git a/drivers/leds/pca9635pw.c b/drivers/leds/pca9635pw.c
index 6db451f5359..fe23abb24e6 100644
--- a/drivers/leds/pca9635pw.c
+++ b/drivers/leds/pca9635pw.c
@@ -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);
diff --git a/drivers/leds/rgbled.c b/drivers/leds/rgbled.c
index f04638b8dcb..9211c09334f 100644
--- a/drivers/leds/rgbled.c
+++ b/drivers/leds/rgbled.c
@@ -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 */
diff --git a/drivers/leds/userled_upper.c b/drivers/leds/userled_upper.c
index b91d73b4567..44bd6724351 100644
--- a/drivers/leds/userled_upper.c
+++ b/drivers/leds/userled_upper.c
@@ -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);
diff --git a/drivers/leds/ws2812.c b/drivers/leds/ws2812.c
index d458f3907b2..43de7121837 100644
--- a/drivers/leds/ws2812.c
+++ b/drivers/leds/ws2812.c
@@ -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);
diff --git a/drivers/loop/loop.c b/drivers/loop/loop.c
index 398d604d15e..e1f00af694f 100644
--- a/drivers/loop/loop.c
+++ b/drivers/loop/loop.c
@@ -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 */
diff --git a/drivers/math/math.c b/drivers/math/math.c
index 2fae9ac7beb..c979abca80a 100644
--- a/drivers/math/math.c
+++ b/drivers/math/math.c
@@ -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);
diff --git a/drivers/misc/dev_ascii.c b/drivers/misc/dev_ascii.c
index cd8fbea9554..5f783012fe8 100644
--- a/drivers/misc/dev_ascii.c
+++ b/drivers/misc/dev_ascii.c
@@ -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);
 }
diff --git a/drivers/misc/dev_mem.c b/drivers/misc/dev_mem.c
index 9db2c700d23..36385d9e390 100644
--- a/drivers/misc/dev_mem.c
+++ b/drivers/misc/dev_mem.c
@@ -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);
 }
diff --git a/drivers/misc/lwl_console.c b/drivers/misc/lwl_console.c
index e5d686b767b..fc089fed12b 100644
--- a/drivers/misc/lwl_console.c
+++ b/drivers/misc/lwl_console.c
@@ -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);
 }
diff --git a/drivers/misc/optee.c b/drivers/misc/optee.c
index 0ad33fc65e2..a5cd9b2e6b4 100644
--- a/drivers/misc/optee.c
+++ b/drivers/misc/optee.c
@@ -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);
 }
 
diff --git a/drivers/misc/rpmsgblk.c b/drivers/misc/rpmsgblk.c
index 383cdaa483a..a19c1d31513 100644
--- a/drivers/misc/rpmsgblk.c
+++ b/drivers/misc/rpmsgblk.c
@@ -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);
diff --git a/drivers/misc/rpmsgdev.c b/drivers/misc/rpmsgdev.c
index 7b7fb7c2426..540ecc07cbd 100644
--- a/drivers/misc/rpmsgdev.c
+++ b/drivers/misc/rpmsgdev.c
@@ -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);
diff --git a/drivers/mmcsd/mmcsd_sdio.c b/drivers/mmcsd/mmcsd_sdio.c
index 7eaad68460b..a767dce7fee 100644
--- a/drivers/mmcsd/mmcsd_sdio.c
+++ b/drivers/mmcsd/mmcsd_sdio.c
@@ -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]);
                 }
             }
diff --git a/drivers/modem/alt1250/alt1250.c b/drivers/modem/alt1250/alt1250.c
index 497ee0334a8..934ef6f417a 100644
--- a/drivers/modem/alt1250/alt1250.c
+++ b/drivers/modem/alt1250/alt1250.c
@@ -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);
diff --git a/drivers/modem/u-blox.c b/drivers/modem/u-blox.c
index 8586d85fb96..3f414e477eb 100644
--- a/drivers/modem/u-blox.c
+++ b/drivers/modem/u-blox.c
@@ -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);
diff --git a/drivers/motor/foc/foc_dev.c b/drivers/motor/foc/foc_dev.c
index 1da229b4142..c065e64b286 100644
--- a/drivers/motor/foc/foc_dev.c
+++ b/drivers/motor/foc/foc_dev.c
@@ -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);
diff --git a/drivers/motor/motor.c b/drivers/motor/motor.c
index 849d3272648..85cfd9f9bc5 100644
--- a/drivers/motor/motor.c
+++ b/drivers/motor/motor.c
@@ -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);
diff --git a/drivers/motor/stepper.c b/drivers/motor/stepper.c
index d9f3b8cd8d2..7ed22d5283b 100644
--- a/drivers/motor/stepper.c
+++ b/drivers/motor/stepper.c
@@ -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);
diff --git a/drivers/mtd/dhara.c b/drivers/mtd/dhara.c
index f8cfc926990..837a50e01e1 100644
--- a/drivers/mtd/dhara.c
+++ b/drivers/mtd/dhara.c
@@ -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);
diff --git a/drivers/mtd/filemtd.c b/drivers/mtd/filemtd.c
index a3eff6c43e2..1ef36b84d60 100644
--- a/drivers/mtd/filemtd.c
+++ b/drivers/mtd/filemtd.c
@@ -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
diff --git a/drivers/mtd/mtd_config.c b/drivers/mtd/mtd_config.c
index 9c063737925..560d69eb69d 100644
--- a/drivers/mtd/mtd_config.c
+++ b/drivers/mtd/mtd_config.c
@@ -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:
diff --git a/drivers/mtd/mtd_config_nvs.c b/drivers/mtd/mtd_config_nvs.c
index 187af6ef92e..5251c276e52 100644
--- a/drivers/mtd/mtd_config_nvs.c
+++ b/drivers/mtd/mtd_config_nvs.c
@@ -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);
diff --git a/drivers/mtd/nvblk.c b/drivers/mtd/nvblk.c
index 5029b61ec40..541cfb0297b 100644
--- a/drivers/mtd/nvblk.c
+++ b/drivers/mtd/nvblk.c
@@ -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);
diff --git a/drivers/mtd/smart.c b/drivers/mtd/smart.c
index 30bded0cffa..8d008a6f6bb 100644
--- a/drivers/mtd/smart.c
+++ b/drivers/mtd/smart.c
@@ -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
 
diff --git a/drivers/net/telnet.c b/drivers/net/telnet.c
index b81157a9548..b5811d04695 100644
--- a/drivers/net/telnet.c
+++ b/drivers/net/telnet.c
@@ -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 */
diff --git a/drivers/note/notectl_driver.c b/drivers/note/notectl_driver.c
index 0aaefa8cc6f..9679ff0cc18 100644
--- a/drivers/note/notectl_driver.c
+++ b/drivers/note/notectl_driver.c
@@ -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);
 }
diff --git a/drivers/note/noteram_driver.c b/drivers/note/noteram_driver.c
index ee5b4716320..8025b4a4256 100644
--- a/drivers/note/noteram_driver.c
+++ b/drivers/note/noteram_driver.c
@@ -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);
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index fcb3d87a01a..257e349c638 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -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);
 }
 
 /****************************************************************************
diff --git a/drivers/pci/pci_ep_test.c b/drivers/pci/pci_ep_test.c
index 5cce715f7cb..6c1cbcf725a 100644
--- a/drivers/pci/pci_ep_test.c
+++ b/drivers/pci/pci_ep_test.c
@@ -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;
diff --git a/drivers/pci/pci_uio_ivshmem.c b/drivers/pci/pci_uio_ivshmem.c
index e713df74554..9340dda5180 100644
--- a/drivers/pci/pci_uio_ivshmem.c
+++ b/drivers/pci/pci_uio_ivshmem.c
@@ -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);
diff --git a/drivers/pinctrl/pinctrl.c b/drivers/pinctrl/pinctrl.c
index 21fbf6b6a9c..e2be6448d1b 100644
--- a/drivers/pinctrl/pinctrl.c
+++ b/drivers/pinctrl/pinctrl.c
@@ -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);
 }
 
 /****************************************************************************
diff --git a/drivers/power/battery/battery_charger.c 
b/drivers/power/battery/battery_charger.c
index 425dc03014e..9bfb9e942d5 100644
--- a/drivers/power/battery/battery_charger.c
+++ b/drivers/power/battery/battery_charger.c
@@ -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);
diff --git a/drivers/power/battery/battery_gauge.c 
b/drivers/power/battery/battery_gauge.c
index bfbcbd99df2..86c684e7448 100644
--- a/drivers/power/battery/battery_gauge.c
+++ b/drivers/power/battery/battery_gauge.c
@@ -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);
diff --git a/drivers/power/battery/battery_monitor.c 
b/drivers/power/battery/battery_monitor.c
index 798223dac45..83ca80aa2ed 100644
--- a/drivers/power/battery/battery_monitor.c
+++ b/drivers/power/battery/battery_monitor.c
@@ -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);
diff --git a/drivers/power/relay/relay.c b/drivers/power/relay/relay.c
index e2f6909efa5..07ca142f989 100644
--- a/drivers/power/relay/relay.c
+++ b/drivers/power/relay/relay.c
@@ -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);
 }
diff --git a/drivers/power/supply/powerled.c b/drivers/power/supply/powerled.c
index 6e671b3064a..24ae1f5fa58 100644
--- a/drivers/power/supply/powerled.c
+++ b/drivers/power/supply/powerled.c
@@ -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);
diff --git a/drivers/power/supply/smps.c b/drivers/power/supply/smps.c
index f31c6d796af..5d4f8221359 100644
--- a/drivers/power/supply/smps.c
+++ b/drivers/power/supply/smps.c
@@ -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);
diff --git a/drivers/rc/lirc_dev.c b/drivers/rc/lirc_dev.c
index fc605521191..3f5298e0fa0 100644
--- a/drivers/rc/lirc_dev.c
+++ b/drivers/rc/lirc_dev.c
@@ -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;
diff --git a/drivers/rf/dat-31r5-sp.c b/drivers/rf/dat-31r5-sp.c
index 2dbda8ef7cd..c77c5bee46a 100644
--- a/drivers/rf/dat-31r5-sp.c
+++ b/drivers/rf/dat-31r5-sp.c
@@ -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);
diff --git a/drivers/rpmsg/rpmsg.c b/drivers/rpmsg/rpmsg.c
index 73d0f96774c..217925f6a8a 100644
--- a/drivers/rpmsg/rpmsg.c
+++ b/drivers/rpmsg/rpmsg.c
@@ -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();
diff --git a/drivers/rptun/rptun.c b/drivers/rptun/rptun.c
index 8d04d81c769..58a213f8cd6 100644
--- a/drivers/rptun/rptun.c
+++ b/drivers/rptun/rptun.c
@@ -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);
diff --git a/drivers/sensors/adt7320.c b/drivers/sensors/adt7320.c
index 872dd5b6ef2..c7554f1979c 100644
--- a/drivers/sensors/adt7320.c
+++ b/drivers/sensors/adt7320.c
@@ -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);
diff --git a/drivers/sensors/adxl345_base.c b/drivers/sensors/adxl345_base.c
index 0e5a4b7fed1..1c2798de1fa 100644
--- a/drivers/sensors/adxl345_base.c
+++ b/drivers/sensors/adxl345_base.c
@@ -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);
diff --git a/drivers/sensors/adxl372.c b/drivers/sensors/adxl372.c
index debd2654714..5d48c99d3f2 100644
--- a/drivers/sensors/adxl372.c
+++ b/drivers/sensors/adxl372.c
@@ -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);
diff --git a/drivers/sensors/aht10.c b/drivers/sensors/aht10.c
index 253b00d4a13..fe89b92c14b 100644
--- a/drivers/sensors/aht10.c
+++ b/drivers/sensors/aht10.c
@@ -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);
diff --git a/drivers/sensors/ak09912.c b/drivers/sensors/ak09912.c
index 3170b0f6dc2..0ecf040bdc2 100644
--- a/drivers/sensors/ak09912.c
+++ b/drivers/sensors/ak09912.c
@@ -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);
diff --git a/drivers/sensors/amg88xx.c b/drivers/sensors/amg88xx.c
index 9e7c95159c8..63368677e02 100644
--- a/drivers/sensors/amg88xx.c
+++ b/drivers/sensors/amg88xx.c
@@ -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)
     {
diff --git a/drivers/sensors/apds9922.c b/drivers/sensors/apds9922.c
index 859d11da9e3..12f52cd3e9a 100644
--- a/drivers/sensors/apds9922.c
+++ b/drivers/sensors/apds9922.c
@@ -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",
diff --git a/drivers/sensors/apds9960.c b/drivers/sensors/apds9960.c
index 546ebe7f1b3..b311d1c4d44 100644
--- a/drivers/sensors/apds9960.c
+++ b/drivers/sensors/apds9960.c
@@ -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);
diff --git a/drivers/sensors/as726x.c b/drivers/sensors/as726x.c
index f0f016bdea2..b3629644458 100644
--- a/drivers/sensors/as726x.c
+++ b/drivers/sensors/as726x.c
@@ -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);
diff --git a/drivers/sensors/bh1749nuc.c b/drivers/sensors/bh1749nuc.c
index 563648e0101..4072d8f7e8a 100644
--- a/drivers/sensors/bh1749nuc.c
+++ b/drivers/sensors/bh1749nuc.c
@@ -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);
diff --git a/drivers/sensors/bh1750fvi.c b/drivers/sensors/bh1750fvi.c
index 7eae4c7e59c..4deb16455c3 100644
--- a/drivers/sensors/bh1750fvi.c
+++ b/drivers/sensors/bh1750fvi.c
@@ -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);
diff --git a/drivers/sensors/bmg160.c b/drivers/sensors/bmg160.c
index 8c2368b2905..cb233d1cf27 100644
--- a/drivers/sensors/bmg160.c
+++ b/drivers/sensors/bmg160.c
@@ -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);
diff --git a/drivers/sensors/bmi088.c b/drivers/sensors/bmi088.c
index 5072a20428d..0da240fb689 100644
--- a/drivers/sensors/bmi088.c
+++ b/drivers/sensors/bmi088.c
@@ -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);
diff --git a/drivers/sensors/bmi160.c b/drivers/sensors/bmi160.c
index b6bc9a8eb7e..8f5753bf75c 100644
--- a/drivers/sensors/bmi160.c
+++ b/drivers/sensors/bmi160.c
@@ -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);
diff --git a/drivers/sensors/bmi270.c b/drivers/sensors/bmi270.c
index 8081ee1badc..ab2b93255c4 100644
--- a/drivers/sensors/bmi270.c
+++ b/drivers/sensors/bmi270.c
@@ -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);
diff --git a/drivers/sensors/bmp180.c b/drivers/sensors/bmp180.c
index 736c5b7ddd2..368259ac17d 100644
--- a/drivers/sensors/bmp180.c
+++ b/drivers/sensors/bmp180.c
@@ -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);
diff --git a/drivers/sensors/cxd5602pwbimu.c b/drivers/sensors/cxd5602pwbimu.c
index e42fe415bec..1de3543b1b4 100644
--- a/drivers/sensors/cxd5602pwbimu.c
+++ b/drivers/sensors/cxd5602pwbimu.c
@@ -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);
diff --git a/drivers/sensors/dhtxx.c b/drivers/sensors/dhtxx.c
index d881f47520b..c01fddfaba9 100644
--- a/drivers/sensors/dhtxx.c
+++ b/drivers/sensors/dhtxx.c
@@ -574,7 +574,7 @@ int dhtxx_register(FAR const char *devpath,
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_dhtxxfops, 0666, priv);
+  ret = register_driver(devpath, &g_dhtxxfops, 0600, priv);
   if (ret < 0)
     {
       nxmutex_destroy(&priv->devlock);
diff --git a/drivers/sensors/fxos8700cq.c b/drivers/sensors/fxos8700cq.c
index 18e3b8a210b..fedf21a8a1d 100644
--- a/drivers/sensors/fxos8700cq.c
+++ b/drivers/sensors/fxos8700cq.c
@@ -450,7 +450,7 @@ int fxos8700cq_register(FAR const char *devpath,
       return ret;
     }
 
-  ret = register_driver(devpath, &g_fxos8700cqfops, 0444, priv);
+  ret = register_driver(devpath, &g_fxos8700cqfops, 0400, priv);
   if (ret < 0)
     {
       snerr("Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/gnss_uorb.c b/drivers/sensors/gnss_uorb.c
index d94b389e11b..4070624e364 100644
--- a/drivers/sensors/gnss_uorb.c
+++ b/drivers/sensors/gnss_uorb.c
@@ -862,7 +862,7 @@ int gnss_register(FAR struct gnss_lowerhalf_s *lower, int 
devno,
     }
 
   snprintf(path, PATH_MAX, GNSS_PATH_FMT, devno);
-  ret = register_driver(path, &g_gnss_fops, 0666, upper);
+  ret = register_driver(path, &g_gnss_fops, 0600, upper);
   if (ret < 0)
     {
       goto driver_err;
diff --git a/drivers/sensors/hall3ph.c b/drivers/sensors/hall3ph.c
index 010232f9160..957212b7c02 100644
--- a/drivers/sensors/hall3ph.c
+++ b/drivers/sensors/hall3ph.c
@@ -353,5 +353,5 @@ int hall3_register(FAR const char *devpath,
   /* Register the Hall effect sensor device */
 
   sninfo("Registering %s\n", devpath);
-  return register_driver(devpath, &g_hall3ops, 0666, upper);
+  return register_driver(devpath, &g_hall3ops, 0600, upper);
 }
diff --git a/drivers/sensors/hc_sr04.c b/drivers/sensors/hc_sr04.c
index 06f232052c2..7715e91006d 100644
--- a/drivers/sensors/hc_sr04.c
+++ b/drivers/sensors/hc_sr04.c
@@ -433,7 +433,7 @@ int hcsr04_register(FAR const char *devpath,
   nxmutex_init(&priv->devlock);
   nxsem_init(&priv->conv_donesem, 0, 0);
 
-  ret = register_driver(devpath, &g_hcsr04ops, 0666, priv);
+  ret = register_driver(devpath, &g_hcsr04ops, 0600, priv);
   if (ret < 0)
     {
       nxmutex_destroy(&priv->devlock);
diff --git a/drivers/sensors/hdc1008.c b/drivers/sensors/hdc1008.c
index dc8e05347ab..ce118c80f06 100644
--- a/drivers/sensors/hdc1008.c
+++ b/drivers/sensors/hdc1008.c
@@ -972,7 +972,7 @@ int hdc1008_register(FAR const char *devpath, FAR struct 
i2c_master_s *i2c,
 
   /* Register the driver */
 
-  ret = register_driver(devpath, &g_hdc1008fops, 0666, priv);
+  ret = register_driver(devpath, &g_hdc1008fops, 0600, priv);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/hts221.c b/drivers/sensors/hts221.c
index 7bb10405a75..9d53e270003 100644
--- a/drivers/sensors/hts221.c
+++ b/drivers/sensors/hts221.c
@@ -1192,7 +1192,7 @@ int hts221_register(FAR const char *devpath, FAR struct 
i2c_master_s *i2c,
       return ret;
     }
 
-  ret = register_driver(devpath, &g_humidityops, 0666, priv);
+  ret = register_driver(devpath, &g_humidityops, 0600, priv);
 
   hts221_dbg("Registered with %d\n", ret);
 
diff --git a/drivers/sensors/ina219.c b/drivers/sensors/ina219.c
index 35efbd26369..5a504bc9bd5 100644
--- a/drivers/sensors/ina219.c
+++ b/drivers/sensors/ina219.c
@@ -402,7 +402,7 @@ int ina219_register(FAR const char *devpath, FAR struct 
i2c_master_s *i2c,
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_ina219fops, 0666, priv);
+  ret = register_driver(devpath, &g_ina219fops, 0600, priv);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/ina226.c b/drivers/sensors/ina226.c
index 5f8fccf9c66..70e3a0d62b9 100644
--- a/drivers/sensors/ina226.c
+++ b/drivers/sensors/ina226.c
@@ -382,7 +382,7 @@ int ina226_register(FAR const char *devpath, FAR struct 
i2c_master_s *i2c,
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_ina226fops, 0666, priv);
+  ret = register_driver(devpath, &g_ina226fops, 0600, priv);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/isl29023.c b/drivers/sensors/isl29023.c
index 403832f3c96..12b10d82212 100644
--- a/drivers/sensors/isl29023.c
+++ b/drivers/sensors/isl29023.c
@@ -465,7 +465,7 @@ int isl29023_register(FAR const char *devpath, FAR struct 
i2c_master_s *i2c,
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_isl29023fops, 0666, priv);
+  ret = register_driver(devpath, &g_isl29023fops, 0600, priv);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/kxtj9.c b/drivers/sensors/kxtj9.c
index c95fbb7fb99..84477a47fb0 100644
--- a/drivers/sensors/kxtj9.c
+++ b/drivers/sensors/kxtj9.c
@@ -635,7 +635,7 @@ int kxtj9_register(FAR const char *devpath, FAR struct 
i2c_master_s *i2c,
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_fops, 0666, priv);
+  ret = register_driver(devpath, &g_fops, 0600, priv);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/lis2dh.c b/drivers/sensors/lis2dh.c
index 73c81ce5d23..57e0a52df94 100644
--- a/drivers/sensors/lis2dh.c
+++ b/drivers/sensors/lis2dh.c
@@ -2041,7 +2041,7 @@ int lis2dh_register(FAR const char *devpath, FAR struct 
i2c_master_s *i2c,
   priv->addr = addr;
   priv->config = config;
 
-  ret = register_driver(devpath, &g_lis2dhops, 0666, priv);
+  ret = register_driver(devpath, &g_lis2dhops, 0600, priv);
   if (ret < 0)
     {
       lis2dh_dbg("lis2dh: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/lis3dh.c b/drivers/sensors/lis3dh.c
index 99a25db03d0..e359d52cc73 100644
--- a/drivers/sensors/lis3dh.c
+++ b/drivers/sensors/lis3dh.c
@@ -990,7 +990,7 @@ int lis3dh_register(FAR const char *devpath, FAR struct 
spi_dev_s *spi,
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_lis3dh_fops, 0666, priv);
+  ret = register_driver(devpath, &g_lis3dh_fops, 0600, priv);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/lis3dsh.c b/drivers/sensors/lis3dsh.c
index 01c93659615..c8bd2cbc0e6 100644
--- a/drivers/sensors/lis3dsh.c
+++ b/drivers/sensors/lis3dsh.c
@@ -558,7 +558,7 @@ int lis3dsh_register(FAR const char *devpath, FAR struct 
spi_dev_s *spi,
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_lis3dsh_fops, 0666, priv);
+  ret = register_driver(devpath, &g_lis3dsh_fops, 0600, priv);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/lis3mdl.c b/drivers/sensors/lis3mdl.c
index 0da85b31ebc..f5f5a7a8a8c 100644
--- a/drivers/sensors/lis3mdl.c
+++ b/drivers/sensors/lis3mdl.c
@@ -615,7 +615,7 @@ int lis3mdl_register(FAR const char *devpath, FAR struct 
spi_dev_s *spi,
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_lis3mdl_fops, 0666, priv);
+  ret = register_driver(devpath, &g_lis3mdl_fops, 0600, priv);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/lm75.c b/drivers/sensors/lm75.c
index cab993046ba..6cea7ac911b 100644
--- a/drivers/sensors/lm75.c
+++ b/drivers/sensors/lm75.c
@@ -571,7 +571,7 @@ int lm75_register(FAR const char *devpath, FAR struct 
i2c_master_s *i2c,
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_lm75fops, 0666, priv);
+  ret = register_driver(devpath, &g_lm75fops, 0600, priv);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/lm92.c b/drivers/sensors/lm92.c
index 9ea2e36823e..b8502dcd25d 100644
--- a/drivers/sensors/lm92.c
+++ b/drivers/sensors/lm92.c
@@ -652,7 +652,7 @@ int lm92_register(FAR const char *devpath, FAR struct 
i2c_master_s *i2c,
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_lm92fops, 0666, priv);
+  ret = register_driver(devpath, &g_lm92fops, 0600, priv);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/lps25h.c b/drivers/sensors/lps25h.c
index 1152e29a8c3..2110e9b535e 100644
--- a/drivers/sensors/lps25h.c
+++ b/drivers/sensors/lps25h.c
@@ -769,7 +769,7 @@ int lps25h_register(FAR const char *devpath, FAR struct 
i2c_master_s *i2c,
       dev->config->irq_clear(dev->config);
     }
 
-  ret = register_driver(devpath, &g_lps25hops, 0666, dev);
+  ret = register_driver(devpath, &g_lps25hops, 0600, dev);
 
   lps25h_dbg("Registered with %d\n", ret);
 
diff --git a/drivers/sensors/lsm303agr.c b/drivers/sensors/lsm303agr.c
index 33895b873b5..aae5490715a 100644
--- a/drivers/sensors/lsm303agr.c
+++ b/drivers/sensors/lsm303agr.c
@@ -1194,7 +1194,7 @@ static int lsm303agr_register(FAR const char *devpath,
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_fops, 0666, priv);
+  ret = register_driver(devpath, &g_fops, 0600, priv);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/lsm330_spi.c b/drivers/sensors/lsm330_spi.c
index 3cb79d7cece..2b3edb5687c 100644
--- a/drivers/sensors/lsm330_spi.c
+++ b/drivers/sensors/lsm330_spi.c
@@ -1357,7 +1357,7 @@ int lsm330_register(FAR const char *devpath_acl,
 
   /* Register the character driver */
 
-  ret = register_driver(devpath_acl, &g_lsm330a_fops, 0666, priv);
+  ret = register_driver(devpath_acl, &g_lsm330a_fops, 0600, priv);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register accelerometer driver: %d\n", ret);
@@ -1396,7 +1396,7 @@ int lsm330_register(FAR const char *devpath_acl,
 
   /* Register the character driver */
 
-  ret = register_driver(devpath_gyro, &g_lsm330g_fops, 0666, priv);
+  ret = register_driver(devpath_gyro, &g_lsm330g_fops, 0600, priv);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register gyroscope driver: %d\n", ret);
diff --git a/drivers/sensors/lsm6dsl.c b/drivers/sensors/lsm6dsl.c
index a372cef2c73..5868c576aed 100644
--- a/drivers/sensors/lsm6dsl.c
+++ b/drivers/sensors/lsm6dsl.c
@@ -1210,7 +1210,7 @@ static int lsm6dsl_register(FAR const char *devpath,
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_fops, 0666, priv);
+  ret = register_driver(devpath, &g_fops, 0600, priv);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/lsm9ds1.c b/drivers/sensors/lsm9ds1.c
index f40a574991f..50be815e3e2 100644
--- a/drivers/sensors/lsm9ds1.c
+++ b/drivers/sensors/lsm9ds1.c
@@ -342,7 +342,7 @@ static int lsm9ds1_register(FAR const char *devpath,
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_fops, 0666, priv);
+  ret = register_driver(devpath, &g_fops, 0600, priv);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/ltc4151.c b/drivers/sensors/ltc4151.c
index 4c251d3c839..011572c8283 100644
--- a/drivers/sensors/ltc4151.c
+++ b/drivers/sensors/ltc4151.c
@@ -312,7 +312,7 @@ int ltc4151_register(FAR const char *devpath, FAR struct 
i2c_master_s *i2c,
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_ltc4151fops, 0666, priv);
+  ret = register_driver(devpath, &g_ltc4151fops, 0600, priv);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/max31855.c b/drivers/sensors/max31855.c
index b36449f90bb..7845b40f8f8 100644
--- a/drivers/sensors/max31855.c
+++ b/drivers/sensors/max31855.c
@@ -307,7 +307,7 @@ int max31855_register(FAR const char *devpath, FAR struct 
spi_dev_s *spi,
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_max31855fops, 0666, priv);
+  ret = register_driver(devpath, &g_max31855fops, 0600, priv);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/max31865.c b/drivers/sensors/max31865.c
index 25f97de5a40..74fc42468e4 100644
--- a/drivers/sensors/max31865.c
+++ b/drivers/sensors/max31865.c
@@ -337,7 +337,7 @@ int max31865_register(FAR const char *devpath, FAR struct 
spi_dev_s *spi,
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_max31865fops, 0666, priv);
+  ret = register_driver(devpath, &g_max31865fops, 0600, priv);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/max44009.c b/drivers/sensors/max44009.c
index 6b99b47850b..529841c6529 100644
--- a/drivers/sensors/max44009.c
+++ b/drivers/sensors/max44009.c
@@ -899,7 +899,7 @@ int max44009_register(FAR const char *devpath, FAR struct 
i2c_master_s *i2c,
   priv->config = config;
   nxmutex_init(&priv->dev_lock);
 
-  ret = register_driver(devpath, &g_alsops, 0666, priv);
+  ret = register_driver(devpath, &g_alsops, 0600, priv);
   max44009_dbg("Registered with %d\n", ret);
   if (ret < 0)
     {
diff --git a/drivers/sensors/max6675.c b/drivers/sensors/max6675.c
index 33941da985b..ebe9cfd9ac9 100644
--- a/drivers/sensors/max6675.c
+++ b/drivers/sensors/max6675.c
@@ -272,7 +272,7 @@ int max6675_register(FAR const char *devpath, FAR struct 
spi_dev_s *spi)
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_max6675fops, 0666, priv);
+  ret = register_driver(devpath, &g_max6675fops, 0600, priv);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/mb7040.c b/drivers/sensors/mb7040.c
index e41c1105892..b6ea7ca6f47 100644
--- a/drivers/sensors/mb7040.c
+++ b/drivers/sensors/mb7040.c
@@ -352,7 +352,7 @@ int mb7040_register(FAR const char *devpath, FAR struct 
i2c_master_s *i2c,
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_fops, 0666, priv);
+  ret = register_driver(devpath, &g_fops, 0600, priv);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/mcp9844.c b/drivers/sensors/mcp9844.c
index e7d5295823b..e2409a006c5 100644
--- a/drivers/sensors/mcp9844.c
+++ b/drivers/sensors/mcp9844.c
@@ -382,7 +382,7 @@ int mcp9844_register(FAR const char *devpath, FAR struct 
i2c_master_s *i2c,
 
   /* Register the character driver */
 
-  int ret = register_driver(devpath, &g_mcp9844_fops, 0666, priv);
+  int ret = register_driver(devpath, &g_mcp9844_fops, 0600, priv);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/mlx90393.c b/drivers/sensors/mlx90393.c
index 04b28970eb1..8af87e3d870 100644
--- a/drivers/sensors/mlx90393.c
+++ b/drivers/sensors/mlx90393.c
@@ -593,7 +593,7 @@ int mlx90393_register(FAR const char *devpath, FAR struct 
spi_dev_s *spi,
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_mlx90393_fops, 0666, priv);
+  ret = register_driver(devpath, &g_mlx90393_fops, 0600, priv);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/mlx90614.c b/drivers/sensors/mlx90614.c
index 6068f8c8adc..36dd6c733b2 100644
--- a/drivers/sensors/mlx90614.c
+++ b/drivers/sensors/mlx90614.c
@@ -427,7 +427,7 @@ int mlx90614_register(FAR const char *devpath, FAR struct 
i2c_master_s *i2c,
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_mlx90614_fops, 0666, priv);
+  ret = register_driver(devpath, &g_mlx90614_fops, 0600, priv);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/mpl115a.c b/drivers/sensors/mpl115a.c
index 24cf7fa023c..aa206e80cf1 100644
--- a/drivers/sensors/mpl115a.c
+++ b/drivers/sensors/mpl115a.c
@@ -392,7 +392,7 @@ int mpl115a_register(FAR const char *devpath, FAR struct 
spi_dev_s *spi)
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_mpl115afops, 0666, priv);
+  ret = register_driver(devpath, &g_mpl115afops, 0600, priv);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/mpu60x0.c b/drivers/sensors/mpu60x0.c
index 3e51f1fb15c..20085090339 100644
--- a/drivers/sensors/mpu60x0.c
+++ b/drivers/sensors/mpu60x0.c
@@ -1187,7 +1187,7 @@ int mpu60x0_register(FAR const char *path, FAR struct 
mpu_config_s *config)
 
   /* Register the device node. */
 
-  ret = register_driver(path, &g_mpu_fops, 0666, priv);
+  ret = register_driver(path, &g_mpu_fops, 0600, priv);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register mpu60x0 interface: %d\n", ret);
diff --git a/drivers/sensors/ms58xx.c b/drivers/sensors/ms58xx.c
index 16a2c722c08..a3621d25dbe 100644
--- a/drivers/sensors/ms58xx.c
+++ b/drivers/sensors/ms58xx.c
@@ -1106,7 +1106,7 @@ int ms58xx_register(FAR const char *devpath, FAR struct 
i2c_master_s *i2c,
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_fops, 0666, priv);
+  ret = register_driver(devpath, &g_fops, 0600, priv);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/msa301.c b/drivers/sensors/msa301.c
index 1ba82ec266a..1b2e9cb6f51 100644
--- a/drivers/sensors/msa301.c
+++ b/drivers/sensors/msa301.c
@@ -702,7 +702,7 @@ static int msa301_register(FAR const char *devpath,
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_fops, 0666, priv);
+  ret = register_driver(devpath, &g_fops, 0600, priv);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/qencoder.c b/drivers/sensors/qencoder.c
index e02757d8724..558ac1486bb 100644
--- a/drivers/sensors/qencoder.c
+++ b/drivers/sensors/qencoder.c
@@ -407,7 +407,7 @@ int qe_register(FAR const char *devpath, FAR struct 
qe_lowerhalf_s *lower)
   /* Register the QEncoder device */
 
   sninfo("Registering %s\n", devpath);
-  return register_driver(devpath, &g_qeops, 0666, upper);
+  return register_driver(devpath, &g_qeops, 0600, upper);
 }
 
 #endif /* CONFIG_SENSORS_QENCODER */
diff --git a/drivers/sensors/scd30.c b/drivers/sensors/scd30.c
index 2372b8e3084..48bc40d06d3 100644
--- a/drivers/sensors/scd30.c
+++ b/drivers/sensors/scd30.c
@@ -1075,7 +1075,7 @@ int scd30_register_i2c(FAR const char *devpath, FAR 
struct i2c_master_s *i2c,
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_scd30fops, 0666, priv);
+  ret = register_driver(devpath, &g_scd30fops, 0600, priv);
   if (ret < 0)
     {
       scd30_dbg("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/scd41.c b/drivers/sensors/scd41.c
index e0912744602..b540d25d54d 100644
--- a/drivers/sensors/scd41.c
+++ b/drivers/sensors/scd41.c
@@ -1028,7 +1028,7 @@ int scd41_register_i2c(FAR const char *devpath, FAR 
struct i2c_master_s *i2c)
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_scd41fops, 0666, priv);
+  ret = register_driver(devpath, &g_scd41fops, 0600, priv);
   if (ret < 0)
     {
       scd41_dbg("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/sensor.c b/drivers/sensors/sensor.c
index 323cd8181db..cb88cb33e17 100644
--- a/drivers/sensors/sensor.c
+++ b/drivers/sensors/sensor.c
@@ -1497,7 +1497,7 @@ int sensor_custom_register(FAR struct sensor_lowerhalf_s 
*lower,
   upper->state.nbuffer = lower->nbuffer;
   upper->lower = lower;
   sminfo(upper->name, "Registering %s", path);
-  ret = register_driver(path, &g_sensor_fops, 0666, upper);
+  ret = register_driver(path, &g_sensor_fops, 0600, upper);
   if (ret)
     {
       goto drv_err;
diff --git a/drivers/sensors/sgp30.c b/drivers/sensors/sgp30.c
index d86565d48cf..be27fccfe69 100644
--- a/drivers/sensors/sgp30.c
+++ b/drivers/sensors/sgp30.c
@@ -1080,7 +1080,7 @@ int sgp30_register(FAR const char *devpath, FAR struct 
i2c_master_s *i2c,
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_sgp30fops, 0666, priv);
+  ret = register_driver(devpath, &g_sgp30fops, 0600, priv);
   if (ret < 0)
     {
       sgp30_dbg("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/sht21.c b/drivers/sensors/sht21.c
index 1a9b7f0d9a0..a12c6534710 100644
--- a/drivers/sensors/sht21.c
+++ b/drivers/sensors/sht21.c
@@ -681,7 +681,7 @@ int sht21_register(FAR const char *devpath, FAR struct 
i2c_master_s *i2c,
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_sht21fops, 0666, priv);
+  ret = register_driver(devpath, &g_sht21fops, 0600, priv);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/sht3x.c b/drivers/sensors/sht3x.c
index b284c2cf6c8..19a3ddce050 100644
--- a/drivers/sensors/sht3x.c
+++ b/drivers/sensors/sht3x.c
@@ -698,7 +698,7 @@ int sht3x_register(FAR const char *devpath, FAR struct 
i2c_master_s *i2c,
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_sht3xfops, 0666, priv);
+  ret = register_driver(devpath, &g_sht3xfops, 0600, priv);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/sps30.c b/drivers/sensors/sps30.c
index 883531b4677..514fc00f4b9 100644
--- a/drivers/sensors/sps30.c
+++ b/drivers/sensors/sps30.c
@@ -1089,7 +1089,7 @@ int sps30_register_i2c(FAR const char *devpath, FAR 
struct i2c_master_s *i2c,
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_sps30fops, 0666, priv);
+  ret = register_driver(devpath, &g_sps30fops, 0600, priv);
   if (ret < 0)
     {
       sps30_dbg("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/t67xx.c b/drivers/sensors/t67xx.c
index f74308e24f7..4a2f304bdfd 100644
--- a/drivers/sensors/t67xx.c
+++ b/drivers/sensors/t67xx.c
@@ -739,7 +739,7 @@ int t67xx_register(FAR const char *devpath, FAR struct 
i2c_master_s *i2c,
 
   /* Register the character driver. */
 
-  ret = register_driver(devpath, &g_t67xxfops, 0666, priv);
+  ret = register_driver(devpath, &g_t67xxfops, 0600, priv);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/tmp112.c b/drivers/sensors/tmp112.c
index d6f8f4ea0a8..9774298a539 100644
--- a/drivers/sensors/tmp112.c
+++ b/drivers/sensors/tmp112.c
@@ -305,7 +305,7 @@ int tmp112_register(FAR const char *devpath, FAR struct 
i2c_master_s *i2c,
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_tmp112fops, 0666, priv);
+  ret = register_driver(devpath, &g_tmp112fops, 0600, priv);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/usensor.c b/drivers/sensors/usensor.c
index 4a97149a103..2921206e3fa 100644
--- a/drivers/sensors/usensor.c
+++ b/drivers/sensors/usensor.c
@@ -266,7 +266,7 @@ int usensor_initialize(void)
   nxmutex_init(&usensor->lock);
   list_initialize(&usensor->list);
 
-  ret = register_driver(USENSOR_PATH, &g_usensor_fops, 0666, usensor);
+  ret = register_driver(USENSOR_PATH, &g_usensor_fops, 0600, usensor);
   if (ret < 0)
     {
       goto errout_with_lock;
diff --git a/drivers/sensors/veml6070.c b/drivers/sensors/veml6070.c
index 23af2d38b5f..b45c4f8a5af 100644
--- a/drivers/sensors/veml6070.c
+++ b/drivers/sensors/veml6070.c
@@ -302,7 +302,7 @@ int veml6070_register(FAR const char *devpath, FAR struct 
i2c_master_s *i2c,
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_veml6070_fops, 0666, priv);
+  ret = register_driver(devpath, &g_veml6070_fops, 0600, priv);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/vl53l1x.c b/drivers/sensors/vl53l1x.c
index da196e07853..555afadaf31 100644
--- a/drivers/sensors/vl53l1x.c
+++ b/drivers/sensors/vl53l1x.c
@@ -1156,7 +1156,7 @@ int vl53l1x_register(FAR const char *devpath, FAR struct 
i2c_master_s *i2c)
       return 0;
     }
 
-  register_driver(devpath, &g_vl53l1xfops, 0666, priv);
+  register_driver(devpath, &g_vl53l1xfops, 0600, priv);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/sensors/xen1210.c b/drivers/sensors/xen1210.c
index 6a8822acfd4..cd44134b22c 100644
--- a/drivers/sensors/xen1210.c
+++ b/drivers/sensors/xen1210.c
@@ -349,7 +349,7 @@ int xen1210_register(XEN1210_HANDLE handle, int minor)
   /* Register the character driver */
 
   snprintf(devname, sizeof(devname), DEV_FORMAT, minor);
-  ret = register_driver(devname, &g_xen1210fops, 0444, priv);
+  ret = register_driver(devname, &g_xen1210fops, 0400, priv);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register driver %s: %d\n", devname, ret);
diff --git a/drivers/sensors/zerocross.c b/drivers/sensors/zerocross.c
index 1d0b3db4667..d26a7292fb9 100644
--- a/drivers/sensors/zerocross.c
+++ b/drivers/sensors/zerocross.c
@@ -507,7 +507,7 @@ int zc_register(FAR const char *devname, FAR struct 
zc_lowerhalf_s *lower)
 
   /* And register the zero cross driver */
 
-  ret = register_driver(devname, &g_zcops, 0666, priv);
+  ret = register_driver(devname, &g_zcops, 0600, priv);
   if (ret < 0)
     {
       snerr("ERROR: register_driver failed: %d\n", ret);
diff --git a/drivers/serial/ptmx.c b/drivers/serial/ptmx.c
index ed699dc85df..9161657aad2 100644
--- a/drivers/serial/ptmx.c
+++ b/drivers/serial/ptmx.c
@@ -267,7 +267,7 @@ int ptmx_register(void)
 {
   /* Register the PTMX driver */
 
-  return register_driver("/dev/ptmx", &g_ptmx_fops, 0666, NULL);
+  return register_driver("/dev/ptmx", &g_ptmx_fops, 0600, NULL);
 }
 
 /****************************************************************************
diff --git a/drivers/serial/pty.c b/drivers/serial/pty.c
index 070e82980fb..59bb59b6c70 100644
--- a/drivers/serial/pty.c
+++ b/drivers/serial/pty.c
@@ -1120,7 +1120,7 @@ int pty_register2(int minor, bool susv1)
 
   snprintf(devname, sizeof(devname), "/dev/pty%d", minor);
 
-  ret = register_driver(devname, &g_pty_fops, 0666, &devpair->pp_master);
+  ret = register_driver(devname, &g_pty_fops, 0600, &devpair->pp_master);
   if (ret < 0)
     {
       goto errout_with_devpair;
@@ -1143,7 +1143,7 @@ int pty_register2(int minor, bool susv1)
       snprintf(devname, sizeof(devname), "/dev/ttyp%d", minor);
     }
 
-  ret = register_driver(devname, &g_pty_fops, 0666, &devpair->pp_slave);
+  ret = register_driver(devname, &g_pty_fops, 0600, &devpair->pp_slave);
   if (ret < 0)
     {
       goto errout_with_master;
diff --git a/drivers/serial/serial.c b/drivers/serial/serial.c
index da80d2e9e66..9f538edf338 100644
--- a/drivers/serial/serial.c
+++ b/drivers/serial/serial.c
@@ -2181,7 +2181,7 @@ int uart_register(FAR const char *path, FAR uart_dev_t 
*dev)
 #endif
 
   sinfo("Registering %s\n", path);
-  return register_driver(path, &g_serialops, 0666, dev);
+  return register_driver(path, &g_serialops, 0600, dev);
 }
 
 /****************************************************************************
diff --git a/drivers/serial/uart_bth4.c b/drivers/serial/uart_bth4.c
index 5a2f00ee2cf..773a0195f3b 100644
--- a/drivers/serial/uart_bth4.c
+++ b/drivers/serial/uart_bth4.c
@@ -475,7 +475,7 @@ int uart_bth4_register(FAR const char *path, FAR struct 
bt_driver_s *drv)
   nxmutex_init(&dev->openlock);
   nxsem_init(&dev->recvsem, 0, 0);
 
-  ret = register_driver(path, &g_uart_bth4_ops, 0666, dev);
+  ret = register_driver(path, &g_uart_bth4_ops, 0600, dev);
   if (ret < 0)
     {
       nxmutex_destroy(&dev->sendlock);
diff --git a/drivers/spi/ice40.c b/drivers/spi/ice40.c
index 3c69d03e546..8cbfeb5641e 100644
--- a/drivers/spi/ice40.c
+++ b/drivers/spi/ice40.c
@@ -405,7 +405,7 @@ int ice40_register(FAR const char *path, FAR struct 
ice40_dev_s *dev)
 
   /* Register the character driver */
 
-  ret = register_driver(path, &g_ice40_fops, 0666, dev);
+  ret = register_driver(path, &g_ice40_fops, 0600, dev);
   if (ret < 0)
     {
       snerr("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/spi/spi_driver.c b/drivers/spi/spi_driver.c
index f74f59b04bc..64a903f131a 100644
--- a/drivers/spi/spi_driver.c
+++ b/drivers/spi/spi_driver.c
@@ -374,7 +374,7 @@ int spi_register(FAR struct spi_dev_s *spi, int bus)
       /* Create the character device name */
 
       snprintf(devname, sizeof(devname), DEVNAME_FMT, bus);
-      ret = register_driver(devname, &g_spidrvr_fops, 0666, priv);
+      ret = register_driver(devname, &g_spidrvr_fops, 0600, priv);
       if (ret < 0)
         {
           /* Free the device structure if we failed to create the character
diff --git a/drivers/spi/spi_slave_driver.c b/drivers/spi/spi_slave_driver.c
index 5bab922ee24..6e040f4ed18 100644
--- a/drivers/spi/spi_slave_driver.c
+++ b/drivers/spi/spi_slave_driver.c
@@ -814,7 +814,7 @@ int spi_slave_register(FAR struct spi_slave_ctrlr_s *ctrlr, 
int bus)
 
   /* Register the character driver */
 
-  ret = register_driver(devname, &g_spislavefops, 0666, priv);
+  ret = register_driver(devname, &g_spislavefops, 0600, priv);
   if (ret < 0)
     {
       spierr("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/syslog/ramlog.c b/drivers/syslog/ramlog.c
index 7e16c09f145..0e2ac3401b3 100644
--- a/drivers/syslog/ramlog.c
+++ b/drivers/syslog/ramlog.c
@@ -786,7 +786,7 @@ int ramlog_register(FAR const char *devpath, FAR char 
*buffer, size_t buflen)
 
       /* Register the character driver */
 
-      ret = register_driver(devpath, &g_ramlogfops, 0666, priv);
+      ret = register_driver(devpath, &g_ramlogfops, 0600, priv);
       if (ret < 0)
         {
           kmm_free(priv);
@@ -810,7 +810,7 @@ void ramlog_syslog_register(void)
 {
   /* Register the syslog character driver */
 
-  register_driver(CONFIG_SYSLOG_DEVPATH, &g_ramlogfops, 0666, &g_sysdev);
+  register_driver(CONFIG_SYSLOG_DEVPATH, &g_ramlogfops, 0600, &g_sysdev);
 }
 #endif
 
diff --git a/drivers/syslog/syslog_chardev.c b/drivers/syslog/syslog_chardev.c
index 2b7d7f4dc56..e40e162c410 100644
--- a/drivers/syslog/syslog_chardev.c
+++ b/drivers/syslog/syslog_chardev.c
@@ -161,7 +161,7 @@ static int syslog_chardev_ioctl(FAR struct file *filep,
 
 void syslog_register(void)
 {
-  register_driver("/dev/log", &g_syslog_fops, 0222, NULL);
+  register_driver("/dev/log", &g_syslog_fops, 0220, NULL);
 }
 
 #endif /* CONFIG_SYSLOG_CHARDEV */
diff --git a/drivers/syslog/syslog_console.c b/drivers/syslog/syslog_console.c
index 3ae141813a7..b871808e2b8 100644
--- a/drivers/syslog/syslog_console.c
+++ b/drivers/syslog/syslog_console.c
@@ -91,5 +91,5 @@ static ssize_t syslog_console_write(FAR struct file *filep,
 
 void syslog_console_init(void)
 {
-  register_driver("/dev/console", &g_consoleops, 0666, NULL);
+  register_driver("/dev/console", &g_consoleops, 0600, NULL);
 }
diff --git a/drivers/syslog/syslog_rpmsg.c b/drivers/syslog/syslog_rpmsg.c
index d0cd320a1ae..8a68985bf50 100644
--- a/drivers/syslog/syslog_rpmsg.c
+++ b/drivers/syslog/syslog_rpmsg.c
@@ -488,7 +488,7 @@ int syslog_rpmsg_init(void)
   int ret;
 
   ret = register_driver(CONFIG_SYSLOG_DEVPATH, &g_syslog_rpmsgfops,
-                        0666, &g_syslog_rpmsg);
+                        0600, &g_syslog_rpmsg);
   if (ret < 0)
     {
       return ret;
diff --git a/drivers/syslog/syslog_rpmsg_server.c 
b/drivers/syslog/syslog_rpmsg_server.c
index 404ba5caf93..9143bd51f05 100644
--- a/drivers/syslog/syslog_rpmsg_server.c
+++ b/drivers/syslog/syslog_rpmsg_server.c
@@ -299,7 +299,7 @@ int syslog_rpmsg_server_init(void)
 #ifdef CONFIG_SYSLOG_RPMSG_SERVER_CHARDEV
   int ret;
 
-  ret = register_driver("/dev/logrpmsg", &g_syslog_rpmsg_fops, 0666, NULL);
+  ret = register_driver("/dev/logrpmsg", &g_syslog_rpmsg_fops, 0600, NULL);
   if (ret < 0)
     {
       return ret;
diff --git a/drivers/timers/capture.c b/drivers/timers/capture.c
index 3570fdb1af3..d632f788114 100644
--- a/drivers/timers/capture.c
+++ b/drivers/timers/capture.c
@@ -581,7 +581,7 @@ int cap_register(FAR const char *devpath, FAR struct 
cap_lowerhalf_s *lower)
 
   /* Register the PWM Capture device */
 
-  return register_driver(devpath, &g_capops, 0666, upper);
+  return register_driver(devpath, &g_capops, 0600, upper);
 }
 
 int cap_register_multiple(FAR const char *devpath,
diff --git a/drivers/timers/dshot.c b/drivers/timers/dshot.c
index 37f4c875339..05bd14922e8 100644
--- a/drivers/timers/dshot.c
+++ b/drivers/timers/dshot.c
@@ -624,7 +624,7 @@ int dshot_register(FAR const char *path, FAR struct 
dshot_lowerhalf_s *dev)
   nxmutex_init(&upper->lock);
   upper->dev = dev;
 
-  ret = register_driver(path, &g_dshotops, 0666, upper);
+  ret = register_driver(path, &g_dshotops, 0600, upper);
   if (ret < 0)
     {
       nxmutex_destroy(&upper->lock);
diff --git a/drivers/timers/oneshot.c b/drivers/timers/oneshot.c
index bffcc3116ad..1fcd1dfa572 100644
--- a/drivers/timers/oneshot.c
+++ b/drivers/timers/oneshot.c
@@ -328,7 +328,7 @@ int oneshot_register(FAR const char *devname,
 
   /* And register the oneshot timer driver */
 
-  ret = register_driver(devname, &g_oneshot_ops, 0666, priv);
+  ret = register_driver(devname, &g_oneshot_ops, 0600, priv);
   if (ret < 0)
     {
       tmrerr("ERROR: register_driver failed: %d\n", ret);
diff --git a/drivers/timers/ptp_clock.c b/drivers/timers/ptp_clock.c
index 4b3c92d91ee..39400586f3c 100644
--- a/drivers/timers/ptp_clock.c
+++ b/drivers/timers/ptp_clock.c
@@ -443,7 +443,7 @@ int ptp_clock_register(FAR struct ptp_lowerhalf_s *lower, 
int32_t max_adj,
 
   snprintf(path, sizeof(path), "/dev/ptp%d", devno);
   ptpinfo("Registering %s\n", path);
-  ret = register_driver(path, &g_ptp_clock_file_ops, 0666, upper);
+  ret = register_driver(path, &g_ptp_clock_file_ops, 0600, upper);
   if (ret < 0)
     {
       nxmutex_destroy(&upper->lock);
diff --git a/drivers/timers/pulsecount.c b/drivers/timers/pulsecount.c
index d2c1677efc7..3649588ecf5 100644
--- a/drivers/timers/pulsecount.c
+++ b/drivers/timers/pulsecount.c
@@ -338,7 +338,7 @@ int pulsecount_register(FAR const char *path,
   upper->dev = dev;
 
   _info("Registering %s\n", path);
-  return register_driver(path, &g_pulsecount_fops, 0666, upper);
+  return register_driver(path, &g_pulsecount_fops, 0600, upper);
 }
 
 void pulsecount_expired(FAR void *handle)
diff --git a/drivers/timers/pwm.c b/drivers/timers/pwm.c
index 8714abbc745..3c0e28d7a54 100644
--- a/drivers/timers/pwm.c
+++ b/drivers/timers/pwm.c
@@ -501,7 +501,7 @@ int pwm_register(FAR const char *path, FAR struct 
pwm_lowerhalf_s *dev)
   /* Register the PWM device */
 
   pwminfo("Registering %s\n", path);
-  return register_driver(path, &g_pwmops, 0666, upper);
+  return register_driver(path, &g_pwmops, 0600, upper);
 }
 
 #endif /* CONFIG_PWM */
diff --git a/drivers/timers/rtc.c b/drivers/timers/rtc.c
index cd26dcb2e4b..ca2b60513a0 100644
--- a/drivers/timers/rtc.c
+++ b/drivers/timers/rtc.c
@@ -854,7 +854,7 @@ int rtc_initialize(int minor, FAR struct rtc_lowerhalf_s 
*lower)
 
   /* And, finally, register the new RTC driver */
 
-  ret = register_driver(devpath, &g_rtc_fops, 0666, upper);
+  ret = register_driver(devpath, &g_rtc_fops, 0600, upper);
   if (ret < 0)
     {
       nxmutex_destroy(&upper->lock);
diff --git a/drivers/timers/timer.c b/drivers/timers/timer.c
index c90aa5bdb1b..71ff26135e9 100644
--- a/drivers/timers/timer.c
+++ b/drivers/timers/timer.c
@@ -558,7 +558,7 @@ FAR void *timer_register(FAR const char *path,
 
   /* Register the timer device */
 
-  ret = register_driver(path, &g_timerops, 0666, upper);
+  ret = register_driver(path, &g_timerops, 0600, upper);
   if (ret < 0)
     {
       tmrerr("ERROR: register_driver failed: %d\n", ret);
diff --git a/drivers/timers/watchdog.c b/drivers/timers/watchdog.c
index 1c8b6230d82..4ddeb6ac640 100644
--- a/drivers/timers/watchdog.c
+++ b/drivers/timers/watchdog.c
@@ -840,7 +840,7 @@ FAR void *watchdog_register(FAR const char *path,
 
   /* Register the watchdog timer device */
 
-  ret = register_driver(path, &g_wdogops, 0666, upper);
+  ret = register_driver(path, &g_wdogops, 0600, upper);
   if (ret < 0)
     {
       wderr("register_driver failed: %d\n", ret);
diff --git a/drivers/usbdev/cdcncm.c b/drivers/usbdev/cdcncm.c
index d528d8f0da4..5407c8ff72f 100644
--- a/drivers/usbdev/cdcncm.c
+++ b/drivers/usbdev/cdcncm.c
@@ -3022,7 +3022,7 @@ static int cdcmbim_classobject(int minor,
       index = self->ncmdriver.dev.netdev.d_ifindex;
 #endif
       snprintf(devname, sizeof(devname), CDC_MBIM_DEVFORMAT, index);
-      ret = register_driver(devname, &g_usbdevfops, 0666, self);
+      ret = register_driver(devname, &g_usbdevfops, 0600, self);
       if (ret < 0)
         {
           nerr("register_driver failed. ret: %d\n", ret);
diff --git a/drivers/usbdev/uvc.c b/drivers/usbdev/uvc.c
index 29c4689a87e..4f5154a545f 100644
--- a/drivers/usbdev/uvc.c
+++ b/drivers/usbdev/uvc.c
@@ -1521,7 +1521,7 @@ int usbdev_uvc_classobject(int minor,
 
   /* Register the character device */
 
-  ret = register_driver(USBUVC_CHARDEV_PATH, &g_uvc_fops, 0666, priv);
+  ret = register_driver(USBUVC_CHARDEV_PATH, &g_uvc_fops, 0600, priv);
   if (ret < 0)
     {
       uerr("register_driver failed: %d\n", ret);
diff --git a/drivers/usbhost/usbhost_cdcmbim.c 
b/drivers/usbhost/usbhost_cdcmbim.c
index dce2552aa68..a8a54b88a33 100644
--- a/drivers/usbhost/usbhost_cdcmbim.c
+++ b/drivers/usbhost/usbhost_cdcmbim.c
@@ -1581,7 +1581,7 @@ static inline int usbhost_devinit(FAR struct 
usbhost_cdcmbim_s *priv)
 
       uinfo("Register character driver\n");
       usbhost_mkdevname(priv, devname);
-      ret = register_driver(devname, &g_cdcwdm_fops, 0666, priv);
+      ret = register_driver(devname, &g_cdcwdm_fops, 0600, priv);
     }
 
   if (priv->intin)
diff --git a/drivers/usbhost/usbhost_hidkbd.c b/drivers/usbhost/usbhost_hidkbd.c
index 470985e9752..a52625257b5 100644
--- a/drivers/usbhost/usbhost_hidkbd.c
+++ b/drivers/usbhost/usbhost_hidkbd.c
@@ -1991,7 +1991,7 @@ static inline int usbhost_devinit(FAR struct 
usbhost_state_s *priv)
 
   uinfo("Register driver\n");
   usbhost_mkdevname(priv, devname);
-  ret = register_driver(devname, &g_hidkbd_fops, 0666, priv);
+  ret = register_driver(devname, &g_hidkbd_fops, 0600, priv);
 
   /* We now have to be concerned about asynchronous modification of crefs
    * because the driver has been registered.
diff --git a/drivers/usbhost/usbhost_hidmouse.c 
b/drivers/usbhost/usbhost_hidmouse.c
index 7c52e844c52..6849efdef7b 100644
--- a/drivers/usbhost/usbhost_hidmouse.c
+++ b/drivers/usbhost/usbhost_hidmouse.c
@@ -1633,7 +1633,7 @@ static inline int usbhost_devinit(FAR struct 
usbhost_state_s *priv)
 
   uinfo("Register driver\n");
   usbhost_mkdevname(priv, devname);
-  ret = register_driver(devname, &g_hidmouse_fops, 0666, priv);
+  ret = register_driver(devname, &g_hidmouse_fops, 0600, priv);
 
   /* We now have to be concerned about asynchronous modification of crefs
    * because the driver has been registered.
diff --git a/drivers/usbhost/usbhost_xboxcontroller.c 
b/drivers/usbhost/usbhost_xboxcontroller.c
index c1223dd1a2a..81f3dc7f9ce 100644
--- a/drivers/usbhost/usbhost_xboxcontroller.c
+++ b/drivers/usbhost/usbhost_xboxcontroller.c
@@ -1355,7 +1355,7 @@ static inline int usbhost_devinit(FAR struct 
usbhost_state_s *priv)
 
   uinfo("Register block driver\n");
   usbhost_mkdevname(priv, devname);
-  ret = register_driver(devname, &g_xboxcontroller_fops, 0666, priv);
+  ret = register_driver(devname, &g_xboxcontroller_fops, 0600, priv);
 
   /* Check if we successfully initialized. We now have to be concerned
    * about asynchronous modification of crefs because the block
diff --git a/drivers/usbmisc/fusb301.c b/drivers/usbmisc/fusb301.c
index fd0517d871c..1f7d6f45d97 100644
--- a/drivers/usbmisc/fusb301.c
+++ b/drivers/usbmisc/fusb301.c
@@ -787,7 +787,7 @@ int fusb301_register(FAR const char *devpath, FAR struct 
i2c_master_s *i2c,
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_fusb301ops, 0666, priv);
+  ret = register_driver(devpath, &g_fusb301ops, 0600, priv);
   if (ret < 0)
     {
       fusb301_err("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/usbmisc/fusb302.c b/drivers/usbmisc/fusb302.c
index 160de6912af..16bd73f1c9b 100644
--- a/drivers/usbmisc/fusb302.c
+++ b/drivers/usbmisc/fusb302.c
@@ -1920,7 +1920,7 @@ int fusb302_register(FAR const char *devpath,
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_fusb302ops, 0666, priv);
+  ret = register_driver(devpath, &g_fusb302ops, 0600, priv);
   if (ret < 0)
     {
       fusb302_err("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/usbmisc/fusb303.c b/drivers/usbmisc/fusb303.c
index dd579cc939f..c945f2855a7 100644
--- a/drivers/usbmisc/fusb303.c
+++ b/drivers/usbmisc/fusb303.c
@@ -975,7 +975,7 @@ int fusb303_register(FAR const char *devpath, FAR struct 
i2c_master_s *i2c,
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_fusb303ops, 0666, priv);
+  ret = register_driver(devpath, &g_fusb303ops, 0600, priv);
   if (ret < 0)
     {
       fusb303_err("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/usbmisc/stusb4500.c b/drivers/usbmisc/stusb4500.c
index 175d82f2ca3..0e64555381c 100644
--- a/drivers/usbmisc/stusb4500.c
+++ b/drivers/usbmisc/stusb4500.c
@@ -601,7 +601,7 @@ int stusb4500_register(FAR const char *devpath, FAR struct 
i2c_master_s *i2c,
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_stusb4500ops, 0666, priv);
+  ret = register_driver(devpath, &g_stusb4500ops, 0600, priv);
   if (ret < 0)
     {
       stusb4500_err("ERROR: Failed to register driver: %d\n", ret);
diff --git a/drivers/usrsock/usrsock_dev.c b/drivers/usrsock/usrsock_dev.c
index 546325473b0..085db638c3f 100644
--- a/drivers/usrsock/usrsock_dev.c
+++ b/drivers/usrsock/usrsock_dev.c
@@ -523,7 +523,7 @@ int usrsock_request(FAR struct iovec *iov, unsigned int 
iovcnt)
 
 void usrsock_register(void)
 {
-  register_driver("/dev/usrsock", &g_usrsockdevops, 0666,
+  register_driver("/dev/usrsock", &g_usrsockdevops, 0600,
                   &g_usrsockdev);
 }
 
diff --git a/drivers/video/fb.c b/drivers/video/fb.c
index 461a13ce1bb..ca6ebe4a866 100644
--- a/drivers/video/fb.c
+++ b/drivers/video/fb.c
@@ -2017,7 +2017,7 @@ int fb_register_device(int display, int plane,
       snprintf(devname, sizeof(devname), "/dev/fb%d.%d", display, plane);
     }
 
-  ret = register_driver(devname, &g_fb_fops, 0666, fb);
+  ret = register_driver(devname, &g_fb_fops, 0600, fb);
 
   if (ret < 0)
     {
diff --git a/drivers/video/mipidsi/mipi_dsi_device_driver.c 
b/drivers/video/mipidsi/mipi_dsi_device_driver.c
index 3732b909195..6b45ce96a0c 100644
--- a/drivers/video/mipidsi/mipi_dsi_device_driver.c
+++ b/drivers/video/mipidsi/mipi_dsi_device_driver.c
@@ -224,7 +224,7 @@ int mipi_dsi_device_driver_register(FAR struct 
mipi_dsi_device *device)
   snprintf(devpath, sizeof(devpath), MIPI_DSI_DEVNAME_FMT, host->bus,
            device->channel, device->name);
 
-  ret = register_driver(devpath, &g_dsi_dev_fops, 0666, priv);
+  ret = register_driver(devpath, &g_dsi_dev_fops, 0600, priv);
   if (ret < 0)
     {
       nxmutex_destroy(&priv->lock);
diff --git a/drivers/video/mipidsi/mipi_dsi_host_driver.c 
b/drivers/video/mipidsi/mipi_dsi_host_driver.c
index 9bc2b77bb22..edfd08cc680 100644
--- a/drivers/video/mipidsi/mipi_dsi_host_driver.c
+++ b/drivers/video/mipidsi/mipi_dsi_host_driver.c
@@ -195,7 +195,7 @@ int mipi_dsi_host_driver_register(FAR struct mipi_dsi_host 
*host)
 #endif
 
       snprintf(name, sizeof(name), MIPI_DSI_HOSTNAME_FMT, host->bus);
-      ret = register_driver(name, &g_dsi_host_fops, 0666, priv);
+      ret = register_driver(name, &g_dsi_host_fops, 0600, priv);
       if (ret < 0)
         {
 #ifndef CONFIG_DISABLE_PSEUDOFS_OPERATIONS
diff --git a/drivers/video/v4l2_core.c b/drivers/video/v4l2_core.c
index 6cb896b4b10..2392367da86 100644
--- a/drivers/video/v4l2_core.c
+++ b/drivers/video/v4l2_core.c
@@ -560,7 +560,7 @@ int video_register(FAR const char *devpath, FAR struct 
v4l2_s *v4l2)
 
   /* Register the character driver */
 
-  ret = register_driver(devpath, &g_v4l2_fops, 0666, v4l2);
+  ret = register_driver(devpath, &g_v4l2_fops, 0600, v4l2);
   if (ret < 0)
     {
       verr("Failed to register driver: %d\n", ret);
diff --git a/drivers/virtio/virtio-rng.c b/drivers/virtio/virtio-rng.c
index 45ab8dc4613..3edcd0bcea2 100644
--- a/drivers/virtio/virtio-rng.c
+++ b/drivers/virtio/virtio-rng.c
@@ -249,7 +249,7 @@ static int virtio_rng_probe(FAR struct virtio_device *vdev)
 #endif
     }
 
-  ret = register_driver(priv->name, &g_virtio_rng_ops, 0444, priv);
+  ret = register_driver(priv->name, &g_virtio_rng_ops, 0400, priv);
   if (ret < 0)
     {
       vrterr("Register NuttX driver failed, ret=%d\n", ret);
@@ -257,7 +257,7 @@ static int virtio_rng_probe(FAR struct virtio_device *vdev)
     }
 
 #ifdef CONFIG_DEV_URANDOM
-  ret = register_driver(priv->uname, &g_virtio_rng_ops, 0444, priv);
+  ret = register_driver(priv->uname, &g_virtio_rng_ops, 0400, priv);
   if (ret < 0)
     {
       vrterr("Register NuttX driver failed, ret=%d\n", ret);
diff --git a/drivers/virtio/virtio-rpmb.c b/drivers/virtio/virtio-rpmb.c
index 2f542929bc0..d395cd9f901 100644
--- a/drivers/virtio/virtio-rpmb.c
+++ b/drivers/virtio/virtio-rpmb.c
@@ -261,7 +261,7 @@ static int virtio_rpmb_probe(FAR struct virtio_device *vdev)
       goto err_with_priv;
     }
 
-  ret = register_driver(VIRTIO_RPMB_DEVNAME, &g_virtio_rpmb_ops, 0666,
+  ret = register_driver(VIRTIO_RPMB_DEVNAME, &g_virtio_rpmb_ops, 0600,
                         priv);
   if (ret < 0)
     {
diff --git a/drivers/wireless/cc1101.c b/drivers/wireless/cc1101.c
index e3a872b4d42..d8a69e077ee 100644
--- a/drivers/wireless/cc1101.c
+++ b/drivers/wireless/cc1101.c
@@ -1740,7 +1740,7 @@ int cc1101_register(FAR const char *path, FAR struct 
cc1101_dev_s *dev)
       return -ENODEV;
     }
 
-  return register_driver(path, &g_cc1101ops, 0666, dev);
+  return register_driver(path, &g_cc1101ops, 0600, dev);
 }
 
 /****************************************************************************
diff --git a/drivers/wireless/gs2200m.c b/drivers/wireless/gs2200m.c
index 59d9a9c94ae..1e45f31768f 100644
--- a/drivers/wireless/gs2200m.c
+++ b/drivers/wireless/gs2200m.c
@@ -3519,7 +3519,7 @@ FAR void *gs2200m_register(FAR const char *devpath,
       goto errout;
     }
 
-  ret = register_driver(devpath, &g_gs2200m_fops, 0666, dev);
+  ret = register_driver(devpath, &g_gs2200m_fops, 0600, dev);
   if (ret < 0)
     {
       wlerr("Failed to register driver: %d\n", ret);
diff --git a/drivers/wireless/lpwan/rn2xx3/rn2xx3.c 
b/drivers/wireless/lpwan/rn2xx3/rn2xx3.c
index bc3ea4754b2..2d1624d91b1 100644
--- a/drivers/wireless/lpwan/rn2xx3/rn2xx3.c
+++ b/drivers/wireless/lpwan/rn2xx3/rn2xx3.c
@@ -1913,7 +1913,7 @@ int rn2xx3_register(FAR const char *devpath, FAR const 
char *uartpath)
 
   /* Register driver */
 
-  err = register_driver(devpath, &g_rn2xx3fops, 0666, priv);
+  err = register_driver(devpath, &g_rn2xx3fops, 0600, priv);
   if (err < 0)
     {
       wlerr("Failed to register RN2xx3 driver: %d\n", err);
diff --git a/drivers/wireless/lpwan/sx126x/sx126x.c 
b/drivers/wireless/lpwan/sx126x/sx126x.c
index c99882f999f..500ee9d1d6f 100644
--- a/drivers/wireless/lpwan/sx126x/sx126x.c
+++ b/drivers/wireless/lpwan/sx126x/sx126x.c
@@ -1402,6 +1402,6 @@ void sx126x_register(FAR struct spi_dev_s *spi,
 
   sx126x_attachirq0(dev, sx126x_irq0handler, dev);
 
-  (void)register_driver(path, &sx126x_ops, 0666,
+  (void)register_driver(path, &sx126x_ops, 0600,
                         dev);
 }
diff --git a/drivers/wireless/lpwan/sx127x/sx127x.c 
b/drivers/wireless/lpwan/sx127x/sx127x.c
index f29e9f2635c..8b3f334a60e 100644
--- a/drivers/wireless/lpwan/sx127x/sx127x.c
+++ b/drivers/wireless/lpwan/sx127x/sx127x.c
@@ -4720,7 +4720,7 @@ int sx127x_register(FAR struct spi_dev_s *spi,
 
   wlinfo("Registering " SX127X_DEV_NAME "\n");
 
-  ret = register_driver(SX127X_DEV_NAME, &g_sx127x_fops, 0666, dev);
+  ret = register_driver(SX127X_DEV_NAME, &g_sx127x_fops, 0600, dev);
   if (ret < 0)
     {
       wlerr("ERROR: register_driver() failed: %d\n", ret);
diff --git a/drivers/wireless/nrf24l01.c b/drivers/wireless/nrf24l01.c
index d1543b9d1f1..d2ffd459920 100644
--- a/drivers/wireless/nrf24l01.c
+++ b/drivers/wireless/nrf24l01.c
@@ -1582,7 +1582,7 @@ int nrf24l01_register(FAR struct spi_dev_s *spi,
 
   wlinfo("Registering " DEV_NAME "\n");
 
-  ret = register_driver(DEV_NAME, &g_nrf24l01_fops, 0666, dev);
+  ret = register_driver(DEV_NAME, &g_nrf24l01_fops, 0600, dev);
   if (ret < 0)
     {
       wlerr("ERROR: register_driver() failed: %d\n", ret);
diff --git a/fs/mount/fs_automount.c b/fs/mount/fs_automount.c
index eb637599ab3..2d5988aeea4 100644
--- a/fs/mount/fs_automount.c
+++ b/fs/mount/fs_automount.c
@@ -858,7 +858,7 @@ FAR void *automount_initialize(FAR const struct 
automount_lower_s *lower)
   snprintf(devpath, PATH_MAX,
            CONFIG_FS_AUTOMOUNTER_VFS_PATH "%s", lower->mountpoint);
 
-  ret = register_driver(devpath, &g_automount_fops, 0444, priv);
+  ret = register_driver(devpath, &g_automount_fops, 0400, priv);
   lib_put_pathbuffer(devpath);
   if (ret < 0)
     {
diff --git a/graphics/nxterm/nxterm_register.c 
b/graphics/nxterm/nxterm_register.c
index 11b9841e439..3c54f15a65c 100644
--- a/graphics/nxterm/nxterm_register.c
+++ b/graphics/nxterm/nxterm_register.c
@@ -139,7 +139,7 @@ FAR struct nxterm_state_s *
   /* Register the driver */
 
   snprintf(devname, sizeof(devname), NX_DEVNAME_FORMAT, minor);
-  ret = register_driver(devname, &g_nxterm_drvrops, 0666, priv);
+  ret = register_driver(devname, &g_nxterm_drvrops, 0600, priv);
   if (ret < 0)
     {
       gerr("ERROR: Failed to register %s\n", devname);
diff --git a/wireless/ieee802154/mac802154_device.c 
b/wireless/ieee802154/mac802154_device.c
index 3e3cec9b11a..33e34dbf2f2 100644
--- a/wireless/ieee802154/mac802154_device.c
+++ b/wireless/ieee802154/mac802154_device.c
@@ -865,7 +865,7 @@ int mac802154dev_register(MACHANDLE mac, int minor)
 
   /* Register the mac character driver */
 
-  ret = register_driver(devname, &g_mac802154dev_fops, 0666, dev);
+  ret = register_driver(devname, &g_mac802154dev_fops, 0600, dev);
   if (ret < 0)
     {
       wlerr("ERROR: register_driver failed: %d\n", ret);

Reply via email to