Received: by 2002:a05:6a10:a841:0:0:0:0 with SMTP id d1csp630pxy; Tue, 20 Apr 2021 11:02:37 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz7++nAihXVISLTgjDZn90MXgOjiGIYogZQx0Dbe++qo/rwGMqrtWxK3x8CcQNPSbSj8Eeq X-Received: by 2002:a63:d942:: with SMTP id e2mr13210887pgj.117.1618941757030; Tue, 20 Apr 2021 11:02:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618941757; cv=none; d=google.com; s=arc-20160816; b=bBF2EinWFqgBdKmSC4UUlwWE8U99oJ+sUr+JjTXJCyNKZumb/e5XR0RaRkbImPX/px OeZVD7KKlC3qBNb5uRuzXiVlA1nspafxwTvXJJNdzZhKs7frBRIIhLWeIjvbNZe9Plgq YoTDqK899DGdW+CIB3P1ojQawliFHT++CkFXnQm+1dnFcAYyA7SPHIfzv2QUMOVcS78C 5MFwVL8OS64XmRhDDKBr+8bnz14rBhSqO9m9Ac2zipr8AZz/6GF703vPY7h+d/EFquJ6 JI9E+pwzq5msi7dw2vHijB+sPs9SNHAlpUOYObng97c+tIq4meRfHOqLa55zGsPIy2h1 zLJg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:user-agent:message-id:subject:cc:to :from:date; bh=t+cEfLNh/cJRDl05ZjuPSMNP6/23yDgARb0kJxu76BI=; b=nZsecf13x+kMt8iBv4mQIZJJeIfy+MHiefsd+y+7b9J86ciRHqFKIIjSbnFxt1/+iq X1GAedqb5g1fgyd3ObYUHOcVIGJvNeJfSGZHZnggsaN5lnLyfiYb+XpEk/8gIvc1uyd+ +mWQ31gLxR12gh7zpoWpy39gyFALPmY4+oOxKDZWjSrIBSrXgXf1FSLZjFJ1f4xwtH/c piJTAmN9xgBtlKGKiiK/u53Sfwfjherw8ZCJLCNcg4iBbGlH1oclCZPEMr2QRCGolpLr 1F5U+1stLIlE36XHy4fyMWzoT4XsAb9qowIHboe2ER2VV7yQFn9AuaaGXJoSrlePLiwZ +dTg== 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d9si3743677pjx.105.2021.04.20.11.02.23; Tue, 20 Apr 2021 11:02:37 -0700 (PDT) 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233473AbhDTSCP (ORCPT + 99 others); Tue, 20 Apr 2021 14:02:15 -0400 Received: from angie.orcam.me.uk ([157.25.102.26]:39210 "EHLO angie.orcam.me.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231549AbhDTSCP (ORCPT ); Tue, 20 Apr 2021 14:02:15 -0400 Received: by angie.orcam.me.uk (Postfix, from userid 500) id 2A6F992009C; Tue, 20 Apr 2021 20:01:42 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by angie.orcam.me.uk (Postfix) with ESMTP id 2786292009B; Tue, 20 Apr 2021 20:01:42 +0200 (CEST) Date: Tue, 20 Apr 2021 20:01:42 +0200 (CEST) From: "Maciej W. Rozycki" To: Khalid Aziz , "James E.J. Bottomley" , "Martin K. Petersen" cc: Christoph Hellwig , linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 0/5] Bring the BusLogic host bus adapter driver up to Y2021 Message-ID: User-Agent: Alpine 2.21 (DEB 202 2017-01-01) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, This is v2 of the series with 2/5 updated to use `vscnprintf' rather than `vsnprintf'. No other changes. So we are here owing to Christoph's recent ISA bounce buffering sweep: which has prompted me to verify the current version of Linux with my old server, which has been long equipped with venerable Linux 2.6.18 and which I now have available for general experimenting, and the BusLogic BT-958 PCI SCSI host bus adapter the server has used for 20-something years now. This revealed numerous issues with the BusLogic driver. Firstly (1/5) it has suffered from some bitrot and messages produced have become messy from the lack of update for proper `pr_cont' support. Secondly (2/5) there has been a potential buffer overrun/stack corruption security issue from using an unbounded `vsprintf' call. Thirdly (3/5) it has become obvious the BusLogic driver would have been non-functional, should I have upgraded the kernel, at least with this configuration for some 8 years now, and the underlying cause has been a long-known issue with the MultiMaster firmware I have dealt with already, back in 2003. To put it short the firmware cannot cope with commands that request an allocation length exceeding the length of actual data returned. I have originally observed it with a LOG SENSE command in the course of investigating why smartmontools bring the system to a death, and worked it around: by issuing the command twice, first just to obtain the allocation length required. As it turns out we need a similar workaround in the kernel now. But in the course of investigating this issue I have discovered there is a second bottom to it and hence I have prepared follow-up changes (4-5/5) to address problems with our handling of Vital Product Data INQUIRY pages. See individual change descriptions for further details. Questions, comments, concerns? Otherwise please apply. Maciej