Author: kib
Date: Fri Oct 11 18:37:02 2019
New Revision: 353446
URL: https://svnweb.freebsd.org/changeset/base/353446

Log:
  Plug the rest of undef behavior places that were missed in r337456.
  
  There are three more places in msdosfs_fat.c which might shift one
  into the sign bit.  While there, fix formatting of KASSERTs.
  
  Sponsored by: The FreeBSD Foundation
  MFC after:    1 week

Modified:
  head/sys/fs/msdosfs/msdosfs_fat.c

Modified: head/sys/fs/msdosfs/msdosfs_fat.c
==============================================================================
--- head/sys/fs/msdosfs/msdosfs_fat.c   Fri Oct 11 18:05:06 2019        
(r353445)
+++ head/sys/fs/msdosfs/msdosfs_fat.c   Fri Oct 11 18:37:02 2019        
(r353446)
@@ -388,9 +388,10 @@ usemap_alloc(struct msdosfsmount *pmp, u_long cn)
            pmp->pm_maxcluster));
        KASSERT((pmp->pm_flags & MSDOSFSMNT_RONLY) == 0,
            ("usemap_alloc on ro msdosfs mount"));
-       KASSERT((pmp->pm_inusemap[cn / N_INUSEBITS] & (1 << (cn % N_INUSEBITS)))
-           == 0, ("Allocating used sector %ld %ld %x", cn, cn % N_INUSEBITS,
-               (unsigned)pmp->pm_inusemap[cn / N_INUSEBITS]));
+       KASSERT((pmp->pm_inusemap[cn / N_INUSEBITS] &
+           (1U << (cn % N_INUSEBITS))) == 0,
+           ("Allocating used sector %ld %ld %x", cn, cn % N_INUSEBITS,
+           (unsigned)pmp->pm_inusemap[cn / N_INUSEBITS]));
        pmp->pm_inusemap[cn / N_INUSEBITS] |= 1U << (cn % N_INUSEBITS);
        KASSERT(pmp->pm_freeclustercount > 0, ("usemap_alloc: too little"));
        pmp->pm_freeclustercount--;
@@ -409,9 +410,10 @@ usemap_free(struct msdosfsmount *pmp, u_long cn)
            ("usemap_free on ro msdosfs mount"));
        pmp->pm_freeclustercount++;
        pmp->pm_flags |= MSDOSFS_FSIMOD;
-       KASSERT((pmp->pm_inusemap[cn / N_INUSEBITS] & (1 << (cn % N_INUSEBITS)))
-           != 0, ("Freeing unused sector %ld %ld %x", cn, cn % N_INUSEBITS,
-               (unsigned)pmp->pm_inusemap[cn / N_INUSEBITS]));
+       KASSERT((pmp->pm_inusemap[cn / N_INUSEBITS] &
+           (1U << (cn % N_INUSEBITS))) != 0,
+           ("Freeing unused sector %ld %ld %x", cn, cn % N_INUSEBITS,
+           (unsigned)pmp->pm_inusemap[cn / N_INUSEBITS]));
        pmp->pm_inusemap[cn / N_INUSEBITS] &= ~(1U << (cn % N_INUSEBITS));
 }
 
@@ -648,7 +650,7 @@ chainlength(struct msdosfsmount *pmp, u_long start, u_
        idx = start / N_INUSEBITS;
        start %= N_INUSEBITS;
        map = pmp->pm_inusemap[idx];
-       map &= ~((1 << start) - 1);
+       map &= ~((1U << start) - 1);
        if (map) {
                len = ffs(map) - 1 - start;
                len = MIN(len, count);
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to