MONITORED SOURCE FILE : namei.c
4E5 0 108 FUNCTION do_getname()
15 4E5 113 if (( unsigned long ) filename >= ( ( ( unsig..
13 2 114 if (! ( ( ( get_current ( ) -> addr_limit )..
13 115 return - 14
5E3 4E5 116 else if (( ( ( unsigned long ) ( 0xC0000000 )..
4E5 49 120 if (retval > 0)
4E5 6 121 if (retval < len)
4E5 122 return 0
6 123 return - 36
31 18 124 else if (! retval)
49 126 return retval
*** TER 100% ( 17/ 17) of FUNCTION do_getname()
4E5 0 129 FUNCTION getname()
4E5 0 135 if (tmp)
68 4E5 139 if (retval < 0)
4E5 144 return result
*** TER 83% ( 5/ 6) of FUNCTION getname()
1E6 0 155 FUNCTION vfs_permission()
8 1E6 160 if (( mask & 00002 ) && ( ( inode ) -> i_sb -..
8 160 (T) && (T) && ((T) || (_) || (_))
0 160 (T) && (T) && ((F) || (T) || (_))
0 160 (T) && (T) && ((F) || (F) || (T))
27 160 (T) && (T) && ((F) || (F) || (F))
4E5 160 (T) && (F) && ((_) || (_) || (_))
1E6 160 (F) && (_) && ((_) || (_) || (_))
8 161 return - 30
0 1E6 163 if (( mask & 00002 ) && ( ( inode ) -> i_flag..
0 163 (T) && (T)
4E5 163 (T) && (F)
1E6 163 (F) && (_)
0 164 return - 13
1E6 1E4 166 if (get_current ( ) -> fsuid == inode -> i_uid)
0 1E4 168 else if (in_group_p ( inode -> i_gid ))
1E6 3 171 if (( ( mode & mask & 00007 ) == mask ) || ca..
1E6 171 (T) || _
9 171 (F) || T
3 171 (F) || F
1E6 172 return 0
2 1 176 if (( mask == 00004 ) || ( ( ( ( inode -> i_m..
1 176 (T) || ((_) && !(_))
1 176 (F) || ((T) && !(F))
1 176 (F) || ((T) && !(T))
0 176 (F) || ((F) && !(_))
0 2 177 if (capable ( 2 ))
0 178 return 0
3 180 return - 13
*** TER 75% ( 27/ 36) of FUNCTION vfs_permission()
1E6 0 183 FUNCTION permission()
31 1E6 185 if (inode -> i_op && inode -> i_op -> permiss..
31 185 T && T
1E6 185 T && F
0 185 F && _
187 do
0 31 187 do-while (0)
189 do
0 31 189 do-while (0)
31 190 return retval
1E6 192 return vfs_permission ( inode , mask )
*** TER 75% ( 9/ 12) of FUNCTION permission()
4E5 0 214 FUNCTION get_write_access()
0 4E5 217 if (( ( & inode -> i_writecount ) -> counter ..
218 do
0 0 218 do-while (0)
0 219 return - 26
222 do
0 4E5 222 do-while (0)
4E5 223 return 0
*** TER 44% ( 4/ 9) of FUNCTION get_write_access()
1E3 0 225 FUNCTION deny_write_access()
0 1E3 228 if (( ( & file -> f_dentry -> d_inode -> i_wr..
229 do
0 0 229 do-while (0)
0 230 return - 26
233 do
0 1E3 233 do-while (0)
1E3 234 return 0
*** TER 44% ( 4/ 9) of FUNCTION deny_write_access()
1E4 1E4 237 FUNCTION path_release()
*** TER 100% ( 1/ 1) of FUNCTION path_release()
4E5 0 247 FUNCTION cached_lookup()
0 4E5 251 if (dentry && dentry -> d_op && dentry -> d_o..
0 251 T && T && T
0 251 T && T && F
4E5 251 T && F && _
6E3 251 F && _ && _
0 0 252 if (! dentry -> d_op -> d_revalidate ( dent..
0 252 T && T
0 252 T && F
0 252 F && _
4E5 257 return dentry
*** TER 38% ( 5/ 13) of FUNCTION cached_lookup()
4E3 0 268 FUNCTION real_lookup()
4E3 1 282 if (! result)
4E3 0 285 if (dentry)
286 do
0 4E3 286 do-while (0)
288 do
0 4E3 288 do-while (0)
51 3E3 289 if (result)
291 else
4E3 295 return result
0 1 303 if (result -> d_op && result -> d_op -> d_rev..
0 303 T && T
0 303 T && F
1 303 F && _
0 0 304 if (! result -> d_op -> d_revalidate ( resu..
0 304 T && T
0 304 T && F
0 304 F && _
1 309 return result
*** TER 52% ( 12/ 23) of FUNCTION real_lookup()
668 0 312 FUNCTION do_follow_link()
4 664 315 if (get_current ( ) -> link_count >= 8)
4 316 goto loop
664 321 return err
4 324 return - 40
*** TER 100% ( 6/ 6) of FUNCTION do_follow_link()
0 0 327 FUNCTION __follow_up()
0 0 333 if (parent == * mnt)
334 do
0 0 334 do-while (0)
0 335 return 0
339 do
0 0 339 do-while (0)
0 344 return 1
*** TER 0% ( 0/ 9) of FUNCTION __follow_up()
0 0 347 FUNCTION follow_up()
0 349 return __follow_up ( mnt , dentry )
*** TER 0% ( 0/ 2) of FUNCTION follow_up()
545 0 352 FUNCTION __follow_down()
545 0 357 while (p != & ( * dentry ) -> d_vfsmnt)
545 0 360 if (tmp -> mnt_parent == * mnt)
362 do
0 545 362 do-while (0)
545 367 return 1
371 do
0 0 371 do-while (0)
0 372 return 0
*** TER 45% ( 5/ 11) of FUNCTION __follow_down()
0 0 375 FUNCTION follow_down()
0 377 return __follow_down ( mnt , dentry )
*** TER 0% ( 0/ 2) of FUNCTION follow_down()
90 90 380 FUNCTION follow_dotdot()
90 0 382 while (1)
15 75 387 if (nd -> dentry == get_current ( ) -> fs -..
15 387 T && T
0 387 T && F
75 387 F && _
388 do
0 15 388 do-while (0)
15 389 break
391 do
0 75 391 do-while (0)
75 0 393 if (nd -> dentry != nd -> mnt -> mnt_root)
395 do
0 75 395 do-while (0)
75 398 break
0 0 401 if (parent == nd -> mnt)
402 do
0 0 402 do-while (0)
0 403 break
407 do
0 0 407 do-while (0)
*** TER 48% ( 12/ 25) of FUNCTION follow_dotdot()
4E5 0 422 FUNCTION path_walk()
7E3 4E5 429 while (* name == '/')
41 4E5 431 if (! * name)
41 432 goto return_base
582 4E5 435 if (get_current ( ) -> link_count)
5E5 0 439 for (;1;)
1 5E5 446 if (err)
1 447 break
453 do
3E6 5E5 457 do-while (c && ( c != '/' ))
3E6 457 T && (T)
1E5 457 T && (F)
4E5 457 F && (_)
4E5 1E5 462 if (! c)
4E5 463 goto last_component
0 1E5 464 while (* ++ name == '/')
43 1E5 465 if (! * name)
43 466 goto last_with_slashes
1E5 1E4 473 if (this . name [ 0 ] == '.')
473 switch ( this . len )
2 474 default:
2 475 break
89 476 case 2:
0 89 477 if (this . name [ 1 ] != '.')
0 478 break
1E5 482 case 1:
1E5 483 continue
0 1E4 489 if (nd -> dentry -> d_op && nd -> dentry ->..
0 489 T && T
43 489 T && F
1E4 489 F && _
0 0 491 if (err < 0)
0 492 break
1E3 1E4 496 if (! dentry)
0 1E3 499 if (IS_ERR ( dentry ))
0 500 break
521 1E4 503 while (d_mountpoint ( dentry ) && __follow_..
521 503 T && T
0 503 T && F
1E4 503 F && _
448 1E4 508 if (! inode)
448 509 goto out_dput
0 1E4 511 if (! inode -> i_op)
0 512 goto out_dput
25 1E4 514 if (inode -> i_op -> follow_link)
0 25 517 if (err)
0 518 goto return_err
0 25 521 if (! inode)
0 522 break
0 25 524 if (! inode -> i_op)
0 525 break
526 else
3 1E4 531 if (! inode -> i_op -> lookup)
3 532 break
1E4 533 continue
4E5 9E3 539 if (lookup_flags & ( 16 ))
4E5 540 goto lookup_parent
179 9E3 541 if (this . name [ 0 ] == '.')
541 switch ( this . len )
51 542 default:
51 543 break
1 544 case 2:
0 1 545 if (this . name [ 1 ] != '.')
0 546 break
128 550 case 1:
128 551 goto return_base
0 9E3 553 if (nd -> dentry -> d_op && nd -> dentry ->..
0 553 T && T
473 553 T && F
9E3 553 F && _
0 0 555 if (err < 0)
0 556 break
2E3 6E3 559 if (! dentry)
51 2E3 562 if (IS_ERR ( dentry ))
51 563 break
24 9E3 565 while (d_mountpoint ( dentry ) && __follow_..
24 565 T && T
0 565 T && F
9E3 565 F && _
643 8E3 569 if (( lookup_flags & ( 1 ) ) && inode && in..
643 569 (T) && T && T && T
5E3 569 (T) && T && T && F
0 569 (T) && T && F && _
2E3 569 (T) && F && _ && _
1E3 569 (F) && _ && _ && _
36 607 572 if (err)
36 573 goto return_err
575 else
2E3 7E3 580 if (! inode)
2E3 581 goto no_inode
458 6E3 582 if (lookup_flags & ( 2 ))
115 343 584 if (! inode -> i_op || ! inode -> i_op ->..
0 584 T || _
115 584 F || T
343 584 F || F
115 585 break
7E3 587 goto return_base
1E3 377 590 if (lookup_flags & ( ( 8 ) | ( 2 ) ))
1E3 591 break
377 592 goto return_base
4E5 3 596 if (this . name [ 0 ] != '.')
4E5 597 goto return_base
1 2 598 if (this . len == 1)
0 2 600 else if (this . len == 2 && this . name [ 1..
0 600 T && T
0 600 T && F
2 600 F && _
4E5 603 return 0
448 606 break
2E3 610 return err
*** TER 77% (112/145) of FUNCTION path_walk()
0 0 615 FUNCTION __emul_lookup_dentry()
0 0 617 if (path_walk ( name , nd ))
0 618 return 0
0 0 620 if (! nd -> dentry -> d_inode)
627 do
0 0 627 do-while (0)
0 0 628 if (path_walk ( name , & nd_root ))
0 629 return 1
0 0 630 if (nd_root . dentry -> d_inode)
0 635 return 1
0 639 return 1
*** TER 0% ( 0/ 15) of FUNCTION __emul_lookup_dentry()
0 0 642 FUNCTION set_fs_altroot()
0 0 648 if (emul)
652 do
0 0 652 do-while (0)
0 0 654 if (path_walk ( emul , & nd ) == 0)
664 do
0 0 664 do-while (0)
0 0 665 if (olddentry)
*** TER 0% ( 0/ 11) of FUNCTION set_fs_altroot()
7E3 0 673 FUNCTION walk_init_root()
0 7E3 676 if (get_current ( ) -> fs -> altroot && ! ( n..
0 676 T && !(F)
0 676 T && !(T)
7E3 676 F && !(_)
679 do
0 0 679 do-while (0)
0 0 680 if (__emul_lookup_dentry ( name , nd ))
0 681 return 0
686 do
0 7E3 686 do-while (0)
7E3 687 return 1
*** TER 36% ( 5/ 14) of FUNCTION walk_init_root()
4E5 0 691 FUNCTION path_init()
7E3 4E5 695 if (* name == '/')
7E3 696 return walk_init_root ( name , nd )
700 do
0 4E5 700 do-while (0)
4E5 701 return 1
*** TER 86% ( 6/ 7) of FUNCTION path_init()
4E5 0 709 FUNCTION lookup_hash()
0 4E5 718 if (err)
0 719 goto out
0 4E5 725 if (base -> d_op && base -> d_op -> d_hash)
0 725 T && T
1 725 T && F
4E5 725 F && _
0 0 728 if (err < 0)
0 729 goto out
2E3 4E5 733 if (! dentry)
0 2E3 736 if (! new)
0 737 goto out
738 do
0 2E3 738 do-while (0)
740 do
0 2E3 740 do-while (0)
2E3 0 741 if (! dentry)
743 else
4E5 747 return dentry
*** TER 50% ( 12/ 24) of FUNCTION lookup_hash()
0 0 751 FUNCTION lookup_one()
0 0 759 if (! c)
0 760 goto access
763 do
0 0 765 if (c == '/')
0 766 goto access
0 0 769 do-while (c)
0 773 return lookup_hash ( & this , base )
0 775 return ERR_PTR ( - 13 )
*** TER 0% ( 0/ 11) of FUNCTION lookup_one()
3E3 0 789 FUNCTION __user_walk()
3E3 20 796 if (! IS_ERR ( tmp ))
3E3 0 798 if (path_init ( tmp , flags , nd ))
3E3 802 return err
*** TER 83% ( 5/ 6) of FUNCTION __user_walk()
1E3 0 809 FUNCTION check_sticky()
1E3 90 811 if (! ( dir -> i_mode & 0001000 ))
1E3 812 return 0
90 0 813 if (inode -> i_uid == get_current ( ) -> fsuid)
90 814 return 0
0 0 815 if (dir -> i_uid == get_current ( ) -> fsuid)
0 816 return 0
0 817 return ! capable ( 3 )
*** TER 55% ( 6/ 11) of FUNCTION check_sticky()
1E3 0 837 FUNCTION may_delete()
47 1E3 840 if (! victim -> d_inode || victim -> d_parent..
47 840 T || _
0 840 F || T
1E3 840 F || F
47 841 return - 2
1 1E3 843 if (error)
1 844 return error
0 1E3 845 if (( ( dir ) -> i_flags & 8 ))
0 846 return - 1
0 1E3 848 if (check_sticky ( dir , victim -> d_inode ) ..
0 848 T || (_) || (_)
0 848 F || (T) || (_)
0 848 F || (F) || (T)
1E3 848 F || (F) || (F)
0 849 return - 1
100 1E3 850 if (isdir)
1 99 851 if (! ( ( ( victim -> d_inode -> i_mode ) &..
1 852 return - 20
0 99 853 if (( ( victim ) == ( victim ) -> d_parent ))
0 854 return - 16
1 1E3 855 else if (( ( ( victim -> d_inode -> i_mode ) ..
1 856 return - 21
1E3 857 return 0
*** TER 69% ( 22/ 32) of FUNCTION may_delete()
1E3 0 868 FUNCTION may_create()
3 1E3 869 if (child -> d_inode)
3 870 return - 17
0 1E3 871 if (( ( dir ) -> i_flags & 32 ))
0 872 return - 2
1E3 873 return permission ( dir , 2 | 1 )
*** TER 75% ( 6/ 8) of FUNCTION may_create()
2E3 0 882 FUNCTION lookup_flags()
0 2E3 886 if (f & 0400000)
0 2E3 889 if (( f & ( 0100 | 0200 ) ) == ( 0100 | 0200 ))
310 2E3 892 if (f & 0200000)
2E3 895 return retval
*** TER 75% ( 6/ 8) of FUNCTION lookup_flags()
334 0 898 FUNCTION vfs_create()
0 334 907 if (error)
0 908 goto exit_lock
0 334 911 if (! dir -> i_op || ! dir -> i_op -> create)
0 911 T || _
0 911 F || T
334 911 F || F
0 912 goto exit_lock
914 do
0 334 914 do-while (0)
915 do
0 334 915 do-while (0)
917 do
0 334 917 do-while (0)
334 0 920 if (! error)
334 922 return error
*** TER 47% ( 9/ 19) of FUNCTION vfs_create()
4E5 0 939 FUNCTION open_namei()
2E3 4E5 952 if (! ( flag & 0100 ))
2E3 0 953 if (path_init ( pathname , lookup_flags ( f..
552 2E3 955 if (error)
552 956 return error
2E3 958 goto ok
4E5 0 964 if (path_init ( pathname , ( 16 ) , nd ))
0 4E5 966 if (error)
0 967 return error
0 4E5 975 if (nd -> last_type != LAST_NORM || nd -> las..
0 975 T || _
0 975 F || T
4E5 975 F || F
0 976 goto exit
0 4E5 984 if (IS_ERR ( dentry ))
0 986 goto exit
334 4E5 990 if (! dentry -> d_inode)
0 334 995 if (error)
0 996 goto exit
334 1000 goto ok
1 4E5 1009 if (flag & 0200)
1 1010 goto exit_dput
0 4E5 1012 if (d_mountpoint ( dentry ))
0 0 1014 if (flag & 0400000)
0 1015 goto exit_dput
1016 do
0 0 1016 do-while (d_mountpoint ( dentry ))
0 4E5 1019 if (! dentry -> d_inode)
0 1020 goto exit_dput
34 4E5 1021 if (dentry -> d_inode -> i_op && dentry -> d_..
34 1021 T && T
4E5 1021 T && F
0 1021 F && _
34 1022 goto do_link
0 4E5 1027 if (dentry -> d_inode && ( ( ( dentry -> d_in..
0 1027 T && (T)
4E5 1027 T && (F)
0 1027 F && (_)
0 1028 goto exit
372 4E5 1032 if (! inode)
372 1033 goto exit
0 4E5 1036 if (( ( ( inode -> i_mode ) & 00170000 ) == 0..
0 1037 goto exit
0 4E5 1040 if (( ( ( inode -> i_mode ) & 00170000 ) == 0..
0 1040 (T) && (T)
190 1040 (T) && (F)
4E5 1040 (F) && (_)
0 1041 goto exit
9 4E5 1044 if (error)
9 1045 goto exit
6 4E5 1052 if (( ( ( inode -> i_mode ) & 00170000 ) == 0..
6 1052 (T) || (_)
0 1052 (F) || (T)
4E5 1052 (F) || (F)
194 4E5 1054 else if (( ( ( inode -> i_mode ) & 00170000 )..
4 1054 (T) || (_)
190 1054 (F) || (T)
4E5 1054 (F) || (F)
0 194 1056 if (( ( inode ) -> i_sb -> s_flags & ( 4 ) ))
0 1057 goto exit
1060 else
0 4E5 1062 if (( ( inode ) -> i_sb -> s_flags & 1 ) &&..
0 1062 (T) && (T)
52 1062 (T) && (F)
4E5 1062 (F) && (_)
0 1063 goto exit
0 4E5 1069 if (( ( inode ) -> i_flags & 8 ))
0 0 1070 if (( flag & 2 ) && ! ( flag & 02000 ))
0 1070 (T) && !(F)
0 1070 (T) && !(T)
0 1070 (F) && !(_)
0 1071 goto exit
0 0 1072 if (flag & 01000)
0 1073 goto exit
0 4E5 1080 if (error)
0 1081 goto exit
505 4E5 1083 if (flag & 01000)
0 505 1085 if (error)
0 1086 goto exit
505 0 1092 if (! error)
1093 do
0 505 1093 do-while (0)
0 505 1098 if (error)
0 1099 goto exit
4E5 1E3 1101 else if (flag & 2)
1102 do
0 4E5 1102 do-while (0)
4E5 1104 return 0
382 1110 return error
0 34 1114 if (flag & 0400000)
0 1115 goto exit_dput
0 34 1129 if (error)
0 1130 return error
0 34 1131 if (nd -> last_type == LAST_BIND)
0 1133 goto ok
0 34 1136 if (nd -> last_type != LAST_NORM)
0 1137 goto exit
0 34 1138 if (nd -> last . name [ nd -> last . len ])
0 1140 goto exit
1 33 1142 if (count ++ == 32)
1 1145 goto ok
33 1151 goto do_last
*** TER 53% ( 74/139) of FUNCTION open_namei()
1E3 0 1155 FUNCTION lookup_create()
0 1E3 1161 if (nd -> last_type != LAST_NORM)
0 1162 goto fail
0 1E3 1164 if (IS_ERR ( dentry ))
0 1165 goto fail
0 1E3 1166 if (! is_dir && nd -> last . name [ nd -> las..
0 1166 T && T && T
0 1166 T && T && F
1E3 1166 T && F && _
100 1166 F && _ && _
0 1167 goto enoent
1E3 1168 return dentry
0 1173 return dentry
*** TER 44% ( 7/ 16) of FUNCTION lookup_create()
7 0 1176 FUNCTION vfs_mknod()
0 7 1183 if (( ( ( ( mode ) & 00170000 ) == 0020000 ) ..
0 1183 ((T) || (_)) && T
0 1183 ((F) || (T)) && T
0 1183 ((T) || (_)) && F
0 1183 ((F) || (T)) && F
7 1183 ((F) || (F)) && _
0 1184 goto exit_lock
0 7 1187 if (error)
0 1188 goto exit_lock
0 7 1191 if (! dir -> i_op || ! dir -> i_op -> mknod)
0 1191 T || _
0 1191 F || T
7 1191 F || F
0 1192 goto exit_lock
1194 do
0 7 1194 do-while (0)
1195 do
0 7 1195 do-while (0)
1197 do
0 7 1197 do-while (0)
7 0 1200 if (! error)
7 1202 return error
*** TER 41% ( 11/ 27) of FUNCTION vfs_mknod()
5 0 1205 FUNCTION sys_mknod()
0 5 1212 if (( ( ( mode ) & 00170000 ) == 0040000 ))
0 1213 return - 1
0 5 1215 if (IS_ERR ( tmp ))
0 1216 return PTR_ERR ( tmp )
5 0 1218 if (path_init ( tmp , ( 16 ) , & nd ))
0 5 1220 if (error)
0 1221 goto out
5 0 1224 if (! IS_ERR ( dentry ))
1225 switch ( mode & 00170000 )
0 1226 case 0:
0 1226 case 0100000:
0 1228 break
0 1229 case 0020000:
0 1229 case 0060000:
5 1229 case 0010000:
5 1229 case 0140000:
5 1231 break
0 1232 case 0040000:
0 1234 break
0 1235 default:
5 1245 return error
*** TER 38% ( 10/ 26) of FUNCTION sys_mknod()
100 0 1248 FUNCTION vfs_mkdir()
1 99 1254 if (error)
1 1255 goto exit_lock
0 99 1258 if (! dir -> i_op || ! dir -> i_op -> mkdir)
0 1258 T || _
0 1258 F || T
99 1258 F || F
0 1259 goto exit_lock
1261 do
0 99 1261 do-while (0)
1263 do
0 99 1263 do-while (0)
1265 do
0 99 1265 do-while (0)
99 1 1269 if (! error)
100 1271 return error
*** TER 63% ( 12/ 19) of FUNCTION vfs_mkdir()
102 0 1274 FUNCTION sys_mkdir()
100 2 1281 if (! IS_ERR ( tmp ))
100 0 1285 if (path_init ( tmp , ( 16 ) , & nd ))
0 100 1287 if (error)
0 1288 goto out
100 0 1291 if (! IS_ERR ( dentry ))
102 1301 return error
*** TER 64% ( 7/ 11) of FUNCTION sys_mkdir()
99 99 1319 FUNCTION d_unhash()
1322 switch ( ( ( & dentry -> d_count ) -> counter..
72 1323 default:
3 69 1325 if (( ( & dentry -> d_count ) -> counter ) ..
3 1326 break
96 1327 case 2:
*** TER 100% ( 6/ 6) of FUNCTION d_unhash()
100 0 1332 FUNCTION vfs_rmdir()
1 99 1337 if (error)
1 1338 return error
0 99 1340 if (! dir -> i_op || ! dir -> i_op -> rmdir)
0 1340 T || _
0 1340 F || T
99 1340 F || F
0 1341 return - 1
1343 do
0 99 1343 do-while (0)
0 99 1347 if (( ( dir ) -> i_flags & 32 ))
0 99 1349 else if (d_mountpoint ( dentry ))
1351 else
1352 do
0 99 1352 do-while (0)
1354 do
0 99 1354 do-while (0)
99 0 1355 if (! error)
99 0 1359 if (! error)
99 1365 return error
*** TER 56% ( 14/ 25) of FUNCTION vfs_rmdir()
103 0 1368 FUNCTION sys_rmdir()
2 101 1376 if (IS_ERR ( name ))
2 1377 return PTR_ERR ( name )
101 0 1379 if (path_init ( name , ( 16 ) , & nd ))
0 101 1381 if (error)
0 1382 goto exit
1384 switch ( nd . last_type )
0 1385 case LAST_DOTDOT:
0 1387 goto exit1
1 1388 case LAST_DOT:
1 1390 goto exit1
0 1391 case LAST_ROOT:
0 1393 goto exit1
100 0 1398 if (! IS_ERR ( dentry ))
101 1407 return error
*** TER 56% ( 10/ 18) of FUNCTION sys_rmdir()
1E3 0 1410 FUNCTION vfs_unlink()
1E3 49 1416 if (! error)
1E3 0 1418 if (dir -> i_op && dir -> i_op -> unlink)
1E3 1418 T && T
0 1418 T && F
0 1418 F && _
1419 do
0 1E3 1419 do-while (0)
0 1E3 1420 if (d_mountpoint ( dentry ))
1422 else
1423 do
0 1E3 1423 do-while (0)
1425 do
0 1E3 1425 do-while (0)
1E3 0 1426 if (! error)
1E3 49 1432 if (! error)
1E3 1434 return error
*** TER 62% ( 13/ 21) of FUNCTION vfs_unlink()
1E3 0 1437 FUNCTION sys_unlink()
35 1E3 1445 if (IS_ERR ( name ))
35 1446 return PTR_ERR ( name )
1E3 0 1448 if (path_init ( name , ( 16 ) , & nd ))
3 1E3 1450 if (error)
3 1451 goto exit
0 1E3 1453 if (nd . last_type != LAST_NORM)
0 1454 goto exit1
1E3 0 1458 if (! IS_ERR ( dentry ))
0 1E3 1460 if (nd . last . name [ nd . last . len ])
0 1461 goto slashes
1E3 1472 return error
0 1477 goto exit2
*** TER 63% ( 12/ 19) of FUNCTION sys_unlink()
36 0 1480 FUNCTION vfs_symlink()
1 35 1486 if (error)
1 1487 goto exit_lock
0 35 1490 if (! dir -> i_op || ! dir -> i_op -> symlink)
0 1490 T || _
0 1490 F || T
35 1490 F || F
0 1491 goto exit_lock
1493 do
0 35 1493 do-while (0)
1494 do
0 35 1494 do-while (0)
1496 do
0 35 1496 do-while (0)
35 1 1500 if (! error)
36 1502 return error
*** TER 63% ( 12/ 19) of FUNCTION vfs_symlink()
37 0 1505 FUNCTION sys_symlink()
0 37 1512 if (IS_ERR ( from ))
0 1513 return PTR_ERR ( from )
36 1 1516 if (! IS_ERR ( to ))
36 0 1520 if (path_init ( to , ( 16 ) , & nd ))
0 36 1522 if (error)
0 1523 goto out
36 0 1526 if (! IS_ERR ( dentry ))
37 1536 return error
*** TER 57% ( 8/ 14) of FUNCTION sys_symlink()
1E3 0 1539 FUNCTION vfs_link()
0 1E3 1547 if (! inode)
0 1548 goto exit_lock
1 1E3 1551 if (error)
1 1552 goto exit_lock
0 1E3 1555 if (dir -> i_dev != inode -> i_dev)
0 1556 goto exit_lock
0 1E3 1562 if (( ( inode ) -> i_flags & 8 ) || ( ( inode..
0 1562 (T) || (_)
0 1562 (F) || (T)
1E3 1562 (F) || (F)
0 1563 goto exit_lock
0 1E3 1564 if (! dir -> i_op || ! dir -> i_op -> link)
0 1564 T || _
0 1564 F || T
1E3 1564 F || F
0 1565 goto exit_lock
1567 do
0 1E3 1567 do-while (0)
1568 do
0 1E3 1568 do-while (0)
1570 do
0 1E3 1570 do-while (0)
1E3 1 1574 if (! error)
1E3 1576 return error
*** TER 52% ( 16/ 31) of FUNCTION vfs_link()
1E3 0 1588 FUNCTION sys_link()
4 1E3 1595 if (IS_ERR ( from ))
4 1596 return PTR_ERR ( from )
1E3 4 1599 if (! IS_ERR ( to ))
1E3 0 1604 if (path_init ( from , ( 8 ) , & old_nd ))
3 1E3 1606 if (error)
3 1607 goto exit
1E3 0 1608 if (path_init ( to , ( 16 ) , & nd ))
2 1E3 1610 if (error)
2 1611 goto out
0 1E3 1613 if (old_nd . mnt != nd . mnt)
0 1614 goto out_release
1E3 0 1617 if (! IS_ERR ( new_dentry ))
1E3 1631 return error
*** TER 77% ( 17/ 22) of FUNCTION sys_link()
0 0 1660 FUNCTION vfs_rename_dir()
0 0 1666 if (old_dentry -> d_inode == new_dentry -> d_..
0 1667 return 0
0 0 1670 if (error)
0 1671 return error
0 0 1673 if (new_dir -> i_dev != old_dir -> i_dev)
0 1674 return - 18
0 0 1676 if (! new_dentry -> d_inode)
1678 else
0 0 1680 if (error)
0 1681 return error
0 0 1683 if (! old_dir -> i_op || ! old_dir -> i_op ->..
0 1683 T || _
0 1683 F || T
0 1683 F || F
0 1684 return - 1
0 0 1690 if (new_dir != old_dir)
0 0 1693 if (error)
0 1694 return error
1696 do
0 0 1696 do-while (0)
1697 do
0 0 1697 do-while (0)
0 0 1700 if (is_subdir ( new_dentry , old_dentry ))
0 1701 goto out_unlock
0 0 1703 if (target)
1708 else
0 0 1711 if (( ( old_dir ) -> i_flags & 32 ) || ( ( ne..
0 1711 (T) || (_)
0 1711 (F) || (T)
0 1711 (F) || (F)
0 0 1713 else if (d_mountpoint ( old_dentry ) || d_mou..
0 1713 T || _
0 1713 F || T
0 1713 F || F
1715 else
0 0 1717 if (target)
0 0 1718 if (! error)
0 0 1723 if (d_unhashed ( new_dentry ))
1726 else
0 0 1730 if (! error)
0 1734 return error
*** TER 0% ( 0/ 54) of FUNCTION vfs_rename_dir()
4 0 1737 FUNCTION vfs_rename_other()
0 4 1742 if (old_dentry -> d_inode == new_dentry -> d_..
0 1743 return 0
0 4 1746 if (error)
0 1747 return error
0 4 1749 if (new_dir -> i_dev != old_dir -> i_dev)
0 1750 return - 18
3 1 1752 if (! new_dentry -> d_inode)
1754 else
0 4 1756 if (error)
0 1757 return error
0 4 1759 if (! old_dir -> i_op || ! old_dir -> i_op ->..
0 1759 T || _
0 1759 F || T
4 1759 F || F
0 1760 return - 1
1762 do
0 4 1762 do-while (0)
1763 do
0 4 1763 do-while (0)
0 4 1765 if (d_mountpoint ( old_dentry ) || d_mountpoi..
0 1765 T || _
0 1765 F || T
4 1765 F || F
1767 else
0 4 1770 if (error)
0 1771 return error
4 0 1773 if (! ( old_dir -> i_sb -> s_type -> fs_flags..
4 1776 return 0
*** TER 44% ( 16/ 36) of FUNCTION vfs_rename_other()
4 0 1779 FUNCTION vfs_rename()
0 4 1783 if (( ( ( old_dentry -> d_inode -> i_mode ) &..
1785 else
4 0 1787 if (! error)
4 0 1788 if (old_dir == new_dir)
1790 else
4 1795 return error
*** TER 63% ( 5/ 8) of FUNCTION vfs_rename()
4 0 1798 FUNCTION do_rename()
4 0 1805 if (path_init ( oldname , ( 16 ) , & oldnd ))
0 4 1808 if (error)
0 1809 goto exit
4 0 1811 if (path_init ( newname , ( 16 ) , & newnd ))
0 4 1813 if (error)
0 1814 goto exit1
0 4 1817 if (oldnd . mnt != newnd . mnt)
0 1818 goto exit2
0 4 1822 if (oldnd . last_type != LAST_NORM)
0 1823 goto exit2
0 4 1826 if (newnd . last_type != LAST_NORM)
0 1827 goto exit2
0 4 1833 if (IS_ERR ( old_dentry ))
0 1834 goto exit3
0 4 1837 if (! old_dentry -> d_inode)
0 1838 goto exit4
4 0 1840 if (! ( ( ( old_dentry -> d_inode -> i_mode )..
0 4 1842 if (oldnd . last . name [ oldnd . last . le..
0 1843 goto exit4
0 4 1844 if (newnd . last . name [ newnd . last . le..
0 1845 goto exit4
0 4 1849 if (IS_ERR ( new_dentry ))
0 1850 goto exit4
1852 do
0 4 1852 do-while (0)
1855 do
0 4 1855 do-while (0)
4 1867 return error
*** TER 40% ( 17/ 42) of FUNCTION do_rename()
4 0 1870 FUNCTION sys_rename()
0 4 1877 if (IS_ERR ( from ))
0 1878 return PTR_ERR ( from )
4 0 1881 if (! IS_ERR ( to ))
4 1886 return error
*** TER 57% ( 4/ 7) of FUNCTION sys_rename()
4 0 1889 FUNCTION vfs_readlink()
0 4 1894 if (IS_ERR ( link ))
0 1895 goto out
0 4 1898 if (len > ( unsigned ) buflen)
0 4 1900 if (( __builtin_constant_p ( len ) ? __consta..
4 1903 return len
*** TER 56% ( 5/ 9) of FUNCTION vfs_readlink()
616 0 1907 FUNCTION __vfs_follow_link()
0 616 1911 if (IS_ERR ( link ))
0 1912 goto fail
29 587 1914 if (* link == '/')
0 29 1916 if (! walk_init_root ( link , nd ))
0 1918 goto out
582 34 1922 if (get_current ( ) -> link_count || res || n..
582 1922 T || _ || _
0 1922 F || T || _
0 1922 F || F || T
34 1922 F || F || F
582 1923 return res
0 34 1930 if (IS_ERR ( name ))
0 1931 goto fail_name
34 1934 return 0
0 1939 return PTR_ERR ( link )
*** TER 57% ( 12/ 21) of FUNCTION __vfs_follow_link()
616 0 1942 FUNCTION vfs_follow_link()
616 1944 return __vfs_follow_link ( nd , link )
*** TER 100% ( 2/ 2) of FUNCTION vfs_follow_link()
0 0 1948 FUNCTION page_getlink()
0 0 1954 if (IS_ERR ( page ))
0 1955 goto sync_fail
0 0 1957 if (! ( __builtin_constant_p ( 3 ) ? constant..
0 1958 goto async_fail
0 1960 return kmap ( page )
0 1964 return ERR_PTR ( - 5 )
0 1967 return ( char * ) page
*** TER 0% ( 0/ 10) of FUNCTION page_getlink()
0 0 1970 FUNCTION page_readlink()
0 0 1975 if (page)
1976 do
0 0 1976 do-while (0)
0 1979 return res
*** TER 0% ( 0/ 6) of FUNCTION page_readlink()
0 0 1982 FUNCTION page_follow_link()
0 0 1987 if (page)
1988 do
0 0 1988 do-while (0)
0 1991 return res
*** TER 0% ( 0/ 6) of FUNCTION page_follow_link()
*** TER 53% (586/1106) of SOURCE FILE namei.c
MONITORED SOURCE FILE : sysctl.c
1 1 311 FUNCTION sysctl_init()
*** TER 100% ( 1/ 1) of FUNCTION sysctl_init()
0 0 319 FUNCTION do_sysctl()
0 0 324 if (nlen == 0 || nlen >= 10)
0 324 T || _
0 324 F || T
0 324 F || F
0 325 return - 20
0 0 326 if (oldval)
0 0 328 if (! oldlenp || ( { int __ret_gu , __val_g..
0 328 T || (_)
0 328 F || (T)
0 328 F || (F)
0 329 return - 14
332 do
0 0 339 if (context)
0 0 341 if (error != - 20)
0 342 return error
0 0 344 do-while (tmp != & root_table_header . ctl_en..
0 345 return - 20
*** TER 0% ( 0/ 23) of FUNCTION do_sysctl()
0 0 348 FUNCTION sys_sysctl()
0 0 353 if (( __builtin_constant_p ( sizeof ( tmp ) )..
0 354 return - 14
356 do
0 0 356 do-while (0)
359 do
0 0 359 do-while (0)
0 360 return error
*** TER 0% ( 0/ 9) of FUNCTION sys_sysctl()
2 0 368 FUNCTION test_perm()
2 0 370 if (! get_current ( ) -> euid)
0 0 372 else if (in_egroup_p ( 0 ))
2 0 374 if (( mode & op & 0007 ) == op)
2 375 return 0
0 376 return - 13
*** TER 44% ( 4/ 9) of FUNCTION test_perm()
1 0 379 FUNCTION ctl_perm()
1 381 return test_perm ( table -> mode , op )
*** TER 100% ( 2/ 2) of FUNCTION ctl_perm()
0 0 384 FUNCTION parse_table()
0 0 391 if (! nlen)
0 392 return - 20
0 0 393 if (( { int __ret_gu , __val_gu ;switch ( siz..
0 394 return - 14
0 0 395 for (;table -> ctl_name;)
0 0 396 if (n == table -> ctl_name || table -> ctl_..
0 396 T || _
0 396 F || T
0 396 F || F
0 0 398 if (table -> child)
0 0 399 if (ctl_perm ( table , 001 ))
0 400 return - 1
0 0 401 if (table -> strategy)
0 0 406 if (error)
0 407 return error
0 412 goto repeat
0 417 return error
0 420 return - 20
*** TER 0% ( 0/ 27) of FUNCTION parse_table()
0 0 424 FUNCTION do_sysctl_strategy()
0 0 431 if (oldval)
0 0 433 if (newval)
0 0 435 if (ctl_perm ( table , op ))
0 436 return - 1
0 0 438 if (table -> strategy)
0 0 441 if (rc < 0)
0 442 return rc
0 0 443 if (rc > 0)
0 444 return 0
0 0 449 if (table -> data && table -> maxlen)
0 449 T && T
0 449 T && F
0 449 F && _
0 0 450 if (oldval && oldlenp)
0 450 T && T
0 450 T && F
0 450 F && _
0 0 452 if (len)
0 0 453 if (len > table -> maxlen)
0 0 455 if (( __builtin_constant_p ( len ) ? __..
0 456 return - 14
0 0 457 if (( { long __pu_err = - 14 ;__typeof_..
0 458 return - 14
0 0 461 if (newval && newlen)
0 461 T && T
0 461 T && F
0 461 F && _
0 0 463 if (len > table -> maxlen)
0 0 465 if (( __builtin_constant_p ( len ) ? __co..
0 466 return - 14
0 469 return 0
*** TER 0% ( 0/ 47) of FUNCTION do_sysctl_strategy()
9 0 472 FUNCTION register_sysctl_table()
0 9 477 if (! tmp)
0 478 return 0
480 do
0 9 480 do-while (0)
1 8 481 if (insert_at_head)
483 else
9 488 return tmp
*** TER 67% ( 6/ 9) of FUNCTION register_sysctl_table()
0 0 494 FUNCTION unregister_sysctl_table()
*** TER 0% ( 0/ 1) of FUNCTION unregister_sysctl_table()
56 56 510 FUNCTION register_proc_table()
272 56 516 for (;table -> ctl_name;)
0 272 518 if (! table -> procname)
0 519 continue
0 272 521 if (! table -> proc_handler && ! table -> c..
0 521 T && T
46 521 T && F
226 521 F && _
0 524 continue
226 46 531 if (table -> proc_handler)
533 else
259 24 535 for (;de;)
22 237 536 if (proc_match ( len , table -> procnam..
22 537 break
250 22 542 if (! de)
0 250 544 if (! de)
0 545 continue
226 24 547 if (table -> proc_handler)
46 226 553 if (de -> mode & 0040000)
*** TER 75% ( 21/ 28) of FUNCTION register_proc_table()
0 0 561 FUNCTION unregister_proc_table()
0 0 564 for (;table -> ctl_name;)
0 0 565 if (! ( de = table -> de ))
0 566 continue
0 0 567 if (de -> mode & 0040000)
0 0 568 if (! table -> child)
0 570 continue
0 0 575 if (de -> subdir)
0 576 continue
0 0 580 if (( ( & de -> count ) -> counter ))
0 581 continue
*** TER 0% ( 0/ 17) of FUNCTION unregister_proc_table()
1 0 588 FUNCTION do_rw_proc()
0 1 598 if (! de || ! de -> data)
0 598 T || _
0 598 F || T
1 598 F || F
0 599 return - 20
0 1 601 if (! table || ! table -> proc_handler)
0 601 T || _
0 601 F || T
1 601 F || F
0 602 return - 20
0 1 604 if (ctl_perm ( table , op ))
0 605 return - 1
0 1 614 if (error)
0 615 return error
1 616 return res
*** TER 40% ( 8/ 20) of FUNCTION do_rw_proc()
0 0 619 FUNCTION proc_readsys()
0 622 return do_rw_proc ( 0 , file , buf , count , ..
*** TER 0% ( 0/ 2) of FUNCTION proc_readsys()
1 0 625 FUNCTION proc_writesys()
1 628 return do_rw_proc ( 1 , file , ( char * ) buf..
*** TER 100% ( 2/ 2) of FUNCTION proc_writesys()
1 0 631 FUNCTION proc_sys_permission()
1 633 return test_perm ( inode -> i_mode , op )
*** TER 100% ( 2/ 2) of FUNCTION proc_sys_permission()
0 0 636 FUNCTION proc_dostring()
0 0 643 if (! table -> data || ! table -> maxlen || !..
0 643 T || _ || _ || (_ && _)
0 643 F || T || _ || (_ && _)
0 643 F || F || T || (_ && _)
0 643 F || F || F || (T && T)
0 643 F || F || F || (T && F)
0 643 F || F || F || (F && _)
0 645 return 0
0 0 648 if (write)
0 0 651 while (len < * lenp)
0 0 652 if (( { int __ret_gu , __val_gu ;switch (..
0 653 return - 14
0 0 654 if (c == 0 || c == '\n')
0 654 T || _
0 654 F || T
0 654 F || F
0 655 break
0 0 658 if (len >= table -> maxlen)
0 0 660 if (( __builtin_constant_p ( len ) ? __cons..
0 661 return - 14
664 else
0 0 666 if (len > table -> maxlen)
0 0 668 if (len > * lenp)
0 0 670 if (len)
0 0 671 if (( __builtin_constant_p ( len ) ? __co..
0 672 return - 14
0 0 673 if (len < * lenp)
0 0 674 if (( { long __pu_err = - 14 ;__typeof__ ..
0 675 return - 14
0 681 return 0
*** TER 0% ( 0/ 43) of FUNCTION proc_dostring()
0 0 689 FUNCTION proc_doutsstring()
0 0 694 if (! write)
698 else
0 703 return r
*** TER 0% ( 0/ 4) of FUNCTION proc_doutsstring()
1 0 712 FUNCTION do_proc_dointvec()
0 1 720 if (! table -> data || ! table -> maxlen || !..
0 720 T || _ || _ || (_ && _)
0 720 F || T || _ || (_ && _)
0 720 F || F || T || (_ && _)
0 720 F || F || F || (T && T)
0 720 F || F || F || (T && F)
1 720 F || F || F || (F && _)
0 722 return 0
1 1 729 for (;left && vleft --;)
1 729 T && T
1 729 T && F
0 729 F && _
1 0 730 if (write)
1 0 731 while (left)
0 1 733 if (( { int __ret_gu , __val_gu ;switch..
0 734 return - 14
1 0 735 if (! ( ( ( _ctype [ ( int ) ( unsigned..
1 736 break
0 1 740 if (! left)
0 741 break
0 1 744 if (len > 20 - 1)
0 1 746 if (( __builtin_constant_p ( len ) ? __co..
0 747 return - 14
0 1 750 if (* p == '-' && left > 1)
0 750 T && T
0 750 T && F
1 750 F && _
0 1 754 if (* p < '0' || * p > '9')
0 754 T || _
0 754 F || T
1 754 F || F
0 755 break
0 1 758 if (( len < left ) && * p && ! ( ( ( _cty..
0 758 (T) && T && !(F)
1 758 (T) && T && !(T)
0 758 (T) && F && !(_)
0 758 (F) && _ && !(_)
0 759 break
0 1 760 if (neg)
764 switch ( op )
1 765 case 0:
1 765 break
0 766 case 1:
0 766 break
0 767 case 2:
0 767 break
0 768 case 3:
0 0 768 if (* i < val)
0 770 break
0 771 case 4:
0 0 771 if (* i > val)
0 773 break
775 else
0 0 777 if (! first)
0 0 781 if (len > left)
0 0 783 if (( __builtin_constant_p ( len ) ? __co..
0 784 return - 14
0 1 790 if (! write && ! first && left)
0 790 T && T && T
0 790 T && T && F
0 790 T && F && _
1 790 F && _ && _
0 0 791 if (( { long __pu_err = - 14 ;__typeof__ ( ..
0 792 return - 14
1 0 795 if (write)
1 1 797 while (left)
0 1 799 if (( { int __ret_gu , __val_gu ;switch (..
0 800 return - 14
0 1 801 if (! ( ( ( _ctype [ ( int ) ( unsigned c..
0 802 break
0 1 806 if (write && first)
0 806 T && T
1 806 T && F
0 806 F && _
0 807 return - 22
1 810 return 0
*** TER 34% ( 34/100) of FUNCTION do_proc_dointvec()
1 0 813 FUNCTION proc_dointvec()
1 816 return do_proc_dointvec ( table , write , fil..
*** TER 100% ( 2/ 2) of FUNCTION proc_dointvec()
0 0 823 FUNCTION proc_dointvec_bset()
0 0 826 if (! capable ( 16 ))
0 827 return - 1
0 830 return do_proc_dointvec ( table , write , fil..
*** TER 0% ( 0/ 5) of FUNCTION proc_dointvec_bset()
0 0 833 FUNCTION proc_dointvec_minmax()
0 0 841 if (! table -> data || ! table -> maxlen || !..
0 841 T || _ || _ || (_ && _)
0 841 F || T || _ || (_ && _)
0 841 F || F || T || (_ && _)
0 841 F || F || F || (T && T)
0 841 F || F || F || (T && F)
0 841 F || F || F || (F && _)
0 843 return 0
0 0 852 for (;left && vleft --;)
0 852 T && T
0 852 T && F
0 852 F && _
0 0 853 if (write)
0 0 854 while (left)
0 0 856 if (( { int __ret_gu , __val_gu ;switch..
0 857 return - 14
0 0 858 if (! ( ( ( _ctype [ ( int ) ( unsigned..
0 859 break
0 0 863 if (! left)
0 864 break
0 0 867 if (len > 20 - 1)
0 0 869 if (( __builtin_constant_p ( len ) ? __co..
0 870 return - 14
0 0 873 if (* p == '-' && left > 1)
0 873 T && T
0 873 T && F
0 873 F && _
0 0 877 if (* p < '0' || * p > '9')
0 877 T || _
0 877 F || T
0 877 F || F
0 878 break
0 0 881 if (( len < left ) && * p && ! ( ( ( _cty..
0 881 (T) && T && !(F)
0 881 (T) && T && !(T)
0 881 (T) && F && !(_)
0 881 (F) && _ && !(_)
0 882 break
0 0 883 if (neg)
0 0 888 if (min && val < * min ++)
0 888 T && T
0 888 T && F
0 888 F && _
0 889 continue
0 0 890 if (max && val > * max ++)
0 890 T && T
0 890 T && F
0 890 F && _
0 891 continue
893 else
0 0 895 if (! first)
0 0 899 if (len > left)
0 0 901 if (( __builtin_constant_p ( len ) ? __co..
0 902 return - 14
0 0 908 if (! write && ! first && left)
0 908 T && T && T
0 908 T && T && F
0 908 T && F && _
0 908 F && _ && _
0 0 909 if (( { long __pu_err = - 14 ;__typeof__ ( ..
0 910 return - 14
0 0 913 if (write)
0 0 915 while (left)
0 0 917 if (( { int __ret_gu , __val_gu ;switch (..
0 918 return - 14
0 0 919 if (! ( ( ( _ctype [ ( int ) ( unsigned c..
0 920 break
0 0 924 if (write && first)
0 924 T && T
0 924 T && F
0 924 F && _
0 925 return - 22
0 928 return 0
*** TER 0% ( 0/ 98) of FUNCTION proc_dointvec_minmax()
0 0 935 FUNCTION do_proc_doulongvec_minmax()
0 0 947 if (! table -> data || ! table -> maxlen || !..
0 947 T || _ || _ || (_ && _)
0 947 F || T || _ || (_ && _)
0 947 F || F || T || (_ && _)
0 947 F || F || F || (T && T)
0 947 F || F || F || (T && F)
0 947 F || F || F || (F && _)
0 949 return 0
0 0 958 for (;left && vleft --;)
0 958 T && T
0 958 T && F
0 958 F && _
0 0 959 if (write)
0 0 960 while (left)
0 0 962 if (( { int __ret_gu , __val_gu ;switch..
0 963 return - 14
0 0 964 if (! ( ( ( _ctype [ ( int ) ( unsigned..
0 965 break
0 0 969 if (! left)
0 970 break
0 0 973 if (len > 20 - 1)
0 0 975 if (( __builtin_constant_p ( len ) ? __co..
0 976 return - 14
0 0 979 if (* p == '-' && left > 1)
0 979 T && T
0 979 T && F
0 979 F && _
0 0 983 if (* p < '0' || * p > '9')
0 983 T || _
0 983 F || T
0 983 F || F
0 984 break
0 0 987 if (( len < left ) && * p && ! ( ( ( _cty..
0 987 (T) && T && !(F)
0 987 (T) && T && !(T)
0 987 (T) && F && !(_)
0 987 (F) && _ && !(_)
0 988 break
0 0 989 if (neg)
0 0 994 if (neg)
0 995 continue
0 0 996 if (min && val < * min ++)
0 996 T && T
0 996 T && F
0 996 F && _
0 997 continue
0 0 998 if (max && val > * max ++)
0 998 T && T
0 998 T && F
0 998 F && _
0 999 continue
1001 else
0 0 1003 if (! first)
0 0 1007 if (len > left)
0 0 1009 if (( __builtin_constant_p ( len ) ? __co..
0 1010 return - 14
0 0 1016 if (! write && ! first && left)
0 1016 T && T && T
0 1016 T && T && F
0 1016 T && F && _
0 1016 F && _ && _
0 0 1017 if (( { long __pu_err = - 14 ;__typeof__ ( ..
0 1018 return - 14
0 0 1021 if (write)
0 0 1023 while (left)
0 0 1025 if (( { int __ret_gu , __val_gu ;switch (..
0 1026 return - 14
0 0 1027 if (! ( ( ( _ctype [ ( int ) ( unsigned c..
0 1028 break
0 0 1032 if (write && first)
0 1032 T && T
0 1032 T && F
0 1032 F && _
0 1033 return - 22
0 1036 return 0
*** TER 0% ( 0/101) of FUNCTION do_proc_doulongvec_minmax()
0 0 1040 FUNCTION proc_doulongvec_minmax()
0 1043 return do_proc_doulongvec_minmax ( table , wr..
*** TER 0% ( 0/ 2) of FUNCTION proc_doulongvec_minmax()
0 0 1046 FUNCTION proc_doulongvec_ms_jiffies_minmax()
0 1051 return do_proc_doulongvec_minmax ( table , wr..
*** TER 0% ( 0/ 2) of FUNCTION proc_doulongvec_ms_jiffies_minmax()
0 0 1056 FUNCTION proc_dointvec_jiffies()
0 1059 return do_proc_dointvec ( table , write , fil..
*** TER 0% ( 0/ 2) of FUNCTION proc_dointvec_jiffies()
0 0 1122 FUNCTION sysctl_string()
0 0 1128 if (! table -> data || ! table -> maxlen)
0 1128 T || _
0 1128 F || T
0 1128 F || F
0 1129 return - 20
0 0 1131 if (oldval && oldlenp)
0 1131 T && T
0 1131 T && F
0 1131 F && _
0 0 1132 if (( { int __ret_gu , __val_gu ;switch ( s..
0 1133 return - 14
0 0 1134 if (len)
0 0 1136 if (len > l)
0 0 1137 if (len >= table -> maxlen)
0 0 1139 if (( __builtin_constant_p ( len ) ? __co..
0 1140 return - 14
0 0 1141 if (( { long __pu_err = - 14 ;__typeof__ ..
0 1142 return - 14
0 0 1143 if (( { long __pu_err = - 14 ;__typeof__ ..
0 1144 return - 14
0 0 1147 if (newval && newlen)
0 1147 T && T
0 1147 T && F
0 1147 F && _
0 0 1149 if (len > table -> maxlen)
0 0 1151 if (( __builtin_constant_p ( len ) ? __cons..
0 1152 return - 14
0 0 1153 if (len == table -> maxlen)
0 1157 return 0
*** TER 0% ( 0/ 43) of FUNCTION sysctl_string()
0 0 1165 FUNCTION sysctl_intvec()
0 0 1171 if (newval && newlen)
0 1171 T && T
0 1171 T && F
0 1171 F && _
0 0 1172 if (newlen % sizeof ( int ) != 0)
0 1173 return - 22
0 0 1175 if (! table -> extra1 && ! table -> extra2)
0 1175 T && T
0 1175 T && F
0 1175 F && _
0 1176 return 0
0 0 1178 if (newlen > table -> maxlen)
0 0 1186 for (;i < length;)
0 0 1189 if (min && value < min [ i ])
0 1189 T && T
0 1189 T && F
0 1189 F && _
0 1190 return - 22
0 0 1191 if (max && value > max [ i ])
0 1191 T && T
0 1191 T && F
0 1191 F && _
0 1192 return - 22
0 1195 return 0
*** TER 0% ( 0/ 32) of FUNCTION sysctl_intvec()
0 0 1199 FUNCTION sysctl_jiffies()
0 0 1203 if (oldval)
0 0 1205 if (oldlenp)
0 0 1206 if (( { int __ret_gu , __val_gu ;switch (..
0 1207 return - 14
0 0 1208 if (olen != sizeof ( int ))
0 1209 return - 22
0 0 1212 if (( { long __pu_err = - 14 ;__typeof__ ( ..
0 1212 (T) || (_ && (_))
0 1212 (F) || (T && (T))
0 1212 (F) || (T && (F))
0 1212 (F) || (F && (_))
0 1213 return - 14
0 0 1215 if (newval && newlen)
0 1215 T && T
0 1215 T && F
0 1215 F && _
0 0 1217 if (newlen != sizeof ( int ))
0 1218 return - 22
0 0 1219 if (( { int __ret_gu , __val_gu ;switch ( s..
0 1220 return - 14
0 1223 return 1
*** TER 0% ( 0/ 30) of FUNCTION sysctl_jiffies()
*** TER 12% ( 82/663) of SOURCE FILE sysctl.c
MONITORED SOURCE FILE : swap_state.c
690 0 20 FUNCTION swap_writepage()
690 23 return 0
*** TER 100% ( 2/ 2) of FUNCTION swap_writepage()
0 0 45 FUNCTION show_swap_cache_info()
*** TER 0% ( 0/ 1) of FUNCTION show_swap_cache_info()
1E3 1E3 54 FUNCTION add_to_swap_cache()
0 1E3 61 if (! ( __builtin_constant_p ( 0 ) ? constant..
62 do
0 0 62 do-while (0)
0 1E3 63 if (test_and_set_bit ( 9 , & ( page ) -> flag..
64 do
0 0 64 do-while (0)
0 1E3 65 if (page -> mapping)
66 do
0 0 66 do-while (0)
*** TER 31% ( 4/ 13) of FUNCTION add_to_swap_cache()
1E3 1E3 72 FUNCTION remove_from_swap_cache()
0 1E3 76 if (mapping != & swapper_space)
77 do
0 0 77 do-while (0)
0 1E3 78 if (! ( __builtin_constant_p ( 9 ) ? constant..
0 78 !(T) || !(F)
0 78 !(F) || !(_)
1E3 78 !(T) || !(T)
79 do
79 do
0 0 79 do-while (0)
0 0 79 do-while (0)
*** TER 29% ( 4/ 14) of FUNCTION remove_from_swap_cache()
1E3 1E3 90 FUNCTION __delete_from_swap_cache()
*** TER 100% ( 1/ 1) of FUNCTION __delete_from_swap_cache()
31 31 107 FUNCTION delete_from_swap_cache_nolock()
0 31 109 if (! ( __builtin_constant_p ( 0 ) ? constant..
110 do
0 0 110 do-while (0)
31 0 112 if (block_flushpage ( page , 0 ))
118 do
0 31 118 do-while (0)
*** TER 44% ( 4/ 9) of FUNCTION delete_from_swap_cache_nolock()
0 0 126 FUNCTION delete_from_swap_cache()
130 do
0 0 130 if (! test_and_clear_bit ( 0 , & ( page ) -..
130 do
0 0 130 do-while (0)
0 0 130 if (waitqueue_active ( & page -> wait ))
0 0 130 do-while (0)
*** TER 0% ( 0/ 9) of FUNCTION delete_from_swap_cache()
1E5 1E5 138 FUNCTION free_page_and_swap_cache()
290 1E5 143 if (( __builtin_constant_p ( 9 ) ? constant_t..
290 143 (T) && T
0 143 (T) && F
1E5 143 (F) && _
31 259 144 if (! is_page_shared ( page ))
147 do
0 290 147 if (! test_and_clear_bit ( 0 , & ( page )..
147 do
0 0 147 do-while (0)
0 290 147 if (waitqueue_active ( & page -> wait ))
0 290 147 do-while (0)
*** TER 63% ( 10/ 16) of FUNCTION free_page_and_swap_cache()
2E3 0 160 FUNCTION lookup_swap_cache()
2E3 0 167 while (1)
1E3 459 173 if (! found)
1E3 174 return 0
0 459 183 if (! ( __builtin_constant_p ( 9 ) ? consta..
184 do
0 0 184 if (! test_and_clear_bit ( 0 , & ( foun..
184 do
0 0 184 do-while (0)
0 0 184 if (waitqueue_active ( & found -> wait ))
0 0 184 do-while (0)
0 186 goto repeat
0 459 188 if (found -> mapping != & swapper_space)
0 189 goto out_bad
193 do
0 459 193 if (! test_and_clear_bit ( 0 , & ( found ..
193 do
0 0 193 do-while (0)
1 458 193 if (waitqueue_active ( & found -> wait ))
0 459 193 do-while (0)
459 194 return found
199 do
0 0 199 if (! test_and_clear_bit ( 0 , & ( found ) ..
199 do
0 0 199 do-while (0)
0 0 199 if (waitqueue_active ( & found -> wait ))
0 0 199 do-while (0)
0 201 return 0
*** TER 32% ( 12/ 38) of FUNCTION lookup_swap_cache()
920 0 213 FUNCTION read_swap_cache_async()
0 920 221 if (! swap_duplicate ( entry ))
0 222 goto out
103 817 227 if (found_page)
103 228 goto out_free_swap
0 817 231 if (! new_page_addr)
0 232 goto out_free_swap
0 817 239 if (found_page)
0 240 goto out_free_page
817 247 return new_page
103 254 return found_page
*** TER 60% ( 9/ 15) of FUNCTION read_swap_cache_async()
*** TER 39% ( 46/118) of SOURCE FILE swap_state.c
MONITORED SOURCE FILE : ip_forward.c
0 0 44 FUNCTION ip_forward_finish()
0 0 50 if (opt -> optlen == 0)
0 66 return ( ip_send ( skb ) )
0 70 return ( ip_send ( skb ) )
*** TER 0% ( 0/ 5) of FUNCTION ip_forward_finish()
0 0 73 FUNCTION ip_forward()
0 0 81 if (( ( struct inet_skb_parm * ) ( ( skb ) ->..
0 81 T && T
0 81 T && F
0 81 F && _
0 82 return 0
0 0 84 if (skb -> pkt_type != 0)
0 85 goto drop
0 0 96 if (iph -> ttl <= 1)
0 97 goto too_many_hops
0 0 99 if (opt -> is_strictroute && rt -> rt_dst != ..
0 99 T && T
0 99 T && F
0 99 F && _
0 100 goto sr_failed
0 0 115 if (rt -> rt_flags & 0x01000000 && ! opt -> s..
0 115 T && T
0 115 T && F
0 115 F && _
0 0 119 if (( skb = skb_cow ( skb , dev2 -> hard_head..
0 120 return 1
0 0 132 if (skb -> len > mtu && ( ( __builtin_constan..
0 132 T && (T)
0 132 T && (F)
0 132 F && (_)
0 133 goto frag_needed
0 145 return ( ip_forward_finish ) ( skb )
0 150 goto drop
0 157 goto drop
0 164 return 1
*** TER 0% ( 0/ 37) of FUNCTION ip_forward()
*** TER 0% ( 0/ 42) of SOURCE FILE ip_forward.c
MONITORED SOURCE FILE : pcnet32.c
36 0 327 FUNCTION pcnet32_wio_read_csr()
36 330 return inw ( addr + 0x10 )
*** TER 100% ( 2/ 2) of FUNCTION pcnet32_wio_read_csr()
49 49 333 FUNCTION pcnet32_wio_write_csr()
*** TER 100% ( 1/ 1) of FUNCTION pcnet32_wio_write_csr()
2 0 339 FUNCTION pcnet32_wio_read_bcr()
2 342 return inw ( addr + 0x16 )
*** TER 100% ( 2/ 2) of FUNCTION pcnet32_wio_read_bcr()
4 4 345 FUNCTION pcnet32_wio_write_bcr()
*** TER 100% ( 1/ 1) of FUNCTION pcnet32_wio_write_bcr()
17 0 351 FUNCTION pcnet32_wio_read_rap()
17 353 return inw ( addr + 0x12 )
*** TER 100% ( 2/ 2) of FUNCTION pcnet32_wio_read_rap()
17 17 356 FUNCTION pcnet32_wio_write_rap()
*** TER 100% ( 1/ 1) of FUNCTION pcnet32_wio_write_rap()
2 2 361 FUNCTION pcnet32_wio_reset()
*** TER 100% ( 1/ 1) of FUNCTION pcnet32_wio_reset()
1 0 366 FUNCTION pcnet32_wio_check()
1 369 return ( inw ( addr + 0x12 ) == 88 )
*** TER 100% ( 2/ 2) of FUNCTION pcnet32_wio_check()
0 0 382 FUNCTION pcnet32_dwio_read_csr()
0 385 return ( inl ( addr + 0x10 ) & 0xffff )
*** TER 0% ( 0/ 2) of FUNCTION pcnet32_dwio_read_csr()
0 0 388 FUNCTION pcnet32_dwio_write_csr()
*** TER 0% ( 0/ 1) of FUNCTION pcnet32_dwio_write_csr()
0 0 394 FUNCTION pcnet32_dwio_read_bcr()
0 397 return ( inl ( addr + 0x1C ) & 0xffff )
*** TER 0% ( 0/ 2) of FUNCTION pcnet32_dwio_read_bcr()
0 0 400 FUNCTION pcnet32_dwio_write_bcr()
*** TER 0% ( 0/ 1) of FUNCTION pcnet32_dwio_write_bcr()
0 0 406 FUNCTION pcnet32_dwio_read_rap()
0 408 return ( inl ( addr + 0x14 ) & 0xffff )
*** TER 0% ( 0/ 2) of FUNCTION pcnet32_dwio_read_rap()
0 0 411 FUNCTION pcnet32_dwio_write_rap()
*** TER 0% ( 0/ 1) of FUNCTION pcnet32_dwio_write_rap()
1 1 416 FUNCTION pcnet32_dwio_reset()
*** TER 100% ( 1/ 1) of FUNCTION pcnet32_dwio_reset()
0 0 421 FUNCTION pcnet32_dwio_check()
0 424 return ( inl ( addr + 0x14 ) == 88 )
*** TER 0% ( 0/ 2) of FUNCTION pcnet32_dwio_check()
0 0 441 FUNCTION pcnet32_probe_vlbus()
0 0 449 if (ioaddr > 0x1ff)
0 0 450 if (__check_region ( & ioport_resource , ( ..
0 451 return pcnet32_probe1 ( ioaddr , irq_line..
452 else
0 453 return - 19
0 0 456 else if (ioaddr != 0)
0 457 return - 6
0 0 460 for (;* port;)
0 0 463 if (__check_region ( & ioport_resource , ( ..
0 0 467 if (( inb ( ioaddr + 14 ) == 0x57 ) && ( ..
0 467 (T) && (T) && (T)
0 467 (T) && (T) && (F)
0 467 (T) && (F) && (_)
0 467 (F) && (_) && (_)
0 471 return cards_found ? 0 : - 19
*** TER 0% ( 0/ 21) of FUNCTION pcnet32_probe_vlbus()
1 0 477 FUNCTION pcnet32_probe_pci()
0 1 487 if (! ioaddr)
0 489 return - 19
0 1 492 if (! pci_dma_supported ( pdev , 0xffffffff ))
0 494 return - 19
0 1 497 if (( err = pci_enable_device ( pdev ) ) < 0)
0 499 return err
1 504 return pcnet32_probe1 ( ioaddr , pdev -> irq ..
*** TER 45% ( 5/ 11) of FUNCTION pcnet32_probe_pci()
1 0 513 FUNCTION pcnet32_probe1()
1 0 531 if (pcnet32_wio_read_csr ( ioaddr , 0 ) == 4 ..
1 531 T && T
0 531 T && F
0 531 F && _
533 else
0 0 534 if (pcnet32_dwio_read_csr ( ioaddr , 0 ) ==..
0 534 T && T
0 534 T && F
0 534 F && _
536 else
0 537 return - 19
0 1 541 if (pcnet32_debug > 2)
0 1 543 if (( chip_version & 0xfff ) != 0x003)
0 544 return - 19
546 switch ( chip_version )
0 547 case 0x2420:
0 549 break
0 550 case 0x2430:
0 0 551 if (shared)
553 else
0 555 break
1 556 case 0x2621:
1 559 break
0 560 case 0x2623:
0 564 break
0 565 case 0x2624:
0 568 break
0 569 case 0x2625:
0 572 break
0 573 case 0x2626:
0 0 591 if (pcnet32_debug > 2)
0 594 break
0 595 case 0x2627:
0 598 break
0 599 default:
0 601 return - 19
0 1 611 if (fset)
0 1 622 if (dev == ( ( void * ) 0 ))
0 623 return - 12
6 1 629 for (;i < 6;)
0 1 632 if (( ( chip_version + 1 ) & 0xfffe ) == 0x26..
635 switch ( i >> 10 )
0 636 case 0:
0 636 break
0 637 case 1:
0 637 break
0 638 case 2:
0 638 break
0 639 case 3:
0 639 break
0 0 643 if (i & ( 1 << 5 ))
0 0 644 if (i & ( 1 << 6 ))
0 0 645 if (i & ( 1 << 7 ))
0 0 646 if (i & ( 1 << 11 ))
0 0 652 if (i & ( 1 << 14 ))
0 1 659 if (( lp = ( struct pcnet32_private * ) pci_a..
0 660 return - 12
667 do
0 1 667 do-while (0)
0 1 678 if (options [ card_idx ] > sizeof ( options_m..
680 else
0 1 683 if (fdx && ! ( lp -> options & 0x04 ) && full..
0 683 T && !(F) && T
1 683 T && !(T) && _
0 683 T && !(F) && F
0 683 F && !(_) && _
0 1 686 if (a == ( ( void * ) 0 ))
0 688 return - 19
0 1 693 if (dev -> dev_addr [ 0 ] == 0x00 && dev -> d..
0 693 T && T && T
0 693 T && T && F
1 693 T && F && _
0 693 F && _ && _
6 1 698 for (;i < 6;)
1 0 711 if (irq_line)
1 0 715 if (dev -> irq >= 2)
717 else
0 0 730 if (dev -> irq)
732 else
0 734 return - 19
1 0 738 if (pcnet32_debug > 0)
1 758 return 0
*** TER 26% ( 26/100) of FUNCTION pcnet32_probe1()
1 0 763 FUNCTION pcnet32_open()
0 1 772 if (dev -> irq == 0 || request_irq ( dev -> i..
0 772 T || _
0 772 F || T
1 772 F || F
0 773 return - 11
0 1 782 if (pcnet32_debug > 1)
1 0 791 if (lp -> options & 0x04)
1 0 796 if (lp -> full_duplex)
0 1 798 if (lp -> options & 0x80)
0 0 800 if (lp -> options == ( 0x80 | 0x00 ))
0 1 808 if (( lp -> options & 0x03 ) == 0x02)
0 1 812 if (lp -> mii & ! ( lp -> options & 0x04 ))
0 0 814 if (lp -> options & 0x80)
0 0 816 if (lp -> options & 0x40)
0 1 828 if (lp -> ltint)
0 1 837 if (pcnet32_init_ring ( dev ))
0 838 return - 12
1 0 850 while (i ++ < 100)
1 0 851 if (lp -> a . read_csr ( ioaddr , 0 ) & 0x0..
1 852 break
0 1 859 if (pcnet32_debug > 2)
865 do
0 1 865 do-while (0)
1 867 return 0
*** TER 43% ( 17/ 40) of FUNCTION pcnet32_open()
5 5 884 FUNCTION pcnet32_purge_tx_ring()
80 5 889 for (;i < ( 1 << ( 4 ) );)
0 80 890 if (lp -> tx_skbuff [ i ])
*** TER 80% ( 4/ 5) of FUNCTION pcnet32_purge_tx_ring()
6 0 902 FUNCTION pcnet32_init_ring()
192 6 911 for (;i < ( 1 << ( 5 ) );)
32 160 913 if (rx_skbuff == ( ( void * ) 0 ))
0 32 914 if (! ( rx_skbuff = lp -> rx_skbuff [ i ]..
0 917 return - 1
96 6 928 for (;i < ( 1 << ( 4 ) );)
36 6 935 for (;i < 6;)
6 939 return 0
*** TER 85% ( 11/ 13) of FUNCTION pcnet32_init_ring()
5 5 943 FUNCTION pcnet32_restart()
0 5 950 if (pcnet32_init_ring ( dev ))
0 951 return
5 0 956 while (i ++ < 100)
5 0 957 if (lp -> a . read_csr ( ioaddr , 0 ) & 0x0..
5 958 break
*** TER 56% ( 5/ 9) of FUNCTION pcnet32_restart()
0 0 965 FUNCTION pcnet32_tx_timeout()
0 0 975 if (pcnet32_debug > 2)
0 0 980 for (;i < ( 1 << ( 5 ) );)
0 0 984 for (;i < ( 1 << ( 4 ) );)
*** TER 0% ( 0/ 7) of FUNCTION pcnet32_tx_timeout()
2 0 998 FUNCTION pcnet32_start_xmit()
0 2 1006 if (pcnet32_debug > 3)
1011 do
0 2 1011 do-while (0)
0 2 1019 if (( lp -> ltint ) && ( ( lp -> cur_tx - lp ..
0 1019 (T) && ((T) || (_))
0 1019 (T) && ((F) || (T))
0 1019 (T) && ((F) || (F))
2 1019 (F) && ((_) || (_))
2 0 1054 if (lp -> tx_ring [ ( entry + 1 ) & ( ( 1 << ..
1056 else
1060 do
1060 do
0 2 1060 do-while (0)
0 2 1060 do-while (0)
2 1061 return 0
*** TER 50% ( 9/ 18) of FUNCTION pcnet32_start_xmit()
15 15 1066 FUNCTION pcnet32_interrupt()
0 15 1075 if (dev == ( ( void * ) 0 ))
0 1077 return
9 15 1086 while (( csr0 = lp -> a . read_csr ( ioaddr ,..
9 1086 T && T
0 1086 T && F
15 1086 F && _
0 9 1092 if (pcnet32_debug > 5)
8 1 1096 if (csr0 & 0x0400)
2 7 1099 if (csr0 & 0x0200)
2 2 1102 while (dirty_tx < lp -> cur_tx)
0 2 1106 if (status < 0)
0 1107 break
0 2 1111 if (status & 0x4000)
0 0 1115 if (err_status & 0x04000000)
0 0 1116 if (err_status & 0x08000000)
0 0 1117 if (err_status & 0x10000000)
0 0 1119 if (err_status & 0x40000000)
1139 else
0 2 1140 if (status & 0x1800)
2 0 1146 if (lp -> tx_skbuff [ entry ])
0 2 1156 if (lp -> cur_tx - dirty_tx >= ( 1 << ( 4..
0 2 1164 if (lp -> tx_full && netif_queue_stopped ..
0 1164 T && T && T
0 1164 T && T && F
0 1164 T && F && _
2 1164 F && _ && _
0 9 1173 if (csr0 & 0x4000)
0 9 1174 if (csr0 & 0x1000)
0 9 1187 if (csr0 & 0x0800)
0 9 1193 if (must_restart)
0 15 1204 if (pcnet32_debug > 4)
1208 do
0 15 1208 do-while (0)
*** TER 48% ( 26/ 54) of FUNCTION pcnet32_interrupt()
8 0 1212 FUNCTION pcnet32_rx()
10 8 1218 while (( short ) ( ( __u16 ) ( lp -> rx_ring ..
0 10 1221 if (status != 0x03)
0 0 1228 if (status & 0x01)
0 0 1230 if (status & 0x20)
0 0 1231 if (status & 0x10)
0 0 1232 if (status & 0x08)
0 0 1233 if (status & 0x04)
1235 else
0 10 1240 if (pkt_len < 60)
1243 else
7 3 1246 if (pkt_len > rx_copybreak)
7 0 1249 if (( newskb = dev_alloc_skb ( 1544 )..
1258 else
1260 else
0 10 1264 if (skb == ( ( void * ) 0 ))
0 0 1267 for (;i < ( 1 << ( 5 ) );)
0 0 1268 if (( short ) ( ( __u16 ) ( lp -> r..
0 1269 break
0 0 1271 if (i > ( 1 << ( 5 ) ) - 2)
0 1276 break
3 7 1279 if (! rx_in_place)
8 1301 return 0
*** TER 35% ( 12/ 34) of FUNCTION pcnet32_rx()
0 0 1305 FUNCTION pcnet32_close()
0 0 1315 if (pcnet32_debug > 1)
0 0 1331 for (;i < ( 1 << ( 5 ) );)
0 0 1333 if (lp -> rx_skbuff [ i ])
0 0 1341 for (;i < ( 1 << ( 4 ) );)
0 0 1342 if (lp -> tx_skbuff [ i ])
1350 do
0 0 1350 do-while (0)
0 1352 return 0
*** TER 0% ( 0/ 14) of FUNCTION pcnet32_close()
2 0 1356 FUNCTION pcnet32_get_stats()
1363 do
0 2 1363 do-while (0)
1367 do
1367 do
0 2 1367 do-while (0)
0 2 1367 do-while (0)
2 1369 return & lp -> stats
*** TER 63% ( 5/ 8) of FUNCTION pcnet32_get_stats()
5 0 1373 FUNCTION pcnet32_load_multicast()
0 5 1384 if (dev -> flags & 0x200)
0 1387 return
4 5 1394 for (;i < dev -> mc_count;)
0 4 1399 if (! ( * addrs & 1 ))
0 1400 continue
24 4 1403 for (;byte < 6;)
192 24 1404 for (;j < 8;)
116 76 1410 if (test)
5 1418 return
*** TER 75% ( 12/ 16) of FUNCTION pcnet32_load_multicast()
5 5 1425 FUNCTION pcnet32_set_multicast_list()
0 5 1430 if (dev -> flags & 0x100)
1434 else
*** TER 67% ( 2/ 3) of FUNCTION pcnet32_set_multicast_list()
0 0 1445 FUNCTION pcnet32_mii_ioctl()
0 0 1452 if (lp -> mii)
1453 switch ( cmd )
0 1454 case 0x89F0:
0 1457 case 0x89F0 + 1:
0 1461 return 0
0 1462 case 0x89F0 + 2:
0 0 1463 if (! capable ( 12 ))
0 1464 return - 1
0 1468 return 0
0 1469 default:
0 1470 return - 95
0 1473 return - 95
*** TER 0% ( 0/ 14) of FUNCTION pcnet32_mii_ioctl()
1 0 1497 FUNCTION pcnet32_init_module()
0 1 1502 if (debug > 0)
0 1 1504 if (( tx_start_pt >= 0 ) && ( tx_start_pt <= ..
0 1504 (T) && (T)
0 1504 (T) && (F)
1 1504 (F) && (_)
0 1 1511 if (( err = pci_module_init ( & pcnet32_drive..
0 1512 return err
1 1526 return 0
0 1528 return pcnet32_probe_vlbus ( cards_found )
*** TER 46% ( 6/ 13) of FUNCTION pcnet32_init_module()
0 0 1531 FUNCTION pcnet32_cleanup_module()
0 0 1536 while (pcnet32_dev)
*** TER 0% ( 0/ 3) of FUNCTION pcnet32_cleanup_module()
*** TER 38% (153/407) of SOURCE FILE pcnet32.c
MONITORED SOURCE FILE : quirks.c
0 0 24 FUNCTION quirk_passive_release()
0 0 31 while (( d = pci_find_device ( 0x8086 , 0x700..
0 0 33 if (! ( dlc & 1 << 1 ))
*** TER 0% ( 0/ 5) of FUNCTION quirk_passive_release()
0 0 51 FUNCTION quirk_isa_dma_hangs()
0 0 53 if (! isa_dma_bridge_buggy)
*** TER 0% ( 0/ 3) of FUNCTION quirk_isa_dma_hangs()
0 0 65 FUNCTION quirk_nopcipci()
0 0 67 if (( pci_pci_problems & 1 ) == 0)
*** TER 0% ( 0/ 3) of FUNCTION quirk_nopcipci()
1 1 78 FUNCTION quirk_triton()
1 0 80 if (( pci_pci_problems & 2 ) == 0)
*** TER 67% ( 2/ 3) of FUNCTION quirk_triton()
0 0 91 FUNCTION quirk_viaetbf()
0 0 93 if (( pci_pci_problems & 8 ) == 0)
*** TER 0% ( 0/ 3) of FUNCTION quirk_viaetbf()
0 0 105 FUNCTION quirk_natoma()
0 0 107 if (( pci_pci_problems & 4 ) == 0)
*** TER 0% ( 0/ 3) of FUNCTION quirk_natoma()
0 0 119 FUNCTION quirk_s3_64M()
0 0 123 if (( r -> start & 0x3ffffff ) || r -> end !=..
0 123 (T) || _
0 123 (F) || T
0 123 (F) || F
*** TER 0% ( 0/ 6) of FUNCTION quirk_s3_64M()
0 0 129 FUNCTION quirk_io_region()
0 0 132 if (region)
*** TER 0% ( 0/ 3) of FUNCTION quirk_io_region()
0 0 154 FUNCTION quirk_ali7101_acpi()
*** TER 0% ( 0/ 1) of FUNCTION quirk_ali7101_acpi()
0 0 169 FUNCTION quirk_piix4_acpi()
*** TER 0% ( 0/ 1) of FUNCTION quirk_piix4_acpi()
0 0 183 FUNCTION quirk_vt82c586_acpi()
0 0 189 if (rev & 0x10)
*** TER 0% ( 0/ 3) of FUNCTION quirk_vt82c586_acpi()
0 0 202 FUNCTION quirk_vt82c686_acpi()
*** TER 0% ( 0/ 1) of FUNCTION quirk_vt82c686_acpi()
0 0 229 FUNCTION quirk_piix3_usb()
*** TER 0% ( 0/ 1) of FUNCTION quirk_piix3_usb()
0 0 244 FUNCTION quirk_vt82c598_id()
*** TER 0% ( 0/ 1) of FUNCTION quirk_vt82c598_id()
20 20 290 FUNCTION pci_do_fixups()
380 20 292 while (f -> pass)
6 374 295 if (f -> pass == pass && ( f -> vendor == d..
1 295 T && (T || _) && (T || _)
0 295 T && (T || _) && (F || T)
0 295 T && (F || T) && (T || _)
5 295 T && (F || T) && (F || T)
53 295 T && (T || _) && (F || F)
0 295 T && (F || T) && (F || F)
131 295 T && (F || F) && (_ || _)
190 295 F && (_ || _) && (_ || _)
*** TER 77% ( 10/ 13) of FUNCTION pci_do_fixups()
10 10 305 FUNCTION pci_fixup_device()
*** TER 100% ( 1/ 1) of FUNCTION pci_fixup_device()
*** TER 25% ( 13/ 51) of SOURCE FILE quirks.c
MONITORED SOURCE FILE : vm86.c
0 0 66 FUNCTION save_v86_state()
0 0 72 if (! get_current ( ) -> thread . vm86_info)
0 0 81 if (tmp)
0 89 return ret
*** TER 0% ( 0/ 6) of FUNCTION save_v86_state()
0 0 92 FUNCTION mark_screen_rdonly()
0 0 100 if (pgd_none ( * pgd ))
0 101 return
0 0 102 if (pgd_bad ( * pgd ))
104 do
0 0 104 do-while (0)
0 105 return
0 0 108 if (( ! ( ( * pmd ) . pmd ) ))
0 109 return
0 0 110 if (( ( ( ( * pmd ) . pmd ) & ( ~ ( ~ ( ( 1UL..
112 do
0 0 112 do-while (0)
0 113 return
0 0 116 for (;i < 32;)
0 0 117 if (( ( * pte ) . pte_low & ( 0x001 | 0x080..
121 do
0 0 121 do-while (0)
*** TER 0% ( 0/ 23) of FUNCTION mark_screen_rdonly()
0 0 129 FUNCTION sys_vm86old()
0 0 140 if (tsk -> thread . saved_esp0)
0 141 goto out
0 0 146 if (tmp)
0 147 goto out
0 154 return ret
*** TER 0% ( 0/ 8) of FUNCTION sys_vm86old()
0 0 158 FUNCTION sys_vm86()
169 switch ( subfunction )
0 170 case 3:
0 171 case 4:
0 172 case 5:
0 173 case 6:
0 175 goto out
0 176 case 0:
0 183 goto out
0 0 188 if (tsk -> thread . saved_esp0)
0 189 goto out
0 0 194 if (tmp)
0 195 goto out
0 202 return ret
*** TER 0% ( 0/ 15) of FUNCTION sys_vm86()
0 0 206 FUNCTION do_sys_vm86()
229 switch ( info -> cpu_type )
0 230 case 2:
0 232 break
0 233 case 3:
0 235 break
0 236 case 4:
0 238 break
0 239 default:
0 241 break
0 0 253 if (info -> flags & 0x0001)
*** TER 0% ( 0/ 11) of FUNCTION do_sys_vm86()
0 0 264 FUNCTION return_to_32bit()
*** TER 0% ( 0/ 1) of FUNCTION return_to_32bit()
0 0 275 FUNCTION set_IF()
0 0 278 if (( get_current ( ) -> thread . v86flags ) ..
*** TER 0% ( 0/ 3) of FUNCTION set_IF()
0 0 282 FUNCTION clear_IF()
*** TER 0% ( 0/ 1) of FUNCTION clear_IF()
0 0 287 FUNCTION clear_TF()
*** TER 0% ( 0/ 1) of FUNCTION clear_TF()
0 0 292 FUNCTION set_vflags_long()
0 0 296 if (eflags & 0x00000200)
*** TER 0% ( 0/ 3) of FUNCTION set_vflags_long()
0 0 300 FUNCTION set_vflags_short()
0 0 304 if (flags & 0x00000200)
*** TER 0% ( 0/ 3) of FUNCTION set_vflags_short()
0 0 308 FUNCTION get_vflags()
0 0 312 if (( get_current ( ) -> thread . v86flags ) ..
0 314 return flags | ( ( get_current ( ) -> thread ..
*** TER 0% ( 0/ 4) of FUNCTION get_vflags()
0 0 317 FUNCTION is_revectored()
0 322 return nr
*** TER 0% ( 0/ 2) of FUNCTION is_revectored()
0 0 398 FUNCTION do_int()
0 0 402 if (regs -> cs == 0x0f000)
0 403 goto cannot_handle
0 0 404 if (is_revectored ( i , & ( ( struct kernel_v..
0 405 goto cannot_handle
0 0 406 if (i == 0x21 && is_revectored ( ( ( ( unsign..
0 406 T && T
0 406 T && F
0 406 F && _
0 407 goto cannot_handle
0 0 409 if (( { int __ret_gu , __val_gu ;switch ( siz..
0 410 goto cannot_handle
0 0 411 if (( segoffs >> 16 ) == 0x0f000)
0 412 goto cannot_handle
0 421 return
*** TER 0% ( 0/ 20) of FUNCTION do_int()
0 0 427 FUNCTION handle_vm86_trap()
0 0 429 if (( ( struct kernel_vm86_struct * ) regs ) ..
0 0 430 if (( trapno == 3 ) || ( trapno == 1 ))
0 430 (T) || (_)
0 430 (F) || (T)
0 430 (F) || (F)
0 433 return 0
0 0 435 if (trapno != 1)
0 436 return 1
0 0 437 if (get_current ( ) -> ptrace & 0x00000001)
439 do
0 0 439 do-while (0)
442 do
442 do
0 0 442 do-while (0)
0 0 442 do-while (0)
0 447 return 0
*** TER 0% ( 0/ 21) of FUNCTION handle_vm86_trap()
0 0 450 FUNCTION handle_vm86_fault()
468 switch ( ( { unsigned long __res ; __asm__ __..
0 471 case 0x66:
472 switch ( ( { unsigned long __res ; __asm__ ..
0 475 case 0x9c:
0 0 479 if (( ( struct kernel_vm86_struct * ) reg..
0 479 T && (T)
0 479 T && (F)
0 479 F && (_)
0 479 return
0 482 case 0x9d:
0 0 485 if (( ( struct kernel_vm86_struct * ) reg..
0 485 T && T
0 485 T && F
0 485 F && _
0 0 487 if (( ( struct kernel_vm86_struct * ) reg..
0 487 T && (T)
0 487 T && (F)
0 487 F && (_)
0 487 return
0 490 case 0xcf:
0 0 494 if (( ( struct kernel_vm86_struct * ) reg..
0 494 T && T
0 494 T && F
0 494 F && _
0 0 496 if (( ( struct kernel_vm86_struct * ) reg..
0 496 T && (T)
0 496 T && (F)
0 496 F && (_)
0 496 return
0 498 default:
0 503 case 0x9c:
0 0 507 if (( ( struct kernel_vm86_struct * ) regs ..
0 507 T && (T)
0 507 T && (F)
0 507 F && (_)
0 507 return
0 510 case 0x9d:
0 0 513 if (( ( struct kernel_vm86_struct * ) regs ..
0 513 T && T
0 513 T && F
0 513 F && _
0 0 515 if (( ( struct kernel_vm86_struct * ) regs ..
0 515 T && (T)
0 515 T && (F)
0 515 F && (_)
0 515 return
0 518 case 0xcd:
0 0 521 if (( ( struct kernel_vm86_struct * ) reg..
0 0 522 if (( 1 << ( intno & 7 ) ) & ( ( struct..
0 526 return
0 530 case 0xcf:
0 0 534 if (( ( struct kernel_vm86_struct * ) regs ..
0 534 T && T
0 534 T && F
0 534 F && _
0 0 536 if (( ( struct kernel_vm86_struct * ) regs ..
0 536 T && (T)
0 536 T && (F)
0 536 F && (_)
0 536 return
0 539 case 0xfa:
0 0 542 if (( ( struct kernel_vm86_struct * ) regs ..
0 542 T && (T)
0 542 T && (F)
0 542 F && (_)
0 542 return
0 551 case 0xfb:
0 0 554 if (( ( struct kernel_vm86_struct * ) regs ..
0 554 T && (T)
0 554 T && (F)
0 554 F && (_)
0 554 return
0 556 default:
*** TER 0% ( 0/ 86) of FUNCTION handle_vm86_fault()
0 0 575 FUNCTION irq_handler()
0 0 582 if (( irqbits & irq_bit ) || ! vm86_irqs [ in..
0 582 (T) || _
0 582 (F) || T
0 582 (F) || F
0 583 goto out
0 0 585 if (vm86_irqs [ intno ] . sig)
*** TER 0% ( 0/ 9) of FUNCTION irq_handler()
0 0 592 FUNCTION free_vm86_irq()
*** TER 0% ( 0/ 1) of FUNCTION free_vm86_irq()
0 0 599 FUNCTION task_valid()
0 0 605 for (;( p = p -> next_task ) != & ( init_task..
0 0 606 if (( p == tsk ) && ( p -> sig ))
0 606 (T) && (T)
0 606 (T) && (F)
0 606 (F) && (_)
0 608 break
611 do
0 0 611 do-while (0)
0 612 return ret
*** TER 0% ( 0/ 12) of FUNCTION task_valid()
0 0 615 FUNCTION handle_irq_zombies()
0 0 618 for (;i < 16;)
0 0 619 if (vm86_irqs [ i ] . tsk)
0 0 620 if (task_valid ( vm86_irqs [ i ] . tsk ))
0 620 continue
*** TER 0% ( 0/ 8) of FUNCTION handle_irq_zombies()
0 0 626 FUNCTION get_and_reset_irq()
0 0 631 if (( irqnumber < 3 ) || ( irqnumber > 15 ))
0 631 (T) || (_)
0 631 (F) || (T)
0 631 (F) || (F)
0 631 return 0
0 0 632 if (vm86_irqs [ irqnumber ] . tsk != get_curr..
0 632 return 0
0 638 return bit
*** TER 0% ( 0/ 11) of FUNCTION get_and_reset_irq()
0 0 642 FUNCTION do_vm86_irq_handling()
645 switch ( subfunction )
0 646 case 6:
0 647 return get_and_reset_irq ( irqnumber )
0 649 case 5:
0 650 return irqbits
0 652 case 3:
0 0 656 if (! capable ( 21 ))
0 656 return - 1
0 0 657 if (! ( ( 1 << sig ) & ( 1 | ( 1 << 10 ) ..
0 657 return - 1
0 0 658 if (( irq < 3 ) || ( irq > 15 ))
0 658 (T) || (_)
0 658 (F) || (T)
0 658 (F) || (F)
0 658 return - 1
0 0 659 if (vm86_irqs [ irq ] . tsk)
0 659 return - 1
0 0 661 if (ret)
0 661 return ret
0 664 return irq
0 666 case 4:
0 0 668 if (( irqnumber < 3 ) || ( irqnumber > 15..
0 668 (T) || (_)
0 668 (F) || (T)
0 668 (F) || (F)
0 668 return - 1
0 0 669 if (! vm86_irqs [ irqnumber ] . tsk)
0 669 return 0
0 0 670 if (vm86_irqs [ irqnumber ] . tsk != get_..
0 670 return - 1
0 672 return 0
0 675 return - 22
*** TER 0% ( 0/ 40) of FUNCTION do_vm86_irq_handling()
*** TER 0% ( 0/289) of SOURCE FILE vm86.c