1. 20 12月, 2008 1 次提交
  2. 11 12月, 2008 5 次提交
  3. 10 12月, 2008 28 次提交
  4. 03 12月, 2008 1 次提交
  5. 02 12月, 2008 1 次提交
    • J
      [MTD] [NAND] drivers/mtd/nand/pasemi_nand.c: Add missing pci_dev_put · d9476298
      Julia Lawall 提交于
      pci_get_device increments a reference count that should be decremented
      using pci_dev_put.
      
      The semantic patch that finds the problem is as follows:
      (http://www.emn.fr/x-info/coccinelle/)
      
      // <smpl>
      @r exists@
      local idexpression x;
      statement S,S1;
      position p1,p2,p3;
      expression E,E1;
      type T,T1;
      expression *ptr != NULL;
      @@
      
      (
       if ((x@p1 = pci_get_device(...)) == NULL) S
      |
       x@p1 = pci_get_device(...);
      )
       ... when != pci_dev_put(...,(T)x,...)
           when != if (...) { <+... pci_dev_put(...,(T)x,...) ...+> }
           when != true x == NULL || ...
           when != x = E
           when != E = (T)x
           when any
      (
       if (x == NULL || ...) S1
      |
       if@p2 (...) {
        ... when != pci_dev_put(...,(T1)x,...)
            when != if (...) { <+... pci_dev_put(...,(T1)x,...) ...+> }
            when != x = E1
            when != E1 = (T1)x
      (
        return \(0\|<+...x...+>\|ptr\);
      |
        return@p3 ...;
      )
      }
      )
      
      @ script:python @
      p1 << r.p1;
      p3 << r.p3;
      @@
      
      print "* file: %s pci_get_device: %s return: %s" % (p1[0].file,p1[0].line,p3[0].line)
      // </smpl>
      Signed-off-by: NJulia Lawall <julia@diku.dk>
      Acked-by: NOlof Johansson <olof@lixom.net>
      Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
      d9476298
  6. 27 11月, 2008 1 次提交
  7. 26 11月, 2008 3 次提交