lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <51915860-4a32-b563-c000-d64e1df6702d@redhat.com>
Date: Thu, 24 Oct 2024 16:01:05 +0200 (CEST)
From: Mikulas Patocka <mpatocka@...hat.com>
To: Colin Ian King <colin.i.king@...il.com>
cc: Alasdair Kergon <agk@...hat.com>, Mike Snitzer <snitzer@...nel.org>, 
    dm-devel@...ts.linux.dev, linux-kernel@...r.kernel.org
Subject: Re: [PATCH][next] dm ioctl: rate limit a couple of ioctl based error
 messages

Hi

I'd like to ask - have you experienced these errors? What was the process 
that triggered them? Was it some robot that tests syscalls with random 
parameters?

Mikulas


On Thu, 24 Oct 2024, Colin Ian King wrote:

> It is possible to spam the kernel log with a misbehaving user process that
> is passing incorrect dm ioctls to /dev/mapper/control. Use a rate limit
> on these error messages to reduce the noise.
> 
> Signed-off-by: Colin Ian King <colin.i.king@...il.com>
> ---
>  drivers/md/dm-ioctl.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/md/dm-ioctl.c b/drivers/md/dm-ioctl.c
> index f299ff393a6a..d42eac944eb5 100644
> --- a/drivers/md/dm-ioctl.c
> +++ b/drivers/md/dm-ioctl.c
> @@ -1912,7 +1912,7 @@ static int check_version(unsigned int cmd, struct dm_ioctl __user *user,
>  
>  	if ((kernel_params->version[0] != DM_VERSION_MAJOR) ||
>  	    (kernel_params->version[1] > DM_VERSION_MINOR)) {
> -		DMERR("ioctl interface mismatch: kernel(%u.%u.%u), user(%u.%u.%u), cmd(%d)",
> +		DMERR_LIMIT("ioctl interface mismatch: kernel(%u.%u.%u), user(%u.%u.%u), cmd(%d)",
>  		      DM_VERSION_MAJOR, DM_VERSION_MINOR,
>  		      DM_VERSION_PATCHLEVEL,
>  		      kernel_params->version[0],
> @@ -1961,7 +1961,7 @@ static int copy_params(struct dm_ioctl __user *user, struct dm_ioctl *param_kern
>  
>  	if (unlikely(param_kernel->data_size < minimum_data_size) ||
>  	    unlikely(param_kernel->data_size > DM_MAX_TARGETS * DM_MAX_TARGET_PARAMS)) {
> -		DMERR("Invalid data size in the ioctl structure: %u",
> +		DMERR_LIMIT("Invalid data size in the ioctl structure: %u",
>  		      param_kernel->data_size);
>  		return -EINVAL;
>  	}
> -- 
> 2.39.5
> 


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ