drivers/net/ppp: use standard array-copy-function
authorPhilipp Stanner <pstanner@redhat.com>
Mon, 6 Nov 2023 09:16:00 +0000 (10:16 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 8 Nov 2023 09:40:19 +0000 (09:40 +0000)
commitcaf3100810f4150677f4e1057aa0a29f8a2c3743
tree996bc5c773a30a9504b051a8a76abc41b09691e7
parentf968c56417f00be4cb62eadeed042a1e3c80dc53
drivers/net/ppp: use standard array-copy-function

In ppp_generic.c, memdup_user() is utilized to copy a userspace array.
This is done without an overflow-check, which is, however, not critical
because the multiplicands are an unsigned short and struct sock_filter,
which is currently of size 8.

Regardless, string.h now provides memdup_array_user(), a wrapper for
copying userspace arrays in a standardized manner, which has the
advantage of making it more obvious to the reader that an array is being
copied.
The wrapper additionally performs an obligatory overflow check, saving
the reader the effort of analyzing the potential for overflow, and
making the code a bit more robust in case of future changes to the
multiplicands len * size.

Replace memdup_user() with memdup_array_user().

Suggested-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Philipp Stanner <pstanner@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ppp/ppp_generic.c