diff mbox series

mm: vmscan: fix get_swappiness() return value type

Message ID 20230907044045.709-1-justinjiang@vivo.com (mailing list archive)
State New
Headers show
Series mm: vmscan: fix get_swappiness() return value type | expand

Commit Message

zhiguojiang Sept. 7, 2023, 4:40 a.m. UTC
Fix bool to int of the get_swappiness() return value type in
lruvec_is_sizable().

The get_swappiness() return value type is int, but the
get_swappiness() return value type is bool in lruvec_is_sizable().
So there is a possibility of value overflow.

Signed-off-by: Zhiguo Jiang <justinjiang@vivo.com>
---
 mm/vmscan.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
 mode change 100644 => 100755 mm/vmscan.c

Comments

Matthew Wilcox (Oracle) Sept. 7, 2023, 4:50 a.m. UTC | #1
On Thu, Sep 07, 2023 at 12:40:45PM +0800, Zhiguo Jiang wrote:
> Fix bool to int of the get_swappiness() return value type in
> lruvec_is_sizable().
> 
> The get_swappiness() return value type is int, but the
> get_swappiness() return value type is bool in lruvec_is_sizable().
> So there is a possibility of value overflow.

Have you looked at how the C spec defines int->bool conversion?
diff mbox series

Patch

diff --git a/mm/vmscan.c b/mm/vmscan.c
index ea57a43ebd6b..f383e5b14598
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -4575,7 +4575,7 @@  static bool lruvec_is_sizable(struct lruvec *lruvec, struct scan_control *sc)
 {
 	int gen, type, zone;
 	unsigned long total = 0;
-	bool can_swap = get_swappiness(lruvec, sc);
+	int can_swap = get_swappiness(lruvec, sc);
 	struct lru_gen_folio *lrugen = &lruvec->lrugen;
 	struct mem_cgroup *memcg = lruvec_memcg(lruvec);
 	DEFINE_MAX_SEQ(lruvec);