Re: [PATCHv2] ceph: Fix error handling in ceph_read_iter

2016-10-10 Thread Yan, Zheng
> On 10 Oct 2016, at 21:50, Ilya Dryomov wrote: > > On Mon, Oct 10, 2016 at 3:13 PM, Nikolay Borisov wrote: >> >> >> On 10/10/2016 04:11 PM, Yan, Zheng wrote: >>> On 10 Oct 2016, at 20:56, Nikolay Borisov wrote: In case

Re: [PATCHv2] ceph: Fix error handling in ceph_read_iter

2016-10-10 Thread Yan, Zheng
> On 10 Oct 2016, at 21:50, Ilya Dryomov wrote: > > On Mon, Oct 10, 2016 at 3:13 PM, Nikolay Borisov wrote: >> >> >> On 10/10/2016 04:11 PM, Yan, Zheng wrote: >>> On 10 Oct 2016, at 20:56, Nikolay Borisov wrote: In case __ceph_do_getattr returns an error and the retry_op in

Re: [PATCHv2] ceph: Fix error handling in ceph_read_iter

2016-10-10 Thread Ilya Dryomov
On Mon, Oct 10, 2016 at 3:13 PM, Nikolay Borisov wrote: > > > On 10/10/2016 04:11 PM, Yan, Zheng wrote: >> >>> On 10 Oct 2016, at 20:56, Nikolay Borisov wrote: >>> >>> In case __ceph_do_getattr returns an error and the retry_op in >>> ceph_read_iter is not

Re: [PATCHv2] ceph: Fix error handling in ceph_read_iter

2016-10-10 Thread Ilya Dryomov
On Mon, Oct 10, 2016 at 3:13 PM, Nikolay Borisov wrote: > > > On 10/10/2016 04:11 PM, Yan, Zheng wrote: >> >>> On 10 Oct 2016, at 20:56, Nikolay Borisov wrote: >>> >>> In case __ceph_do_getattr returns an error and the retry_op in >>> ceph_read_iter is not READ_INLINE, then it's possible to

Re: [PATCHv2] ceph: Fix error handling in ceph_read_iter

2016-10-10 Thread Nikolay Borisov
On 10/10/2016 04:11 PM, Yan, Zheng wrote: > >> On 10 Oct 2016, at 20:56, Nikolay Borisov wrote: >> >> In case __ceph_do_getattr returns an error and the retry_op in >> ceph_read_iter is not READ_INLINE, then it's possible to invoke >> __free_page on a page which is NULL, this

Re: [PATCHv2] ceph: Fix error handling in ceph_read_iter

2016-10-10 Thread Nikolay Borisov
On 10/10/2016 04:11 PM, Yan, Zheng wrote: > >> On 10 Oct 2016, at 20:56, Nikolay Borisov wrote: >> >> In case __ceph_do_getattr returns an error and the retry_op in >> ceph_read_iter is not READ_INLINE, then it's possible to invoke >> __free_page on a page which is NULL, this naturally leads

Re: [PATCHv2] ceph: Fix error handling in ceph_read_iter

2016-10-10 Thread Yan, Zheng
> On 10 Oct 2016, at 21:13, Nikolay Borisov wrote: > > > > On 10/10/2016 04:11 PM, Yan, Zheng wrote: >> >>> On 10 Oct 2016, at 20:56, Nikolay Borisov wrote: >>> >>> In case __ceph_do_getattr returns an error and the retry_op in >>> ceph_read_iter is not

Re: [PATCHv2] ceph: Fix error handling in ceph_read_iter

2016-10-10 Thread Yan, Zheng
> On 10 Oct 2016, at 21:13, Nikolay Borisov wrote: > > > > On 10/10/2016 04:11 PM, Yan, Zheng wrote: >> >>> On 10 Oct 2016, at 20:56, Nikolay Borisov wrote: >>> >>> In case __ceph_do_getattr returns an error and the retry_op in >>> ceph_read_iter is not READ_INLINE, then it's possible to

Re: [PATCHv2] ceph: Fix error handling in ceph_read_iter

2016-10-10 Thread Yan, Zheng
> On 10 Oct 2016, at 20:56, Nikolay Borisov wrote: > > In case __ceph_do_getattr returns an error and the retry_op in > ceph_read_iter is not READ_INLINE, then it's possible to invoke > __free_page on a page which is NULL, this naturally leads to a crash. > This can happen

Re: [PATCHv2] ceph: Fix error handling in ceph_read_iter

2016-10-10 Thread Yan, Zheng
> On 10 Oct 2016, at 20:56, Nikolay Borisov wrote: > > In case __ceph_do_getattr returns an error and the retry_op in > ceph_read_iter is not READ_INLINE, then it's possible to invoke > __free_page on a page which is NULL, this naturally leads to a crash. > This can happen when, for example, a

[PATCHv2] ceph: Fix error handling in ceph_read_iter

2016-10-10 Thread Nikolay Borisov
In case __ceph_do_getattr returns an error and the retry_op in ceph_read_iter is not READ_INLINE, then it's possible to invoke __free_page on a page which is NULL, this naturally leads to a crash. This can happen when, for example, a process waiting on a MDS reply receives sigterm. Fix this by

[PATCHv2] ceph: Fix error handling in ceph_read_iter

2016-10-10 Thread Nikolay Borisov
In case __ceph_do_getattr returns an error and the retry_op in ceph_read_iter is not READ_INLINE, then it's possible to invoke __free_page on a page which is NULL, this naturally leads to a crash. This can happen when, for example, a process waiting on a MDS reply receives sigterm. Fix this by