Signed-off-by: Jason Wang <jasow...@redhat.com>
---
 drivers/net/tun.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/net/tun.c b/drivers/net/tun.c
index 44d4f3d..24ecd82 100644
--- a/drivers/net/tun.c
+++ b/drivers/net/tun.c
@@ -1697,6 +1697,8 @@ static struct sk_buff *tun_build_skb(struct tun_struct 
*tun,
                        goto err_xdp;
                }
        }
+       rcu_read_unlock();
+       preempt_enable();
 
        skb = build_skb(buf, buflen);
        if (!skb) {
@@ -1710,9 +1712,6 @@ static struct sk_buff *tun_build_skb(struct tun_struct 
*tun,
        get_page(alloc_frag->page);
        alloc_frag->offset += buflen;
 
-       rcu_read_unlock();
-       preempt_enable();
-
        return skb;
 
 err_redirect:
-- 
2.7.4

Reply via email to