Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp85323pxb; Mon, 2 Nov 2020 14:49:10 -0800 (PST) X-Google-Smtp-Source: ABdhPJwKipvFHP1JRH9c5gcFqllL6OFpQKqMaKZ7G/u74dDuXPZUsY+hyEuFaYbt+dn+ueODb2PN X-Received: by 2002:a17:906:4d93:: with SMTP id s19mr13252045eju.271.1604357350764; Mon, 02 Nov 2020 14:49:10 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1604357350; cv=none; d=google.com; s=arc-20160816; b=JzOYa8nqNff6intQe+icbMpTH5rWtaJ6He2Nnb4DvsljAQSxGCVX5Ez35EtV3nWy+t BowqVfLwIKneTipDPOg390Q+v+0JYEAdI702Qi1CBwzm0ZUqBwcp4kn9N0yWqYJkzpce wNcPpXl3Mcrn6koOKLXzR60D0ZczK3CFm1r+0+gImTK2hJ38Rw5vqHUVX3P18/+BB0RD NW/MAOyjezaKuF+TTcFVJnfnvcqdAof5wcK1bi/Fnv+1qGKFgiOkXeKoGFOhhefn93R9 KNlrwVxFUX+TQdk8OCPUFxmS6DlEjrkkF8tO52XJmPvNEEedthDvWxOojNDuFKx21jQ4 x2aQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :mime-version:accept-language:in-reply-to:references:message-id:date :thread-index:thread-topic:subject:to:from; bh=boW6FkvUfUACoLFFZe4aSS6ctdUtBEMKptYU3OBJI/Y=; b=n6LUPYFmMTwR3yZa1riolgo2+yXx8ODE6P4AhF3FgQioiYlRxaVg4KUnubtNqTfChx U/eV/HjjFHnMCQq6Ppg4g9TElmUvnmrcUdY8XFE7zae+jjHpK8G7zFzuBWzLAZa2aCbZ QlFQd1EouCyuZTydLc8H56VQYrFP8XYQHdWZ6WKf4nmyQRz1lNACE0GujUeVkgEdbXfT vrVHs4GV3kHkRJdrVWUE6+/sf/JFgCRjoWvLmHusKET2LQZ/CsvDcqQ2qk0SNhgQhN2s eB9yXpUDanJJLl34fRexYAyEtE4RQIPFeIFkY8WdVWczu2txU+vyrKZYFfVpaz+JEEQT K/xA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=aculab.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w15si4914483ejk.62.2020.11.02.14.48.45; Mon, 02 Nov 2020 14:49:10 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=aculab.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726385AbgKBWpD convert rfc822-to-8bit (ORCPT + 99 others); Mon, 2 Nov 2020 17:45:03 -0500 Received: from eu-smtp-delivery-151.mimecast.com ([207.82.80.151]:26801 "EHLO eu-smtp-delivery-151.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725807AbgKBWpD (ORCPT ); Mon, 2 Nov 2020 17:45:03 -0500 Received: from AcuMS.aculab.com (156.67.243.126 [156.67.243.126]) (Using TLS) by relay.mimecast.com with ESMTP id uk-mta-60-5ghhhtChNGi9YWJ8nylj6g-1; Mon, 02 Nov 2020 22:44:59 +0000 X-MC-Unique: 5ghhhtChNGi9YWJ8nylj6g-1 Received: from AcuMS.Aculab.com (fd9f:af1c:a25b:0:43c:695e:880f:8750) by AcuMS.aculab.com (fd9f:af1c:a25b:0:43c:695e:880f:8750) with Microsoft SMTP Server (TLS) id 15.0.1347.2; Mon, 2 Nov 2020 22:44:58 +0000 Received: from AcuMS.Aculab.com ([fe80::43c:695e:880f:8750]) by AcuMS.aculab.com ([fe80::43c:695e:880f:8750%12]) with mapi id 15.00.1347.000; Mon, 2 Nov 2020 22:44:58 +0000 From: David Laight To: 'Tong Zhang' , Anders Larsen , "linux-kernel@vger.kernel.org" Subject: RE: [PATCH v2] qnx4: do not interpret -EIO as a correct address Thread-Topic: [PATCH v2] qnx4: do not interpret -EIO as a correct address Thread-Index: AQHWsVVIPnKGd7dNBUSmPmr3Stqkv6m1bqTw Date: Mon, 2 Nov 2020 22:44:58 +0000 Message-ID: References: <1966437.kWHqOGhHGQ@alarsen.net> <20201102201536.1267680-1-ztong0001@gmail.com> In-Reply-To: <20201102201536.1267680-1-ztong0001@gmail.com> Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.202.205.107] MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=C51A453 smtp.mailfrom=david.laight@aculab.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: aculab.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Tong Zhang > Sent: 02 November 2020 20:16 > > qnx4_block_map() may return -EIO on funny qnx4 fs image, in this case do > not interpret -EIO as a correct address 'Block number' not 'address'. > Signed-off-by: Tong Zhang > --- > v2: also check other callers according to Anders Larsen's comment > fs/qnx4/dir.c | 2 ++ > fs/qnx4/inode.c | 2 ++ > fs/qnx4/namei.c | 3 +++ > 3 files changed, 7 insertions(+) > > diff --git a/fs/qnx4/dir.c b/fs/qnx4/dir.c > index a6ee23aadd28..11aaf59f0411 100644 > --- a/fs/qnx4/dir.c > +++ b/fs/qnx4/dir.c > @@ -31,6 +31,8 @@ static int qnx4_readdir(struct file *file, struct dir_context *ctx) > > while (ctx->pos < inode->i_size) { > blknum = qnx4_block_map(inode, ctx->pos >> QNX4_BLOCK_SIZE_BITS); > + if (blknum == -EIO) > + return -EIO; Since 'blknum' is 'unsigned long' doesn't this generate a compiler warning about the condition being always false? (C requires the -EIO be converted to the equivalent unsigned bit-pattern - but that doesn't stop the compiler deciding it is dubious.) If it doesn't this week, it might next week. What about other error codes that might get returned. Someone seeing that EIO is valid might decide an other error can be returned. You probably ought to allow for all errno values or use ~0ull as an error value. David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)