Showing error 2179

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: pthread-atomic/scull_safe.i
Line in file: 752
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

722  return retval;
723}
724inline int scull_write(int tid, int filp, int buf, int count,
725      int f_pos)
726{
727  int dev = filp;
728  int dptr;
729  int quantum = dev_quantum, qset = dev_qset;
730  int itemsize = quantum * qset;
731  int item, s_pos, q_pos, rest;
732  int retval = -4;
733  if (down_interruptible())
734    return -512;
735  item = f_pos / itemsize;
736  rest = f_pos;
737  s_pos = rest / quantum; q_pos = rest;
738  dptr = scull_follow(dev, item);
739  if (dptr == 0)
740    goto out;
741  if (count > quantum - q_pos)
742    count = quantum - q_pos;
743  __X__ = 1;
744  if (copy_from_user(dev_data+s_pos+q_pos, buf, count)) {
745    retval = -2;
746    goto out;
747  }
748  f_pos += count;
749  retval = count;
750  if (dev_size < f_pos)
751    dev_size = f_pos;
752  if (!(__X__ == 1)) ERROR: goto ERROR;;
753 out:
754  up();
755  return retval;
756}
757inline int scull_ioctl(int i, int filp,
758                 int cmd, int arg)
759{
760 int err = 0, tmp;
761 int retval = 0;
762 switch(cmd) {
Show full sources