From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751902AbbAVLbz (ORCPT ); Thu, 22 Jan 2015 06:31:55 -0500 Received: from smtp.infotech.no ([82.134.31.41]:50117 "EHLO smtp.infotech.no" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750915AbbAVLbx (ORCPT ); Thu, 22 Jan 2015 06:31:53 -0500 Message-ID: <54C0DF95.8000103@interlog.com> Date: Thu, 22 Jan 2015 12:31:33 +0100 From: Douglas Gilbert Reply-To: dgilbert@interlog.com User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: Colin King , "James E.J. Bottomley" , linux-scsi@vger.kernel.org CC: linux-kernel@vger.kernel.org Subject: Re: [PATCH] scsi_debug: test always evaluates to false, || should be used instead References: <1421925640-9894-1-git-send-email-colin.king@canonical.com> In-Reply-To: <1421925640-9894-1-git-send-email-colin.king@canonical.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 15-01-22 12:20 PM, Colin King wrote: > From: Colin Ian King > > cppcheck found the following issue: > (warning) Logical conjunction always evaluates to false: > alloc_len < 4 && alloc_len > 65535. > > ..the test should be instead: > > if (alloc_len < 4 || alloc_len > 65536) > > This error was introduced by recent commit 38d5c8336e60bf6e53a1da9 > ("scsi_debug: add Report supported opcodes+tmfs; Compare and write") > > Signed-off-by: Colin Ian King > --- > drivers/scsi/scsi_debug.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c > index 7b8b51b..63a2e1f 100644 > --- a/drivers/scsi/scsi_debug.c > +++ b/drivers/scsi/scsi_debug.c > @@ -1623,7 +1623,7 @@ resp_rsup_opcodes(struct scsi_cmnd *scp, struct sdebug_dev_info *devip) > req_opcode = cmd[3]; > req_sa = get_unaligned_be16(cmd + 4); > alloc_len = get_unaligned_be32(cmd + 6); > - if (alloc_len < 4 && alloc_len > 0xffff) { > + if (alloc_len < 4 || alloc_len > 0xffff) { > mk_sense_invalid_fld(scp, SDEB_IN_CDB, 6, -1); > return check_condition_result; > } > I have presented this fix twice already. Most recently in "[PATCH] [RESEND] scsi_debug: fix sanity check in resp_rsup_opcodes" 20150102. So one more time, with feeling: Acked-by: Douglas Gilbert