All of lore.kernel.org
 help / color / mirror / Atom feed
From: Coly Li <colyli@suse.de>
To: linux-bcache@vger.kernel.org
Cc: linux-block@vger.kernel.org, Coly Li <colyli@suse.de>
Subject: [PATCH 02/11] bcache: fix input overflow to sequential_cutoff
Date: Sun, 23 Dec 2018 19:09:28 +0800	[thread overview]
Message-ID: <20181223110937.11559-3-colyli@suse.de> (raw)
In-Reply-To: <20181223110937.11559-1-colyli@suse.de>

People may set sequential_cutoff of a cached device via sysfs file,
but current code does not check input value overflow. E.g. if value
4294967295 (UINT_MAX) is written to file sequential_cutoff, its value
is 4GB, but if 4294967296 (UINT_MAX + 1) is written into, its value
will be 0. This is an unexpected behavior.

This patch replaces d_strtoi_h() by sysfs_strtoul_clamp() to convert
input string to unsigned integer value, and limit its range in
[0, UINT_MAX]. Then the input overflow can be fixed.

Signed-off-by: Coly Li <colyli@suse.de>
---
 drivers/md/bcache/sysfs.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/md/bcache/sysfs.c b/drivers/md/bcache/sysfs.c
index b7cbfeb63007..29564bcb76c3 100644
--- a/drivers/md/bcache/sysfs.c
+++ b/drivers/md/bcache/sysfs.c
@@ -310,7 +310,9 @@ STORE(__cached_dev)
 		dc->io_disable = v ? 1 : 0;
 	}
 
-	d_strtoi_h(sequential_cutoff);
+	sysfs_strtoul_clamp(sequential_cutoff,
+			    dc->sequential_cutoff,
+			    0, UINT_MAX);
 	d_strtoi_h(readahead);
 
 	if (attr == &sysfs_clear_stats)
-- 
2.16.4


  parent reply	other threads:[~2018-12-23 11:10 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-23 11:09 [PATCH 00/11] fixes for setting values via sysfs interface Coly Li
2018-12-23 11:09 ` [PATCH 01/11] bcache: fix input integer overflow of congested threshold Coly Li
2018-12-23 11:09 ` Coly Li [this message]
2018-12-23 11:09 ` [PATCH 03/11] bcache: add sysfs_strtoul_bool() for setting bit-field variables Coly Li
2018-12-23 11:09 ` [PATCH 04/11] bcache: use sysfs_strtoul_bool() to set " Coly Li
2018-12-23 11:09 ` [PATCH 05/11] bcache: fix input overflow to writeback_delay Coly Li
2018-12-23 11:09 ` [PATCH 06/11] bcache: fix potential div-zero error of writeback_rate_i_term_inverse Coly Li
2018-12-23 11:09 ` [PATCH 07/11] bcache: fix potential div-zero error of writeback_rate_p_term_inverse Coly Li
2018-12-23 11:09 ` [PATCH 08/11] bcache: fix input overflow to writeback_rate_minimum Coly Li
2018-12-23 11:09 ` [PATCH 09/11] bcache: fix input overflow to journal_delay_ms Coly Li
2018-12-23 11:09 ` [PATCH 10/11] bcache: fix input overflow to cache set io_error_limit Coly Li
2018-12-23 11:09 ` [PATCH 11/11] bcache: fix input overflow to cache set sysfs file io_error_halflife Coly Li

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181223110937.11559-3-colyli@suse.de \
    --to=colyli@suse.de \
    --cc=linux-bcache@vger.kernel.org \
    --cc=linux-block@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.