Patch "media, bpf: Do not copy more entries than user space requested" has been added to the 5.4-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    media, bpf: Do not copy more entries than user space requested

to the 5.4-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     media-bpf-do-not-copy-more-entries-than-user-space-r.patch
and it can be found in the queue-5.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 6e48780b6a98a281535b618fd57ab139918252f7
Author: Sean Young <sean@xxxxxxxx>
Date:   Wed Jun 23 22:37:54 2021 +0100

    media, bpf: Do not copy more entries than user space requested
    
    [ Upstream commit 647d446d66e493d23ca1047fa8492b0269674530 ]
    
    The syscall bpf(BPF_PROG_QUERY, &attr) should use the prog_cnt field to
    see how many entries user space provided and return ENOSPC if there are
    more programs than that. Before this patch, this is not checked and
    ENOSPC is never returned.
    
    Note that one lirc device is limited to 64 bpf programs, and user space
    I'm aware of -- ir-keytable -- always gives enough space for 64 entries
    already. However, we should not copy program ids than are requested.
    
    Signed-off-by: Sean Young <sean@xxxxxxxx>
    Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
    Link: https://lore.kernel.org/bpf/20210623213754.632-1-sean@xxxxxxxx
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/media/rc/bpf-lirc.c b/drivers/media/rc/bpf-lirc.c
index 0a0ce620e4a2..d5f839fdcde7 100644
--- a/drivers/media/rc/bpf-lirc.c
+++ b/drivers/media/rc/bpf-lirc.c
@@ -329,7 +329,8 @@ int lirc_prog_query(const union bpf_attr *attr, union bpf_attr __user *uattr)
 	}
 
 	if (attr->query.prog_cnt != 0 && prog_ids && cnt)
-		ret = bpf_prog_array_copy_to_user(progs, prog_ids, cnt);
+		ret = bpf_prog_array_copy_to_user(progs, prog_ids,
+						  attr->query.prog_cnt);
 
 unlock:
 	mutex_unlock(&ir_raw_handler_lock);



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux