1 void dev_hold(int *x);
   2 
   3 void dev_put(int *x){}
   4 
   5 extern int y,z;
   6 int *x;
   7 
   8 int func (void)
   9 {
  10         dev_hold(x);
  11         if (y) {
  12                 dev_put(x);
  13                 return -1;
  14         }
  15         if (z) {
  16                 return -1;
  17         }
  18         return 0;
  19 }
  20 /*
  21  * check-name: dev_hold() check
  22  * check-command: smatch --project=kernel sm_dev_hold.c
  23  *
  24  * check-output-start
  25 sm_dev_hold.c:16 func() warn: 'x' held on error path.
  26  * check-output-end
  27  */