Messages in this thread | | | Subject | Re: [Xen-devel] [PATCH] pvcalls-front: Replace GFP_KERNEL with GFP_ATOMIC in create_active | From | Boris Ostrovsky <> | Date | Mon, 14 Jan 2019 18:45:28 -0500 |
| |
On 1/14/19 10:48 AM, wangbo wrote: > Create_active may called inside spinlock,replace GFP_KERNEL with GFP_ATOMIC
https://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git/commit/?h=for-linus-4.21&id=9f51c05dc41a6d69423e3d03d18eb7ab22f9ec19 is queued and addresses this problem.
(Please run scripts/get_maintainer.pl on your patches, otherwise they may be missed and delayed)
-boris
> > Signed-off-by: wangbo <wang.bo116@zte.com.cn> > --- > drivers/xen/pvcalls-front.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/xen/pvcalls-front.c b/drivers/xen/pvcalls-front.c > index 77224d8..31bd3c9 100644 > --- a/drivers/xen/pvcalls-front.c > +++ b/drivers/xen/pvcalls-front.c > @@ -344,11 +344,11 @@ static int create_active(struct sock_mapping *map, int *evtchn) > init_waitqueue_head(&map->active.inflight_conn_req); > > map->active.ring = (struct pvcalls_data_intf *) > - __get_free_page(GFP_KERNEL | __GFP_ZERO); > + __get_free_page(GFP_ATOMIC | __GFP_ZERO); > if (map->active.ring == NULL) > goto out_error; > map->active.ring->ring_order = PVCALLS_RING_ORDER; > - bytes = (void *)__get_free_pages(GFP_KERNEL | __GFP_ZERO, > + bytes = (void *)__get_free_pages(GFP_ATOMIC | __GFP_ZERO, > PVCALLS_RING_ORDER); > if (bytes == NULL) > goto out_error;
| |