From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Carpenter Date: Tue, 26 Feb 2013 09:13:49 +0300 Subject: [Cluster-devel] GFS2: Combine functions gfs2_glock_wait and wait_on_holder Message-ID: <20130226061348.GA16153@longonot.mountain> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hello Bob Peterson, This is probably a false positive but I thought it would be interesting to ask. The patch 07a790494260: "GFS2: Combine functions gfs2_glock_wait and wait_on_holder" from Aug 9, 2012, leads to the following warning on my not yet pushed version of Smatch: "fs/gfs2/inode.c:217 gfs2_lookup_by_inum() error: passing non neg 13 to ERR_PTR" 884 /** 885 * gfs2_glock_wait - wait on a glock acquisition 886 * @gh: the glock holder 887 * 888 * Returns: 0 on success 889 */ 890 891 int gfs2_glock_wait(struct gfs2_holder *gh) 892 { 893 unsigned long time1 = jiffies; 894 895 might_sleep(); 896 wait_on_bit(&gh->gh_iflags, HIF_WAIT, gfs2_glock_holder_wait, TASK_UNINTERRUPTIBLE); 897 if (time_after(jiffies, time1 + HZ)) /* have we waited > a second? */ 898 /* Lengthen the minimum hold time. */ 899 gh->gh_gl->gl_hold_time = min(gh->gh_gl->gl_hold_time + 900 GL_GLOCK_HOLD_INCR, 901 GL_GLOCK_MAX_HOLD); 902 return gh->gh_error; ^^^^^^^^^^^^ Can this be GLR_TRYFAILED at this point? If it is then it would cause a problem later on. 903 } regards, dan carpenter