Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1222429 > unrolled thread
| Started by | Andrew Morton <akpm@linux-foundation.org> |
|---|---|
| First post | 2015-09-11 01:10 +0200 |
| Last post | 2015-09-14 11:20 +0200 |
| Articles | 6 — 4 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: [PATCH] lib/string_helpers.c: fix infinite loop in string_get_size() Andrew Morton <akpm@linux-foundation.org> - 2015-09-11 01:10 +0200
Re: [PATCH] lib/string_helpers.c: fix infinite loop in string_get_size() James Bottomley <jbottomley@odin.com> - 2015-09-11 20:40 +0200
Re: [PATCH] lib/string_helpers.c: fix infinite loop in string_get_size() Andy Shevchenko <andriy.shevchenko@linux.intel.com> - 2015-09-14 11:10 +0200
Re: [PATCH] lib/string_helpers.c: fix infinite loop in string_get_size() Vitaly Kuznetsov <vkuznets@redhat.com> - 2015-09-14 14:50 +0200
Re: [PATCH] lib/string_helpers.c: fix infinite loop in string_get_size() Andy Shevchenko <andriy.shevchenko@linux.intel.com> - 2015-09-14 16:40 +0200
Re: [PATCH] lib/string_helpers.c: fix infinite loop in string_get_size() Vitaly Kuznetsov <vkuznets@redhat.com> - 2015-09-14 11:20 +0200
| From | Andrew Morton <akpm@linux-foundation.org> |
|---|---|
| Date | 2015-09-11 01:10 +0200 |
| Subject | Re: [PATCH] lib/string_helpers.c: fix infinite loop in string_get_size() |
| Message-ID | <q7j8C-7FT-13@gated-at.bofh.it> |
On Fri, 4 Sep 2015 14:56:33 +0200 Vitaly Kuznetsov <vkuznets@redhat.com> wrote: > string_get_size(1, 512, 0, ..., ...) call results in an infinite loop. The > problem is that if size == 0 when we start calculating sf_cap this loop > will never end. > > The caller causing the issue is sd_read_capacity(), the problem was noticed > on Hyper-V. When fixing bugs, please provide enough info for others to be able to understand which kernel version(s) need the fix. In this case: what end-user action triggers this bug? (iow, how does sdkp->capacity become zero?) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | James Bottomley <jbottomley@odin.com> |
|---|---|
| Date | 2015-09-11 20:40 +0200 |
| Message-ID | <q7BoS-1rn-19@gated-at.bofh.it> |
| In reply to | #1222429 |
[Multipart message — attachments visible in raw view] — view raw
On Thu, 2015-09-10 at 16:08 -0700, Andrew Morton wrote: > On Fri, 4 Sep 2015 14:56:33 +0200 Vitaly Kuznetsov <vkuznets@redhat.com> wrote: > > > string_get_size(1, 512, 0, ..., ...) call results in an infinite loop. The > > problem is that if size == 0 when we start calculating sf_cap this loop > > will never end. > > > > The caller causing the issue is sd_read_capacity(), the problem was noticed > > on Hyper-V. > > When fixing bugs, please provide enough info for others to be able to > understand which kernel version(s) need the fix. In this case: what > end-user action triggers this bug? (iow, how does sdkp->capacity > become zero?) Any more details. The attached programme, which is cut straight out of the algorithm in string_helpers.c and modified for a C environment slightly (only in do_div and the typedefs) produces this hello STRING IS 512 B With your input, so I don't think the problem is where you think it is. James
[toc] | [prev] | [next] | [standalone]
| From | Andy Shevchenko <andriy.shevchenko@linux.intel.com> |
|---|---|
| Date | 2015-09-14 11:10 +0200 |
| Message-ID | <q8xVW-1GG-49@gated-at.bofh.it> |
| In reply to | #1223033 |
On Fri, 2015-09-11 at 18:31 +0000, James Bottomley wrote: > On Thu, 2015-09-10 at 16:08 -0700, Andrew Morton wrote: > > On Fri, 4 Sep 2015 14:56:33 +0200 Vitaly Kuznetsov < > > vkuznets@redhat.com> wrote: > > > > > string_get_size(1, 512, 0, ..., ...) call results in an infinite > > > loop. The > > > problem is that if size == 0 when we start calculating sf_cap > > > this loop > > > will never end. > > > > > > The caller causing the issue is sd_read_capacity(), the problem > > > was noticed > > > on Hyper-V. > > > > When fixing bugs, please provide enough info for others to be able > > to > > understand which kernel version(s) need the fix. In this case: > > what > > end-user action triggers this bug? (iow, how does sdkp->capacity > > become zero?) > > Any more details. The attached programme, which is cut straight out > of > the algorithm in string_helpers.c and modified for a C environment > slightly (only in do_div and the typedefs) produces this > > hello > STRING IS 512 B > > With your input, so I don't think the problem is where you think it > is. > > James > Vitaly, it might make sense to extend test-string_helpers.c to what you are trying to do right. -- Andy Shevchenko <andriy.shevchenko@linux.intel.com> Intel Finland Oy -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Vitaly Kuznetsov <vkuznets@redhat.com> |
|---|---|
| Date | 2015-09-14 14:50 +0200 |
| Subject | Re: [PATCH] lib/string_helpers.c: fix infinite loop in string_get_size() |
| Message-ID | <q8BmO-6tb-23@gated-at.bofh.it> |
| In reply to | #1223956 |
Andy Shevchenko <andriy.shevchenko@linux.intel.com> writes: > On Fri, 2015-09-11 at 18:31 +0000, James Bottomley wrote: >> On Thu, 2015-09-10 at 16:08 -0700, Andrew Morton wrote: >> > On Fri, 4 Sep 2015 14:56:33 +0200 Vitaly Kuznetsov < >> > vkuznets@redhat.com> wrote: >> > >> > > string_get_size(1, 512, 0, ..., ...) call results in an infinite >> > > loop. The >> > > problem is that if size == 0 when we start calculating sf_cap >> > > this loop >> > > will never end. >> > > >> > > The caller causing the issue is sd_read_capacity(), the problem >> > > was noticed >> > > on Hyper-V. >> > >> > When fixing bugs, please provide enough info for others to be able >> > to >> > understand which kernel version(s) need the fix. In this case: >> > what >> > end-user action triggers this bug? (iow, how does sdkp->capacity >> > become zero?) >> >> Any more details. The attached programme, which is cut straight out >> of >> the algorithm in string_helpers.c and modified for a C environment >> slightly (only in do_div and the typedefs) produces this >> >> hello >> STRING IS 512 B >> >> With your input, so I don't think the problem is where you think it >> is. >> >> James >> > > Vitaly, it might make sense to extend test-string_helpers.c to what you > are trying to do right. The issue is that string_get_size() enters an infinite loop on some inputs so if we add a test for such inputs we'll hang our kernel... -- Vitaly -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Andy Shevchenko <andriy.shevchenko@linux.intel.com> |
|---|---|
| Date | 2015-09-14 16:40 +0200 |
| Message-ID | <q8D5h-xQ-35@gated-at.bofh.it> |
| In reply to | #1224107 |
On Mon, 2015-09-14 at 14:43 +0200, Vitaly Kuznetsov wrote: > Andy Shevchenko <andriy.shevchenko@linux.intel.com> writes: > > > On Fri, 2015-09-11 at 18:31 +0000, James Bottomley wrote: > > > On Thu, 2015-09-10 at 16:08 -0700, Andrew Morton wrote: > > > > On Fri, 4 Sep 2015 14:56:33 +0200 Vitaly Kuznetsov < > > > > vkuznets@redhat.com> wrote: > > > > > > > > > string_get_size(1, 512, 0, ..., ...) call results in an > > > > > infinite > > > > > loop. The > > > > > problem is that if size == 0 when we start calculating sf_cap > > > > > > > > > > this loop > > > > > will never end. > > > > > > > > > > The caller causing the issue is sd_read_capacity(), the > > > > > problem > > > > > was noticed > > > > > on Hyper-V. > > > > > > > > When fixing bugs, please provide enough info for others to be > > > > able > > > > to > > > > understand which kernel version(s) need the fix. In this case: > > > > > > > > what > > > > end-user action triggers this bug? (iow, how does sdkp > > > > ->capacity > > > > become zero?) > > > > > > Any more details. The attached programme, which is cut straight > > > out > > > of > > > the algorithm in string_helpers.c and modified for a C > > > environment > > > slightly (only in do_div and the typedefs) produces this > > > > > > hello > > > STRING IS 512 B > > > > > > With your input, so I don't think the problem is where you think > > > it > > > is. > > > > > > James > > > > > > > Vitaly, it might make sense to extend test-string_helpers.c to what > > you > > are trying to do right. > > The issue is that string_get_size() enters an infinite loop on some > inputs so if we add a test for such inputs we'll hang our kernel... > I didn't see a problem to add this test case. Since test module is dedicated for that (tests). -- Andy Shevchenko <andriy.shevchenko@linux.intel.com> Intel Finland Oy -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Vitaly Kuznetsov <vkuznets@redhat.com> |
|---|---|
| Date | 2015-09-14 11:20 +0200 |
| Subject | Re: [PATCH] lib/string_helpers.c: fix infinite loop in string_get_size() |
| Message-ID | <q8y5B-1Tq-31@gated-at.bofh.it> |
| In reply to | #1223033 |
James Bottomley <jbottomley@odin.com> writes: > On Thu, 2015-09-10 at 16:08 -0700, Andrew Morton wrote: >> On Fri, 4 Sep 2015 14:56:33 +0200 Vitaly Kuznetsov <vkuznets@redhat.com> wrote: >> >> > string_get_size(1, 512, 0, ..., ...) call results in an infinite loop. The >> > problem is that if size == 0 when we start calculating sf_cap this loop >> > will never end. >> > >> > The caller causing the issue is sd_read_capacity(), the problem was noticed >> > on Hyper-V. >> >> When fixing bugs, please provide enough info for others to be able to >> understand which kernel version(s) need the fix. In this case: what >> end-user action triggers this bug? (iow, how does sdkp->capacity >> become zero?) > > Any more details. The attached programme, which is cut straight out of > the algorithm in string_helpers.c and modified for a C environment > slightly (only in do_div and the typedefs) produces this > > hello > STRING IS 512 B > > With your input, so I don't think the problem is where you think it > is. Sorry for delayed reply, I was traveling. Please change string_get_size(1, 512, STRING_UNITS_2, buf, sizeof(buf)); to string_get_size(1, 512, STRING_UNITS_10, buf, sizeof(buf)); in your test.c program to see the issue, it will enter the infinite loop as well. Regardless to Hyper-V I think such library function shouldn't do such nasty things (but I'll try to investigate why such small size was reported). -- Vitaly -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web