1*1f5207b7SJohn Levon #include <stdio.h> 2*1f5207b7SJohn Levon 3*1f5207b7SJohn Levon int *add_inode(); 4*1f5207b7SJohn Levon int IS_ERR(void *); 5*1f5207b7SJohn Levon main(void)6*1f5207b7SJohn Levonint main(void) 7*1f5207b7SJohn Levon { 8*1f5207b7SJohn Levon int *p; 9*1f5207b7SJohn Levon 10*1f5207b7SJohn Levon p = add_inode(); 11*1f5207b7SJohn Levon if (!IS_ERR(p)) { 12*1f5207b7SJohn Levon *p = 1; 13*1f5207b7SJohn Levon } 14*1f5207b7SJohn Levon *p = 1; 15*1f5207b7SJohn Levon 16*1f5207b7SJohn Levon return 0; 17*1f5207b7SJohn Levon } 18*1f5207b7SJohn Levon /* 19*1f5207b7SJohn Levon * check-name: dereferencing ERR_PTR bugs 20*1f5207b7SJohn Levon * check-command: smatch -p=kernel sm_err_ptr.c 21*1f5207b7SJohn Levon * 22*1f5207b7SJohn Levon * check-output-start 23*1f5207b7SJohn Levon sm_err_ptr.c:14 main() error: 'p' dereferencing possible ERR_PTR() 24*1f5207b7SJohn Levon * check-output-end 25*1f5207b7SJohn Levon */ 26