From edb493eea553b96c4466672c309d7c3b71c49efe Mon Sep 17 00:00:00 2001 From: Brett Gordon Date: Sun, 22 Oct 2017 11:44:19 -0400 Subject: [PATCH] /dev/proc: return number of bytes read. uput only returns -1 on validation fail, or 0 ok. this made 'ps' sad. /dev/kmem reading might be broken too... --- Kernel/devsys.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Kernel/devsys.c b/Kernel/devsys.c index 4a703d66..2c950003 100644 --- a/Kernel/devsys.c +++ b/Kernel/devsys.c @@ -45,7 +45,9 @@ int sys_read(uint8_t minor, uint8_t rawflag, uint8_t flag) udata.u_count = sizeof(struct p_tab); if (udata.u_offset + udata.u_count > PTABSIZE * sizeof(struct p_tab)) return 0; - return uput(addr + udata.u_offset, udata.u_base, udata.u_count); + if (uput(addr + udata.u_offset, udata.u_base, udata.u_count) ) + return 0; + return udata.u_count; #ifdef CONFIG_DEV_MEM case 4: return devmem_read(); -- 2.34.1