From: Nageswara R Sastry <rnsastry@linux.vnet.ibm.com>
To: linux-ext4 <linux-ext4@vger.kernel.org>
Cc: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com>,
sachin p sant <sachinp@linux.vnet.ibm.com>,
Ramon <rcvalle@linux.vnet.ibm.com>, Theodore Tso <tytso@mit.edu>,
aneesh.kumar@in.ibm.com
Subject: Re: [OOPs] ext4: fixpoint divide exception at ext4_fill_super+0x141c/0x2908
Date: Wed, 04 Nov 2009 19:24:04 +0530 [thread overview]
Message-ID: <4AF1877C.7010606@linux.vnet.ibm.com> (raw)
In-Reply-To: <4AF17638.7010105@linux.vnet.ibm.com>
[-- Attachment #1: Type: text/plain, Size: 526 bytes --]
Seems to be I have a little format related issue with the patch. So
resending it. Please accept my apologies.
Sachin thanks for letting me know.
> > ------------[ cut here ]------------
> > Kernel BUG at 000003e00429d934 [verbose debug info unavailable]
> > fixpoint divide exception: 0009 [#1] SMP
>
> Please find the patch which solves the following 'fixpoint divide
> exception'. I tested the same and not seeing any KERNEL BUG/exception.
>
> I created the patch from 2.6.32-rc6 code.
Regards
R.Nageswara Sastry
[-- Attachment #2: ext4_fix_point_division_error.patch --]
[-- Type: text/plain, Size: 1087 bytes --]
Though the 'sbi->s_log_groups_per_flex' contains valid data after the shift operation
'groups_per_flex' is becoming zero, which later used as a divisor.
groups_per_flex = 1 << sbi->s_log_groups_per_flex
Signed-off-by: Nageswara R Sastry <rnsastry@linux.vnet.ibm.com>
---
diff -Naurp a/linux-2.6.32-rc6/fs/ext4/super.c b/linux-2.6.32-rc6/fs/ext4/super.c
--- a/linux-2.6.32-rc6/fs/ext4/super.c 2009-11-03 20:37:49.000000000 +0100
+++ b/linux-2.6.32-rc6/fs/ext4/super.c 2009-11-04 13:21:48.000000000 +0100
@@ -1681,6 +1681,12 @@ static int ext4_fill_flex_info(struct su
sbi->s_log_groups_per_flex = sbi->s_es->s_log_groups_per_flex;
groups_per_flex = 1 << sbi->s_log_groups_per_flex;
+ /* There are some situations, after shift the value of 'groups_per_flex'
+ can become zero and division with 0 will result in fixpoint divide exception
+ */
+ if (groups_per_flex == 0)
+ return 1;
+
/* We allocate both existing and potentially added groups */
flex_group_count = ((sbi->s_groups_count + groups_per_flex - 1) +
((le16_to_cpu(sbi->s_es->s_reserved_gdt_blocks) + 1) <<
next prev parent reply other threads:[~2009-11-04 13:54 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-25 5:39 [OOPs] ext4: fixpoint divide exception at ext4_fill_super+0x141c/0x2908 Nageswara R Sastry
2009-11-04 12:40 ` Nageswara R Sastry
2009-11-04 13:54 ` Nageswara R Sastry [this message]
2009-11-06 19:48 ` Theodore Tso
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4AF1877C.7010606@linux.vnet.ibm.com \
--to=rnsastry@linux.vnet.ibm.com \
--cc=aneesh.kumar@in.ibm.com \
--cc=kamalesh@linux.vnet.ibm.com \
--cc=linux-ext4@vger.kernel.org \
--cc=rcvalle@linux.vnet.ibm.com \
--cc=sachinp@linux.vnet.ibm.com \
--cc=tytso@mit.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.