| Submitter | srimugunthan dhandapani |
|---|---|
| Date | Aug. 26, 2011, 10:38 a.m. |
| Message ID | <CAMjNe_fj+FQSV9fX-sjh3hdW-CTNaqwmnS+36if6NcvLtpxOKw@mail.gmail.com> |
| Download | mbox | patch |
| Permalink | /patch/111743/ |
| State | New |
| Headers | show |
Comments
On Fri, 2011-08-26 at 16:08 +0530, srimugunthan dhandapani wrote: > hi, > The dark space calculation should be 64 bit type-casted ,when > assigning to tmp64( similar to how total_free is calculated). > Overflow will occur for very large flashes. The patch did not apply to the latest UBIFS, but I have amended it. Pushed to ubifs-2.6.git, thanks!
Patch
diff --git a/fs/ubifs/sb.c b/fs/ubifs/sb.c index 93d938a..6094c5a 100644 --- a/fs/ubifs/sb.c +++ b/fs/ubifs/sb.c @@ -247,7 +247,7 @@ static int create_default_filesystem(struct ubifs_info *c) mst->total_dirty = cpu_to_le64(tmp64); /* The indexing LEB does not contribute to dark space */ - tmp64 = (c->main_lebs - 1) * c->dark_wm; + tmp64 = ((long long)(c->main_lebs - 1) * c->dark_wm); mst->total_dark = cpu_to_le64(tmp64); mst->total_used = cpu_to_le64(UBIFS_INO_NODE_SZ);
hi, The dark space calculation should be 64 bit type-casted ,when assigning to tmp64( similar to how total_free is calculated). Overflow will occur for very large flashes. Signed-off-by: srimugunthan <srimugunthan.dhandapani@gmail.com> --- --