From mboxrd@z Thu Jan 1 00:00:00 1970 From: Markus Elfring Date: Fri, 10 Jul 2020 06:32:33 +0000 Subject: Re: [PATCH] scsi: virtio_scsi: Remove unnecessary condition checks Message-Id: <8eb9a827-45f1-e71c-0cbf-1c29acd8e310@web.de> List-Id: References: In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit To: Paolo Bonzini , Xianting Tian , linux-scsi@vger.kernel.org, virtualization@lists.linux-foundation.org Cc: kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org, "James E. J. Bottomley" , Jason Wang , "Martin K. Petersen" , "Michael S. Tsirkin" , Stefan Hajnoczi >>> + mempool_destroy(virtscsi_cmd_pool); >>> + virtscsi_cmd_pool = NULL; >>> + kmem_cache_destroy(virtscsi_cmd_cache); >>> + virtscsi_cmd_cache = NULL; >>> return ret; >>> } >> >> How do you think about to add a jump target so that the execution >> of a few statements can be avoided according to a previous >> null pointer check? > > The point of the patch is precisely to simplify the code, I suggest to reconsider also Linux coding style aspects for the implementation of the function “init”. https://elixir.bootlin.com/linux/v5.8-rc4/source/drivers/scsi/virtio_scsi.c#L980 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/scsi/virtio_scsi.c?id=42f82040ee66db13525dc6f14b8559890b2f4c1c#n980 if (!virtscsi_cmd_cache) { pr_err("kmem_cache_create() for virtscsi_cmd_cache failed\n"); - goto error; + return -ENOMEM; } See also: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/coding-style.rst?id=42f82040ee66db13525dc6f14b8559890b2f4c1c#n461 > executing a couple more instruction is not an issue. With which update steps would like to achieve such a code variant? destroy_pool: mempool_destroy(virtscsi_cmd_pool); virtscsi_cmd_pool = NULL; destroy_cache: kmem_cache_destroy(virtscsi_cmd_cache); virtscsi_cmd_cache = NULL; return ret; Regards, Markus