From b08019f0b2fbc30c75169a160acb9fd9af5d68f4 Mon Sep 17 00:00:00 2001 From: Juergen Gross Date: Tue, 21 Nov 2023 10:49:53 +0100 Subject: [PATCH] Mini-OS: fix 9pfs response receiving When copying a 9pfs response chunk from the ring buffer across the ring end, the local ring pointer and length field are not updated correctly. Fix that. Fixes: 0924fec1de58 ("Mini-OS: add 9pfs transport layer") Signed-off-by: Juergen Gross Reviewed-by: Samuel Thibault --- 9pfront.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/9pfront.c b/9pfront.c index 43c7409..35c5552 100644 --- a/9pfront.c +++ b/9pfront.c @@ -386,7 +386,9 @@ static void copy_bufs(unsigned char **buf1, unsigned char **buf2, printk("9pfs: short copy (dropping %u bytes)\n", len - *len1); len = *len1; } - memcpy(target, *buf1, *len1); + memcpy(target, *buf1, len); + *buf1 += len; + *len1 -= len; } } -- 2.39.5