From: Immad Mir <[email protected]>
This patch adds a check for read-only mounted filesystem
in txBegin before starting a transaction potentially saving
from NULL pointer deref.
Signed-off-by: Immad Mir <[email protected]>
---
fs/jfs/jfs_txnmgr.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/fs/jfs/jfs_txnmgr.c b/fs/jfs/jfs_txnmgr.c
index ffd4feece..87dc4e3a4 100644
--- a/fs/jfs/jfs_txnmgr.c
+++ b/fs/jfs/jfs_txnmgr.c
@@ -353,7 +353,10 @@ tid_t txBegin(struct super_block *sb, int flag)
jfs_info("txBegin: flag = 0x%x", flag);
log = JFS_SBI(sb)->log;
-
+ if (!log) {
+ jfs_error(sb, "read-only filesystem\n");
+ return 0;
+ }
TXN_LOCK();
INCREMENT(TxStat.txBegin);
--
2.40.0
On 6/23/23 8:47AM, [email protected] wrote:
> From: Immad Mir <[email protected]>
>
> This patch adds a check for read-only mounted filesystem
> in txBegin before starting a transaction potentially saving
> from NULL pointer deref.
Thanks. I like this. Not much else we can do since none of the callers
anticipate an error. I'll push it to jfs-next.
Shaggy
>
> Signed-off-by: Immad Mir <[email protected]>
> ---
> fs/jfs/jfs_txnmgr.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/fs/jfs/jfs_txnmgr.c b/fs/jfs/jfs_txnmgr.c
> index ffd4feece..87dc4e3a4 100644
> --- a/fs/jfs/jfs_txnmgr.c
> +++ b/fs/jfs/jfs_txnmgr.c
> @@ -353,7 +353,10 @@ tid_t txBegin(struct super_block *sb, int flag)
>
> jfs_info("txBegin: flag = 0x%x", flag);
> log = JFS_SBI(sb)->log;
> -
> + if (!log) {
> + jfs_error(sb, "read-only filesystem\n");
> + return 0;
> + }
> TXN_LOCK();
>
> INCREMENT(TxStat.txBegin);