From d77100ae1f74516994605dcde2b5833319362f34 Mon Sep 17 00:00:00 2001 From: Masaq- Date: Tue, 26 May 2015 00:07:39 +0000 Subject: [PATCH] fix sheep_net Linux kernel panic on n2n edge0 tap device --- BasiliskII/src/Unix/Linux/NetDriver/sheep_net.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/BasiliskII/src/Unix/Linux/NetDriver/sheep_net.c b/BasiliskII/src/Unix/Linux/NetDriver/sheep_net.c index ad55fb65..37a06902 100644 --- a/BasiliskII/src/Unix/Linux/NetDriver/sheep_net.c +++ b/BasiliskII/src/Unix/Linux/NetDriver/sheep_net.c @@ -425,6 +425,11 @@ static ssize_t sheep_net_read(struct file *f, char *buf, size_t count, loff_t *o * Driver write() function */ +static inline void do_nothing(struct sk_buff *skb) +{ + return; +} + static ssize_t sheep_net_write(struct file *f, const char *buf, size_t count, loff_t *off) { struct SheepVars *v = (struct SheepVars *)f->private_data; @@ -498,6 +503,7 @@ static ssize_t sheep_net_write(struct file *f, const char *buf, size_t count, lo /* Outgoing packet (will be on the net) */ demasquerade(v, skb); + skb->destructor = do_nothing; skb->protocol = PROT_MAGIC; /* Magic value (we can recognize the packet in sheep_net_receiver) */ dev_queue_xmit(skb); return count;