additional gfs2 fix for 6.16

- Fix a NULL pointer dereference reported by syzbot.
 -----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCAAyFiEEJZs3krPW0xkhLMTc1b+f6wMTZToFAmg9zHEUHGFncnVlbmJh
 QHJlZGhhdC5jb20ACgkQ1b+f6wMTZTpXDw//XdBZdbpdkw9LVE/tKruxeWJa8cYI
 zj/E5Ng6NfJ3aGtBuKVISsATqhpG7DiwCEj21/cwmKedbtk+qnWwRfk8/QkNlIfM
 yqAVsvYV84yGrthFgnqyukL53ljykiA8BXJZM9lpMKPM2OS7KIg21rQHYtUfkk3E
 BwRf49QTcmL3Uc5o8nfqWC7+TCYrTgEhzQklvv5jEuaE88w2197M0xvIECZX2mYB
 alOX34miTAE7Dp49n7GJ2neWdYeCchiRBS+LwFLXZ7j9INO8oW5LKIYPoGEjTMU0
 DoNfL6WvPpDJLNFuT8ktI0Q7FtYQyjn6eXVJG17bwytWEurp/kV5MD83jBlVO4zH
 sQ7qoAhII9v8sLlgGzwawcA8jtytinqqYS4MKqN+XJlISSyIxYC3pnK7/P/ZMzwo
 Haarin2fc/zamUIrOoxD9YvkknIbhoM0Z8a0WbaYBcrIq8mOjJpI9BrfKagS+fRV
 5lz+TFsdHb2XB6S+EK3VzRCgHXVD/Rx73RRsRuiLrk4zJwTeK+NXV/UWNnZXTP2T
 MB1ad0Ve+Uj6cREWOhKR8ugjywnzP5FoIefFWV67HxzwqQVuubjxoq1RW0EojlC8
 UNhkRZHLguaT+WZ7X7rCWfTgnx2HKosOduMp7E4i3Uv9ewwOl/RLbVdU4C1GtW/B
 RyaYT9t5R0S981Q=
 =nIQw
 -----END PGP SIGNATURE-----

Merge tag 'gfs2-for-6.16-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2

Pull gfs2 fix from Andreas Gruenbacher:

 - Fix a NULL pointer dereference reported by syzbot

* tag 'gfs2-for-6.16-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
  gfs2: Don't clear sb->s_fs_info in gfs2_sys_fs_add
This commit is contained in:
Linus Torvalds 2025-06-02 15:53:43 -07:00
commit fe4281644c
2 changed files with 3 additions and 2 deletions

View File

@ -64,7 +64,10 @@ static void gfs2_tune_init(struct gfs2_tune *gt)
void free_sbd(struct gfs2_sbd *sdp) void free_sbd(struct gfs2_sbd *sdp)
{ {
struct super_block *sb = sdp->sd_vfs;
free_percpu(sdp->sd_lkstats); free_percpu(sdp->sd_lkstats);
sb->s_fs_info = NULL;
kfree(sdp); kfree(sdp);
} }
@ -1314,7 +1317,6 @@ static int gfs2_fill_super(struct super_block *sb, struct fs_context *fc)
iput(sdp->sd_inode); iput(sdp->sd_inode);
fail_free: fail_free:
free_sbd(sdp); free_sbd(sdp);
sb->s_fs_info = NULL;
return error; return error;
} }

View File

@ -764,7 +764,6 @@ int gfs2_sys_fs_add(struct gfs2_sbd *sdp)
fs_err(sdp, "error %d adding sysfs files\n", error); fs_err(sdp, "error %d adding sysfs files\n", error);
kobject_put(&sdp->sd_kobj); kobject_put(&sdp->sd_kobj);
wait_for_completion(&sdp->sd_kobj_unregister); wait_for_completion(&sdp->sd_kobj_unregister);
sb->s_fs_info = NULL;
return error; return error;
} }