Re: [PATCH 133/190] Revert "net: qlogic: fix a potential NULL pointer dereference"

Greg Kroah-Hartman
2021-04-27T18:21:55Z

On Wed, Apr 21, 2021 at 03:00:08PM +0200, Greg Kroah-Hartman wrote:
> This reverts commit eb32cfcdef2305dc0e44a65d42801315669bb27e.
>
> Commits from @umn.edu addresses have been found to be submitted in "bad
> faith" to try to test the kernel community's ability to review "known
> malicious" changes. The result of these submissions can be found in a
> paper published at the 42nd IEEE Symposium on Security and Privacy
> entitled, "Open Source Insecurity: Stealthily Introducing
> Vulnerabilities via Hypocrite Commits" written by Qiushi Wu (University
> of Minnesota) and Kangjie Lu (University of Minnesota).
>
> Because of this, all submissions from this group must be reverted from
> the kernel tree and will need to be re-reviewed again to determine if
> they actually are a valid fix. Until that work is complete, remove this
> change to ensure that no problems are being introduced into the
> codebase.
>
> Cc: Kangjie Lu <kjlu@umn.edu>
> Cc: David S. Miller <davem@davemloft.net>
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> ---
> drivers/net/ethernet/qlogic/qla3xxx.c | 6 ------
> 1 file changed, 6 deletions(-)
>
> diff --git a/drivers/net/ethernet/qlogic/qla3xxx.c b/drivers/net/ethernet/qlogic/qla3xxx.c
> index 214e347097a7..50dbb8205e6c 100644
> --- a/drivers/net/ethernet/qlogic/qla3xxx.c
> +++ b/drivers/net/ethernet/qlogic/qla3xxx.c
> @@ -3863,12 +3863,6 @@ static int ql3xxx_probe(struct pci_dev *pdev,
> netif_stop_queue(ndev);
>
> qdev->workqueue = create_singlethread_workqueue(ndev->name);
> - if (!qdev->workqueue) {
> - unregister_netdev(ndev);
> - err = -ENOMEM;
> - goto err_out_iounmap;
> - }
> -
> INIT_DELAYED_WORK(&qdev->reset_work, ql_reset_work);
> INIT_DELAYED_WORK(&qdev->tx_timeout_work, ql_tx_timeout_work);
> INIT_DELAYED_WORK(&qdev->link_state_work, ql_link_state_machine_work);
> --
> 2.31.1
>

Ideally you would have added a new goto tag and put the
unregister_netdev() call in that, but the logic here still seems to be
correct, so I'll drop this revert.

greg k-h