From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from zeniv.linux.org.uk ([195.92.253.2]:54822 "EHLO ZenIV.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750917AbdEKGHs (ORCPT ); Thu, 11 May 2017 02:07:48 -0400 Date: Thu, 11 May 2017 07:07:44 +0100 From: Al Viro To: Pushkar Jambhlekar Cc: Joe Perches , linux-fsdevel@vger.kernel.org, linux-kernel Subject: Re: [PATCH] FS: Fixing return type of unsigned_offsets Message-ID: <20170511060744.GJ390@ZenIV.linux.org.uk> References: <1494476871-26474-1-git-send-email-pushkar.iit@gmail.com> <1494477592.2028.7.camel@perches.com> <1494478535.2028.9.camel@perches.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Thu, May 11, 2017 at 10:34:02AM +0530, Pushkar Jambhlekar wrote: > If I remove '!!', sparse flags warning: > > fs/read_write.c:38:29: warning: incorrect type in return expression > (different base types) > fs/read_write.c:38:29: expected bool > fs/read_write.c:38:29: got restricted fmode_t > > It means explicit conversion is needed. FVO"needed" equal to "needed to make sparse STFU"? If anything, that's sparse being wrong - evaluate.c:check_assignment_type() should do if (t == &ctype_bool) { if (is_fouled_type(s)) warning((*rp)->pos, "%s degrades to integer", show_typename(s->ctype.base_type)); goto Cast; } right after } else if (!(sclass & TYPE_RESTRICT)) goto Cast;