[PATCH] Fixed null-ptr-deref Read in drop_buffers

From: Saru2003
Date: Thu Nov 07 2024 - 21:37:38 EST


Signed-off-by: Saru2003 <sarvesh20123@xxxxxxxxx>
---
fs/buffer.c | 9 +++++++++
1 file changed, 9 insertions(+)

diff --git a/fs/buffer.c b/fs/buffer.c
index 1fc9a50def0b..e32420d8b9e3 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -2888,14 +2888,23 @@ drop_buffers(struct folio *folio, struct buffer_head **buffers_to_free)
struct buffer_head *head = folio_buffers(folio);
struct buffer_head *bh;

+ if (!head) {
+ goto failed;
+ }
+
bh = head;
do {
+ if (!bh)
+ goto failed;
if (buffer_busy(bh))
goto failed;
bh = bh->b_this_page;
} while (bh != head);

do {
+ if (!bh)
+ goto failed;
+
struct buffer_head *next = bh->b_this_page;

if (bh->b_assoc_map)
--
2.43.0