Re: [PATCH v2] staging: erofs: keep corrupted fs from crashing kernel in erofs_namei()

2019-02-17 Thread Dan Carpenter
On Mon, Feb 18, 2019 at 10:41:36AM +0800, Chao Yu wrote: > On 2019/2/15 17:35, Dan Carpenter wrote: > > On Fri, Feb 15, 2019 at 05:32:33PM +0800, Chao Yu wrote: > >> On 2019/2/15 15:57, Dan Carpenter wrote: > >>> On Fri, Feb 15, 2019 at 03:02:25PM +0800, Chao Yu wrote: > On 2019/2/1 20:16,

Re: [PATCH v2] staging: erofs: keep corrupted fs from crashing kernel in erofs_namei()

2019-02-17 Thread Chao Yu
Hi Xiang, On 2019/2/18 10:17, Gao Xiang wrote: > Hi Chao, > > On 2019/2/18 9:39, Chao Yu wrote: >> If the image is corrupted, qn->name[i] may be anything, as you commented >> above DBG_BUGON(), we really don't need to go through any later codes, it >> can avoid potentially encoutnering wrong

Re: [PATCH v2] staging: erofs: keep corrupted fs from crashing kernel in erofs_namei()

2019-02-17 Thread Chao Yu
On 2019/2/15 17:35, Dan Carpenter wrote: > On Fri, Feb 15, 2019 at 05:32:33PM +0800, Chao Yu wrote: >> On 2019/2/15 15:57, Dan Carpenter wrote: >>> On Fri, Feb 15, 2019 at 03:02:25PM +0800, Chao Yu wrote: On 2019/2/1 20:16, Gao Xiang wrote: > + /* > + * on-disk error, let's only

Re: [PATCH v2] staging: erofs: keep corrupted fs from crashing kernel in erofs_namei()

2019-02-17 Thread Gao Xiang
Hi Chao, On 2019/2/18 9:39, Chao Yu wrote: > If the image is corrupted, qn->name[i] may be anything, as you commented > above DBG_BUGON(), we really don't need to go through any later codes, it > can avoid potentially encoutnering wrong condition. > > * otherwise, it will return 1 to just skip

Re: [PATCH v2] staging: erofs: keep corrupted fs from crashing kernel in erofs_namei()

2019-02-17 Thread Chao Yu
Hi xiang, On 2019/2/15 16:58, Gao Xiang wrote: > Hi Chao, > > On 2019/2/15 15:02, Chao Yu wrote: >> On 2019/2/1 20:16, Gao Xiang wrote: >>> As Al pointed out, " >>> ... and while we are at it, what happens to >>> unsigned int nameoff = le16_to_cpu(de[mid].nameoff); >>> unsigned int

Re: [PATCH v2] staging: erofs: keep corrupted fs from crashing kernel in erofs_namei()

2019-02-15 Thread Gao Xiang
Hi Dan, On 2019/2/15 17:35, Dan Carpenter wrote: > On Fri, Feb 15, 2019 at 05:32:33PM +0800, Chao Yu wrote: >> On 2019/2/15 15:57, Dan Carpenter wrote: >>> On Fri, Feb 15, 2019 at 03:02:25PM +0800, Chao Yu wrote: On 2019/2/1 20:16, Gao Xiang wrote: > + /* > + * on-disk error, let's

Re: [PATCH v2] staging: erofs: keep corrupted fs from crashing kernel in erofs_namei()

2019-02-15 Thread Dan Carpenter
On Fri, Feb 15, 2019 at 05:32:33PM +0800, Chao Yu wrote: > On 2019/2/15 15:57, Dan Carpenter wrote: > > On Fri, Feb 15, 2019 at 03:02:25PM +0800, Chao Yu wrote: > >> On 2019/2/1 20:16, Gao Xiang wrote: > >>> + /* > >>> + * on-disk error, let's only BUG_ON in the debugging mode. > >>> + *

Re: [PATCH v2] staging: erofs: keep corrupted fs from crashing kernel in erofs_namei()

2019-02-15 Thread Chao Yu
On 2019/2/15 15:57, Dan Carpenter wrote: > On Fri, Feb 15, 2019 at 03:02:25PM +0800, Chao Yu wrote: >> On 2019/2/1 20:16, Gao Xiang wrote: >>> + /* >>> +* on-disk error, let's only BUG_ON in the debugging mode. >>> +* otherwise, it will return 1 to just skip the invalid name >>> +*

Re: [PATCH v2] staging: erofs: keep corrupted fs from crashing kernel in erofs_namei()

2019-02-15 Thread Gao Xiang
Hi Dan, On 2019/2/15 15:57, Dan Carpenter wrote: > On Fri, Feb 15, 2019 at 03:02:25PM +0800, Chao Yu wrote: >> On 2019/2/1 20:16, Gao Xiang wrote: >>> + /* >>> +* on-disk error, let's only BUG_ON in the debugging mode. >>> +* otherwise, it will return 1 to just skip the invalid name >>>

Re: [PATCH v2] staging: erofs: keep corrupted fs from crashing kernel in erofs_namei()

2019-02-15 Thread Gao Xiang
Hi Chao, On 2019/2/15 15:02, Chao Yu wrote: > On 2019/2/1 20:16, Gao Xiang wrote: >> As Al pointed out, " >> ... and while we are at it, what happens to >> unsigned int nameoff = le16_to_cpu(de[mid].nameoff); >> unsigned int matched = min(startprfx, endprfx); >> >> struct qstr

Re: [PATCH v2] staging: erofs: keep corrupted fs from crashing kernel in erofs_namei()

2019-02-14 Thread Dan Carpenter
On Fri, Feb 15, 2019 at 03:02:25PM +0800, Chao Yu wrote: > On 2019/2/1 20:16, Gao Xiang wrote: > > + /* > > +* on-disk error, let's only BUG_ON in the debugging mode. > > +* otherwise, it will return 1 to just skip the invalid name > > +* and go on (in consideration of the lookup

Re: [PATCH v2] staging: erofs: keep corrupted fs from crashing kernel in erofs_namei()

2019-02-14 Thread Chao Yu
On 2019/2/1 20:16, Gao Xiang wrote: > As Al pointed out, " > ... and while we are at it, what happens to > unsigned int nameoff = le16_to_cpu(de[mid].nameoff); > unsigned int matched = min(startprfx, endprfx); > > struct qstr dname = QSTR_INIT(data + nameoff, >

Re: [PATCH v2] staging: erofs: keep corrupted fs from crashing kernel in erofs_namei()

2019-02-11 Thread Gao Xiang
kindly ping... some ideas about this patch v2? Thanks, On 2019/2/1 20:16, Gao Xiang wrote: > As Al pointed out, " > ... and while we are at it, what happens to > unsigned int nameoff = le16_to_cpu(de[mid].nameoff); > unsigned int matched = min(startprfx, endprfx); > > struct

[PATCH v2] staging: erofs: keep corrupted fs from crashing kernel in erofs_namei()

2019-02-01 Thread Gao Xiang
As Al pointed out, " ... and while we are at it, what happens to unsigned int nameoff = le16_to_cpu(de[mid].nameoff); unsigned int matched = min(startprfx, endprfx); struct qstr dname = QSTR_INIT(data + nameoff, unlikely(mid >= ndirents - 1) ?