Message ID | 20211013083005.GA8592@kili (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | scsi: mpi3mr: use scnprintf() instead of snprintf() | expand |
Dan, > I intended to move from snprintf() to scnprintf() in the previous > patch but I messed up and did not do that. The result of my bug is > that it this function could trigger a WARN() if the buffer is too > large. Applied to 5.16/scsi-staging, thanks!
On Wed, 13 Oct 2021 11:30:05 +0300, Dan Carpenter wrote: > I intended to move from snprintf() to scnprintf() in the previous > patch but I messed up and did not do that. The result of my bug is > that it this function could trigger a WARN() if the buffer is too > large. > > Applied to 5.16/scsi-queue, thanks! [1/1] scsi: mpi3mr: use scnprintf() instead of snprintf() https://git.kernel.org/mkp/scsi/c/30e99f05f8b1
diff --git a/drivers/scsi/mpi3mr/mpi3mr_fw.c b/drivers/scsi/mpi3mr/mpi3mr_fw.c index e34417a2429a..aa5d877df6f8 100644 --- a/drivers/scsi/mpi3mr/mpi3mr_fw.c +++ b/drivers/scsi/mpi3mr/mpi3mr_fw.c @@ -3045,7 +3045,7 @@ mpi3mr_print_ioc_info(struct mpi3mr_ioc *mrioc) for (i = 0; i < ARRAY_SIZE(mpi3mr_protocols); i++) { if (mrioc->facts.protocol_flags & mpi3mr_protocols[i].protocol) { - bytes_written += snprintf(protocol + bytes_written, + bytes_written += scnprintf(protocol + bytes_written, sizeof(protocol) - bytes_written, "%s%s", bytes_written ? "," : "", mpi3mr_protocols[i].name); @@ -3056,7 +3056,7 @@ mpi3mr_print_ioc_info(struct mpi3mr_ioc *mrioc) for (i = 0; i < ARRAY_SIZE(mpi3mr_capabilities); i++) { if (mrioc->facts.protocol_flags & mpi3mr_capabilities[i].capability) { - bytes_written += snprintf(capabilities + bytes_written, + bytes_written += scnprintf(capabilities + bytes_written, sizeof(capabilities) - bytes_written, "%s%s", bytes_written ? "," : "", mpi3mr_capabilities[i].name);
I intended to move from snprintf() to scnprintf() in the previous patch but I messed up and did not do that. The result of my bug is that it this function could trigger a WARN() if the buffer is too large. Fixes: 76a4f7cc5973 ("scsi: mpi3mr: Clean up mpi3mr_print_ioc_info()") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> --- drivers/scsi/mpi3mr/mpi3mr_fw.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)