git: aicasm: Correct logic bug in the undefined register bit access detection code.

Sascha Wildner swildner at crater.dragonflybsd.org
Mon Aug 9 18:51:39 PDT 2010


commit 6affd6269fbf0381b1ad47b4594617c269b18b5a
Author: Sascha Wildner <saw at online.de>
Date:   Tue Aug 10 03:45:18 2010 +0200

    aicasm: Correct logic bug in the undefined register bit access detection code.
    
    Quoting FreeBSD's commit msg:
    
    The code in question verifies that all register write operations only change
    bits that are defined (in the register definition file) for that effected
    register.  The bug effectively disabled this checking.
    
    o Fix the check by testing the opcode against all supported read ("and" based)
      operands.
    
    o Add missing bit definitions to the aic7xxx and aic79xx register definition
      files so that the warning (treated as a fatal error) does not spuriously
      fire.
    
    Taken-from: FreeBSD
    
    [While I'm here, also add a missing free() and raise WARNS to 6.]

Summary of changes:
 sys/dev/disk/aic7xxx/aic79xx.reg          |    2 +-
 sys/dev/disk/aic7xxx/aic7xxx.reg          |    2 +-
 sys/dev/disk/aic7xxx/aicasm/Makefile      |    2 +-
 sys/dev/disk/aic7xxx/aicasm/aicasm.c      |    3 ++-
 sys/dev/disk/aic7xxx/aicasm/aicasm_gram.y |   15 ++++++++++-----
 sys/dev/disk/aic7xxx/aicasm/aicasm_scan.l |    6 ++----
 6 files changed, 17 insertions(+), 13 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/6affd6269fbf0381b1ad47b4594617c269b18b5a


-- 
DragonFly BSD source repository





More information about the Commits mailing list