On Fri, Jul 06, 2018 at 10:48:03PM +0200, Jann Horn wrote: > In general, accessing userspace memory beyond the length of the supplied > buffer in VFS read/write handlers can lead to both kernel memory corruption > (via kernel_read()/kernel_write(), which can e.g. be triggered via > sys_splice()) and privilege escalation inside userspace. > > In this case, the affected files are in debugfs (and should therefore only > be accessible to root), and the read handlers check that *pos is zero > (meaning that at least sys_splice() can't trigger kernel memory > corruption). Because of the root requirement, this is not a security fix, > but rather a cleanup. > > For the read handlers, fix it by using simple_read_from_buffer() instead of > custom logic. Add min() calls to the write handlers. > > changed in v2: > - also fix write handlers > > Fixes: 4a2da0b8c078 ("IB/mlx5: Add debug control parameters for congestion control") > Fixes: e126ba97dba9 ("mlx5: Add driver for Mellanox Connect-IB adapters") > Signed-off-by: Jann Horn <jannh@xxxxxxxxxx> > Reviewed-by: Leon Romanovsky <leonro@xxxxxxxxxxxx> > --- > drivers/infiniband/hw/mlx5/cong.c | 9 +-------- > drivers/infiniband/hw/mlx5/mr.c | 32 ++++++++----------------------- > 2 files changed, 9 insertions(+), 32 deletions(-) Applied to for-next Thanks, Jason -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html