Commit 143ddde
committed
dm-integrity: Avoid divide by zero in table status in Inline mode
JIRA: https://issues.redhat.com/browse/RHEL-84777
Upstream Status: kernel/git/torvalds/linux.git
commit 7fb3988
Author: Milan Broz <gmazyland@gmail.com>
Date: Sun Feb 16 11:42:09 2025 +0100
dm-integrity: Avoid divide by zero in table status in Inline mode
In Inline mode, the journal is unused, and journal_sectors is zero.
Calculating the journal watermark requires dividing by journal_sectors,
which should be done only if the journal is configured.
Otherwise, a simple table query (dmsetup table) can cause OOPS.
This bug did not show on some systems, perhaps only due to
compiler optimization.
On my 32-bit testing machine, this reliably crashes with the following:
: Oops: divide error: 0000 [#1] PREEMPT SMP
: CPU: 0 UID: 0 PID: 2450 Comm: dmsetup Not tainted 6.14.0-rc2+ #959
: EIP: dm_integrity_status+0x2f8/0xab0 [dm_integrity]
...
Signed-off-by: Milan Broz <gmazyland@gmail.com>
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Fixes: fb09876 ("dm-integrity: introduce the Inline mode")
Cc: stable@vger.kernel.org # 6.11+
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>1 parent 29e7721 commit 143ddde
1 file changed
+4
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3790 | 3790 | | |
3791 | 3791 | | |
3792 | 3792 | | |
3793 | | - | |
3794 | | - | |
3795 | | - | |
3796 | | - | |
3797 | 3793 | | |
3798 | 3794 | | |
3799 | 3795 | | |
| |||
3826 | 3822 | | |
3827 | 3823 | | |
3828 | 3824 | | |
| 3825 | + | |
| 3826 | + | |
| 3827 | + | |
| 3828 | + | |
3829 | 3829 | | |
3830 | 3830 | | |
3831 | 3831 | | |
| |||
0 commit comments