* [PATCH -next] um: vector: use GFP_ATOMIC under spin lock @ 2019-11-28 2:01 Wei Yongjun 2019-11-28 7:51 ` Anton Ivanov 2019-11-28 8:06 ` Dan Carpenter 0 siblings, 2 replies; 8+ messages in thread From: Wei Yongjun @ 2019-11-28 2:01 UTC (permalink / raw) To: Jeff Dike, Richard Weinberger, Anton Ivanov, Alexei Starovoitov, Daniel Borkmann, Martin KaFai Lau, Song Liu Cc: Wei Yongjun, linux-um, netdev, bpf, kernel-janitors A spin lock is taken here so we should use GFP_ATOMIC. Fixes: 9807019a62dc ("um: Loadable BPF "Firmware" for vector drivers") Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> --- arch/um/drivers/vector_kern.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/um/drivers/vector_kern.c b/arch/um/drivers/vector_kern.c index 92617e16829e..6ff0065a271d 100644 --- a/arch/um/drivers/vector_kern.c +++ b/arch/um/drivers/vector_kern.c @@ -1402,7 +1402,7 @@ static int vector_net_load_bpf_flash(struct net_device *dev, kfree(vp->bpf->filter); vp->bpf->filter = NULL; } else { - vp->bpf = kmalloc(sizeof(struct sock_fprog), GFP_KERNEL); + vp->bpf = kmalloc(sizeof(struct sock_fprog), GFP_ATOMIC); if (vp->bpf == NULL) { netdev_err(dev, "failed to allocate memory for firmware\n"); goto flash_fail; @@ -1414,7 +1414,7 @@ static int vector_net_load_bpf_flash(struct net_device *dev, if (request_firmware(&fw, efl->data, &vdevice->pdev.dev)) goto flash_fail; - vp->bpf->filter = kmemdup(fw->data, fw->size, GFP_KERNEL); + vp->bpf->filter = kmemdup(fw->data, fw->size, GFP_ATOMIC); if (!vp->bpf->filter) goto free_buffer; ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH -next] um: vector: use GFP_ATOMIC under spin lock 2019-11-28 2:01 [PATCH -next] um: vector: use GFP_ATOMIC under spin lock Wei Yongjun @ 2019-11-28 7:51 ` Anton Ivanov 2019-11-28 8:06 ` Dan Carpenter 1 sibling, 0 replies; 8+ messages in thread From: Anton Ivanov @ 2019-11-28 7:51 UTC (permalink / raw) To: Wei Yongjun, Jeff Dike, Richard Weinberger, Alexei Starovoitov, Daniel Borkmann, Martin KaFai Lau, Song Liu Cc: kernel-janitors, linux-um, bpf, netdev On 28/11/2019 02:01, Wei Yongjun wrote: > A spin lock is taken here so we should use GFP_ATOMIC. > > Fixes: 9807019a62dc ("um: Loadable BPF "Firmware" for vector drivers") > Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> > --- > arch/um/drivers/vector_kern.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/um/drivers/vector_kern.c b/arch/um/drivers/vector_kern.c > index 92617e16829e..6ff0065a271d 100644 > --- a/arch/um/drivers/vector_kern.c > +++ b/arch/um/drivers/vector_kern.c > @@ -1402,7 +1402,7 @@ static int vector_net_load_bpf_flash(struct net_device *dev, > kfree(vp->bpf->filter); > vp->bpf->filter = NULL; > } else { > - vp->bpf = kmalloc(sizeof(struct sock_fprog), GFP_KERNEL); > + vp->bpf = kmalloc(sizeof(struct sock_fprog), GFP_ATOMIC); > if (vp->bpf == NULL) { > netdev_err(dev, "failed to allocate memory for firmware\n"); > goto flash_fail; > @@ -1414,7 +1414,7 @@ static int vector_net_load_bpf_flash(struct net_device *dev, > if (request_firmware(&fw, efl->data, &vdevice->pdev.dev)) > goto flash_fail; > > - vp->bpf->filter = kmemdup(fw->data, fw->size, GFP_KERNEL); > + vp->bpf->filter = kmemdup(fw->data, fw->size, GFP_ATOMIC); > if (!vp->bpf->filter) > goto free_buffer; > > > > Acked-by: Anton Ivanov <anton.ivanov@cambridgegreys.co.uk> > _______________________________________________ > linux-um mailing list > linux-um@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-um > -- Anton R. Ivanov Cambridgegreys Limited. Registered in England. Company Number 10273661 https://www.cambridgegreys.com/ ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH -next] um: vector: use GFP_ATOMIC under spin lock 2019-11-28 2:01 [PATCH -next] um: vector: use GFP_ATOMIC under spin lock Wei Yongjun 2019-11-28 7:51 ` Anton Ivanov @ 2019-11-28 8:06 ` Dan Carpenter 2019-11-28 8:18 ` Anton Ivanov 1 sibling, 1 reply; 8+ messages in thread From: Dan Carpenter @ 2019-11-28 8:06 UTC (permalink / raw) To: Wei Yongjun Cc: Jeff Dike, Richard Weinberger, Anton Ivanov, Alexei Starovoitov, Daniel Borkmann, Martin KaFai Lau, Song Liu, linux-um, netdev, bpf, kernel-janitors On Thu, Nov 28, 2019 at 02:01:47AM +0000, Wei Yongjun wrote: > A spin lock is taken here so we should use GFP_ATOMIC. > > Fixes: 9807019a62dc ("um: Loadable BPF "Firmware" for vector drivers") > Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> > --- > arch/um/drivers/vector_kern.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/um/drivers/vector_kern.c b/arch/um/drivers/vector_kern.c > index 92617e16829e..6ff0065a271d 100644 > --- a/arch/um/drivers/vector_kern.c > +++ b/arch/um/drivers/vector_kern.c > @@ -1402,7 +1402,7 @@ static int vector_net_load_bpf_flash(struct net_device *dev, > kfree(vp->bpf->filter); > vp->bpf->filter = NULL; > } else { > - vp->bpf = kmalloc(sizeof(struct sock_fprog), GFP_KERNEL); > + vp->bpf = kmalloc(sizeof(struct sock_fprog), GFP_ATOMIC); > if (vp->bpf == NULL) { > netdev_err(dev, "failed to allocate memory for firmware\n"); > goto flash_fail; > @@ -1414,7 +1414,7 @@ static int vector_net_load_bpf_flash(struct net_device *dev, > if (request_firmware(&fw, efl->data, &vdevice->pdev.dev)) ^^^^^^^^^^^^^^^^ Is it really possible to call request_firmware() while holding a spin_lock? I was so sure that read from the disk. regards, dan carpenter > goto flash_fail; > > - vp->bpf->filter = kmemdup(fw->data, fw->size, GFP_KERNEL); > + vp->bpf->filter = kmemdup(fw->data, fw->size, GFP_ATOMIC); > if (!vp->bpf->filter) > goto free_buffer; > > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH -next] um: vector: use GFP_ATOMIC under spin lock 2019-11-28 8:06 ` Dan Carpenter @ 2019-11-28 8:18 ` Anton Ivanov 2019-11-28 8:37 ` Dan Carpenter 2019-11-28 8:41 ` Richard Weinberger 0 siblings, 2 replies; 8+ messages in thread From: Anton Ivanov @ 2019-11-28 8:18 UTC (permalink / raw) To: Dan Carpenter, Wei Yongjun Cc: Song Liu, Daniel Borkmann, kernel-janitors, Richard Weinberger, Jeff Dike, linux-um, Alexei Starovoitov, netdev, bpf, Martin KaFai Lau On 28/11/2019 08:06, Dan Carpenter wrote: > On Thu, Nov 28, 2019 at 02:01:47AM +0000, Wei Yongjun wrote: >> A spin lock is taken here so we should use GFP_ATOMIC. >> >> Fixes: 9807019a62dc ("um: Loadable BPF "Firmware" for vector drivers") >> Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> >> --- >> arch/um/drivers/vector_kern.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/arch/um/drivers/vector_kern.c b/arch/um/drivers/vector_kern.c >> index 92617e16829e..6ff0065a271d 100644 >> --- a/arch/um/drivers/vector_kern.c >> +++ b/arch/um/drivers/vector_kern.c >> @@ -1402,7 +1402,7 @@ static int vector_net_load_bpf_flash(struct net_device *dev, >> kfree(vp->bpf->filter); >> vp->bpf->filter = NULL; >> } else { >> - vp->bpf = kmalloc(sizeof(struct sock_fprog), GFP_KERNEL); >> + vp->bpf = kmalloc(sizeof(struct sock_fprog), GFP_ATOMIC); >> if (vp->bpf == NULL) { >> netdev_err(dev, "failed to allocate memory for firmware\n"); >> goto flash_fail; >> @@ -1414,7 +1414,7 @@ static int vector_net_load_bpf_flash(struct net_device *dev, >> if (request_firmware(&fw, efl->data, &vdevice->pdev.dev)) > ^^^^^^^^^^^^^^^^ > > Is it really possible to call request_firmware() while holding a > spin_lock? I was so sure that read from the disk. Works, I tested the patch quite a few times. > > regards, > dan carpenter > >> goto flash_fail; >> >> - vp->bpf->filter = kmemdup(fw->data, fw->size, GFP_KERNEL); >> + vp->bpf->filter = kmemdup(fw->data, fw->size, GFP_ATOMIC); >> if (!vp->bpf->filter) >> goto free_buffer; >> >> > > _______________________________________________ > linux-um mailing list > linux-um@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-um > -- Anton R. Ivanov Cambridgegreys Limited. Registered in England. Company Number 10273661 https://www.cambridgegreys.com/ ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH -next] um: vector: use GFP_ATOMIC under spin lock 2019-11-28 8:18 ` Anton Ivanov @ 2019-11-28 8:37 ` Dan Carpenter 2019-11-28 9:22 ` Anton Ivanov 2019-11-28 8:41 ` Richard Weinberger 1 sibling, 1 reply; 8+ messages in thread From: Dan Carpenter @ 2019-11-28 8:37 UTC (permalink / raw) To: Anton Ivanov Cc: Wei Yongjun, Song Liu, Daniel Borkmann, kernel-janitors, Richard Weinberger, Jeff Dike, linux-um, Alexei Starovoitov, netdev, bpf, Martin KaFai Lau On Thu, Nov 28, 2019 at 08:18:30AM +0000, Anton Ivanov wrote: > > > On 28/11/2019 08:06, Dan Carpenter wrote: > > On Thu, Nov 28, 2019 at 02:01:47AM +0000, Wei Yongjun wrote: > > > A spin lock is taken here so we should use GFP_ATOMIC. > > > > > > Fixes: 9807019a62dc ("um: Loadable BPF "Firmware" for vector drivers") > > > Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> > > > --- > > > arch/um/drivers/vector_kern.c | 4 ++-- > > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > > > diff --git a/arch/um/drivers/vector_kern.c b/arch/um/drivers/vector_kern.c > > > index 92617e16829e..6ff0065a271d 100644 > > > --- a/arch/um/drivers/vector_kern.c > > > +++ b/arch/um/drivers/vector_kern.c > > > @@ -1402,7 +1402,7 @@ static int vector_net_load_bpf_flash(struct net_device *dev, > > > kfree(vp->bpf->filter); > > > vp->bpf->filter = NULL; > > > } else { > > > - vp->bpf = kmalloc(sizeof(struct sock_fprog), GFP_KERNEL); > > > + vp->bpf = kmalloc(sizeof(struct sock_fprog), GFP_ATOMIC); > > > if (vp->bpf == NULL) { > > > netdev_err(dev, "failed to allocate memory for firmware\n"); > > > goto flash_fail; > > > @@ -1414,7 +1414,7 @@ static int vector_net_load_bpf_flash(struct net_device *dev, > > > if (request_firmware(&fw, efl->data, &vdevice->pdev.dev)) > > ^^^^^^^^^^^^^^^^ > > > > Is it really possible to call request_firmware() while holding a > > spin_lock? I was so sure that read from the disk. > > Works, I tested the patch quite a few times. > Do you have CONFIG_DEBUG_ATOMIC_SLEEP enabled? The GFP_KERNEL calls should have triggered a warning if so. regards, dan carpenter ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH -next] um: vector: use GFP_ATOMIC under spin lock 2019-11-28 8:37 ` Dan Carpenter @ 2019-11-28 9:22 ` Anton Ivanov 0 siblings, 0 replies; 8+ messages in thread From: Anton Ivanov @ 2019-11-28 9:22 UTC (permalink / raw) To: Dan Carpenter Cc: Song Liu, Daniel Borkmann, Richard Weinberger, Jeff Dike, kernel-janitors, Alexei Starovoitov, linux-um, Wei Yongjun, netdev, bpf, Martin KaFai Lau On 28/11/2019 08:37, Dan Carpenter wrote: > On Thu, Nov 28, 2019 at 08:18:30AM +0000, Anton Ivanov wrote: >> >> >> On 28/11/2019 08:06, Dan Carpenter wrote: >>> On Thu, Nov 28, 2019 at 02:01:47AM +0000, Wei Yongjun wrote: >>>> A spin lock is taken here so we should use GFP_ATOMIC. >>>> >>>> Fixes: 9807019a62dc ("um: Loadable BPF "Firmware" for vector drivers") >>>> Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> >>>> --- >>>> arch/um/drivers/vector_kern.c | 4 ++-- >>>> 1 file changed, 2 insertions(+), 2 deletions(-) >>>> >>>> diff --git a/arch/um/drivers/vector_kern.c b/arch/um/drivers/vector_kern.c >>>> index 92617e16829e..6ff0065a271d 100644 >>>> --- a/arch/um/drivers/vector_kern.c >>>> +++ b/arch/um/drivers/vector_kern.c >>>> @@ -1402,7 +1402,7 @@ static int vector_net_load_bpf_flash(struct net_device *dev, >>>> kfree(vp->bpf->filter); >>>> vp->bpf->filter = NULL; >>>> } else { >>>> - vp->bpf = kmalloc(sizeof(struct sock_fprog), GFP_KERNEL); >>>> + vp->bpf = kmalloc(sizeof(struct sock_fprog), GFP_ATOMIC); >>>> if (vp->bpf == NULL) { >>>> netdev_err(dev, "failed to allocate memory for firmware\n"); >>>> goto flash_fail; >>>> @@ -1414,7 +1414,7 @@ static int vector_net_load_bpf_flash(struct net_device *dev, >>>> if (request_firmware(&fw, efl->data, &vdevice->pdev.dev)) >>> ^^^^^^^^^^^^^^^^ >>> >>> Is it really possible to call request_firmware() while holding a >>> spin_lock? I was so sure that read from the disk. >> >> Works, I tested the patch quite a few times. >> > > Do you have CONFIG_DEBUG_ATOMIC_SLEEP enabled? The GFP_KERNEL calls > should have triggered a warning if so. I do not think we can use that in um. config DEBUG_ATOMIC_SLEEP bool "Sleep inside atomic section checking" select PREEMPT_COUNT depends on DEBUG_KERNEL depends on !ARCH_NO_PREEMPT In arch/um/Kconfig select ARCH_NO_PREEMPT Brgds, > > regards, > dan carpenter > > > _______________________________________________ > linux-um mailing list > linux-um@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-um > -- Anton R. Ivanov Cambridgegreys Limited. Registered in England. Company Number 10273661 https://www.cambridgegreys.com/ ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH -next] um: vector: use GFP_ATOMIC under spin lock 2019-11-28 8:18 ` Anton Ivanov 2019-11-28 8:37 ` Dan Carpenter @ 2019-11-28 8:41 ` Richard Weinberger 2019-11-28 9:24 ` Anton Ivanov 1 sibling, 1 reply; 8+ messages in thread From: Richard Weinberger @ 2019-11-28 8:41 UTC (permalink / raw) To: anton ivanov Cc: Dan Carpenter, Wei Yongjun, Song Liu, Daniel Borkmann, kernel-janitors, Jeff Dike, linux-um, Alexei Starovoitov, netdev, bpf, Martin KaFai Lau ----- Ursprüngliche Mail ----- > Von: "anton ivanov" <anton.ivanov@cambridgegreys.com> > An: "Dan Carpenter" <dan.carpenter@oracle.com>, "Wei Yongjun" <weiyongjun1@huawei.com> > CC: "Song Liu" <songliubraving@fb.com>, "Daniel Borkmann" <daniel@iogearbox.net>, "kernel-janitors" > <kernel-janitors@vger.kernel.org>, "richard" <richard@nod.at>, "Jeff Dike" <jdike@addtoit.com>, "linux-um" > <linux-um@lists.infradead.org>, "Alexei Starovoitov" <ast@kernel.org>, "netdev" <netdev@vger.kernel.org>, > bpf@vger.kernel.org, "Martin KaFai Lau" <kafai@fb.com> > Gesendet: Donnerstag, 28. November 2019 09:18:30 > Betreff: Re: [PATCH -next] um: vector: use GFP_ATOMIC under spin lock > On 28/11/2019 08:06, Dan Carpenter wrote: >> On Thu, Nov 28, 2019 at 02:01:47AM +0000, Wei Yongjun wrote: >>> A spin lock is taken here so we should use GFP_ATOMIC. >>> >>> Fixes: 9807019a62dc ("um: Loadable BPF "Firmware" for vector drivers") >>> Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> >>> --- >>> arch/um/drivers/vector_kern.c | 4 ++-- >>> 1 file changed, 2 insertions(+), 2 deletions(-) >>> >>> diff --git a/arch/um/drivers/vector_kern.c b/arch/um/drivers/vector_kern.c >>> index 92617e16829e..6ff0065a271d 100644 >>> --- a/arch/um/drivers/vector_kern.c >>> +++ b/arch/um/drivers/vector_kern.c >>> @@ -1402,7 +1402,7 @@ static int vector_net_load_bpf_flash(struct net_device >>> *dev, >>> kfree(vp->bpf->filter); >>> vp->bpf->filter = NULL; >>> } else { >>> - vp->bpf = kmalloc(sizeof(struct sock_fprog), GFP_KERNEL); >>> + vp->bpf = kmalloc(sizeof(struct sock_fprog), GFP_ATOMIC); >>> if (vp->bpf == NULL) { >>> netdev_err(dev, "failed to allocate memory for firmware\n"); >>> goto flash_fail; >>> @@ -1414,7 +1414,7 @@ static int vector_net_load_bpf_flash(struct net_device >>> *dev, >>> if (request_firmware(&fw, efl->data, &vdevice->pdev.dev)) >> ^^^^^^^^^^^^^^^^ >> >> Is it really possible to call request_firmware() while holding a >> spin_lock? I was so sure that read from the disk. > > Works, I tested the patch quite a few times. It works because of the nature of UML ->no SMP or PREEMPT. But better request the firmware before taking the spinlock. request_firmware() can block. Same for the kmalloc(), just allocate the buffer before and then assign the pointer under the lock. That way you don't need GFP_ATOMIC. Thanks, //richard ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH -next] um: vector: use GFP_ATOMIC under spin lock 2019-11-28 8:41 ` Richard Weinberger @ 2019-11-28 9:24 ` Anton Ivanov 0 siblings, 0 replies; 8+ messages in thread From: Anton Ivanov @ 2019-11-28 9:24 UTC (permalink / raw) To: Richard Weinberger Cc: Song Liu, Daniel Borkmann, linux-um, Jeff Dike, kernel-janitors, Alexei Starovoitov, Wei Yongjun, netdev, bpf, Martin KaFai Lau, Dan Carpenter On 28/11/2019 08:41, Richard Weinberger wrote: > ----- Ursprüngliche Mail ----- >> Von: "anton ivanov" <anton.ivanov@cambridgegreys.com> >> An: "Dan Carpenter" <dan.carpenter@oracle.com>, "Wei Yongjun" <weiyongjun1@huawei.com> >> CC: "Song Liu" <songliubraving@fb.com>, "Daniel Borkmann" <daniel@iogearbox.net>, "kernel-janitors" >> <kernel-janitors@vger.kernel.org>, "richard" <richard@nod.at>, "Jeff Dike" <jdike@addtoit.com>, "linux-um" >> <linux-um@lists.infradead.org>, "Alexei Starovoitov" <ast@kernel.org>, "netdev" <netdev@vger.kernel.org>, >> bpf@vger.kernel.org, "Martin KaFai Lau" <kafai@fb.com> >> Gesendet: Donnerstag, 28. November 2019 09:18:30 >> Betreff: Re: [PATCH -next] um: vector: use GFP_ATOMIC under spin lock > >> On 28/11/2019 08:06, Dan Carpenter wrote: >>> On Thu, Nov 28, 2019 at 02:01:47AM +0000, Wei Yongjun wrote: >>>> A spin lock is taken here so we should use GFP_ATOMIC. >>>> >>>> Fixes: 9807019a62dc ("um: Loadable BPF "Firmware" for vector drivers") >>>> Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> >>>> --- >>>> arch/um/drivers/vector_kern.c | 4 ++-- >>>> 1 file changed, 2 insertions(+), 2 deletions(-) >>>> >>>> diff --git a/arch/um/drivers/vector_kern.c b/arch/um/drivers/vector_kern.c >>>> index 92617e16829e..6ff0065a271d 100644 >>>> --- a/arch/um/drivers/vector_kern.c >>>> +++ b/arch/um/drivers/vector_kern.c >>>> @@ -1402,7 +1402,7 @@ static int vector_net_load_bpf_flash(struct net_device >>>> *dev, >>>> kfree(vp->bpf->filter); >>>> vp->bpf->filter = NULL; >>>> } else { >>>> - vp->bpf = kmalloc(sizeof(struct sock_fprog), GFP_KERNEL); >>>> + vp->bpf = kmalloc(sizeof(struct sock_fprog), GFP_ATOMIC); >>>> if (vp->bpf == NULL) { >>>> netdev_err(dev, "failed to allocate memory for firmware\n"); >>>> goto flash_fail; >>>> @@ -1414,7 +1414,7 @@ static int vector_net_load_bpf_flash(struct net_device >>>> *dev, >>>> if (request_firmware(&fw, efl->data, &vdevice->pdev.dev)) >>> ^^^^^^^^^^^^^^^^ >>> >>> Is it really possible to call request_firmware() while holding a >>> spin_lock? I was so sure that read from the disk. >> >> Works, I tested the patch quite a few times. > > It works because of the nature of UML ->no SMP or PREEMPT. > But better request the firmware before taking the spinlock. > request_firmware() can block. > Same for the kmalloc(), just allocate the buffer before and then assign > the pointer under the lock. That way you don't need GFP_ATOMIC. Ack. I will make an incremental on top of the existing patch (as that is already in -next Brgds, > > Thanks, > //richard > > _______________________________________________ > linux-um mailing list > linux-um@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-um > -- Anton R. Ivanov Cambridgegreys Limited. Registered in England. Company Number 10273661 https://www.cambridgegreys.com/ ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2019-11-28 9:24 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-11-28 2:01 [PATCH -next] um: vector: use GFP_ATOMIC under spin lock Wei Yongjun 2019-11-28 7:51 ` Anton Ivanov 2019-11-28 8:06 ` Dan Carpenter 2019-11-28 8:18 ` Anton Ivanov 2019-11-28 8:37 ` Dan Carpenter 2019-11-28 9:22 ` Anton Ivanov 2019-11-28 8:41 ` Richard Weinberger 2019-11-28 9:24 ` Anton Ivanov
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).