Author: kib
Date: Fri Jan 11 08:35:49 2019
New Revision: 342934
URL: https://svnweb.freebsd.org/changeset/base/342934

Log:
  cpucontrol: check for the supposed firmware file type and skip
  non-regular entry.
  
  do_update() skips entries with DT_DIR type.  This does not eliminate
  other entries that might exist in the directory.  More, since NFS
  might fill d_type with DT_UNKNOWN, dot and dotdot entries are not
  skipped, then mmap(2) call failed for them when update microcode files
  are located on NFS.
  
  Sponsored by: The FreeBSD Foundation
  MFC after:    1 week

Modified:
  head/usr.sbin/cpucontrol/cpucontrol.c

Modified: head/usr.sbin/cpucontrol/cpucontrol.c
==============================================================================
--- head/usr.sbin/cpucontrol/cpucontrol.c       Fri Jan 11 07:58:25 2019        
(r342933)
+++ head/usr.sbin/cpucontrol/cpucontrol.c       Fri Jan 11 08:35:49 2019        
(r342934)
@@ -369,6 +369,8 @@ try_a_fw_image(const char *dev_path, int devfd, int fw
                rc = 0;
                goto out;
        }
+       if (!S_ISREG(st.st_mode))
+               goto out;
        if (st.st_size <= 0) {
                WARN(0, "%s: empty", fw_path);
                goto out;
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to