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: <bca61d40-f684-bd8f-c40c-cd4ee1f9972f@mev.co.uk>
Date:   Wed, 8 Mar 2017 12:36:41 +0000
From:   Ian Abbott <abbotti@....co.uk>
To:     Cheah Kok Cheong <thrust73@...il.com>,
        hsweeten@...ionengravers.com, gregkh@...uxfoundation.org,
        devel@...verdev.osuosl.org
Cc:     linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 2/2] Staging: comedi: comedi_fops: Fix "out of minor
 numbers for board device files"

On 07/03/17 18:13, Cheah Kok Cheong wrote:
> If comedi module is loaded with the following max allowed parameter
> [comedi_num_legacy_minors=48], subsequent loading of an auto-configured
> device will fail at auto-configuration. If there's no fall back in
> place then module loading will fail.
>
> In this case, a default to auto-configure comedi_test module failed
> to auto-configure with the following messages. It loaded but fell back
> to unconfigured mode.
>
> comedi_test comedi_testd: ran out of minor numbers for board device files
> comedi_test comedi_testd: driver 'comedi_test' could not create device.
> comedi_test: unable to auto-configure device
>
> This is due to changes in commit 38b9722a4414
> ("staging: comedi: avoid releasing legacy minors automatically") which
> will not allocate a minor number when comedi_num_legacy_minors equals
> COMEDI_NUM_BOARD_MINORS. COMEDI_NUM_BOARD_MINORS is defined to be
> 0x30 which is 48.

Sorry, I don't consider this to be a bug.  The number of minor device 
numbers available for auto-configured devices is 48 minus 
comedi_num_legacy_minors.  Using up all available minor device numbers 
is a useful test case for running out of minor device numbers, although 
this relies on knowing the limit is 48.  Perhaps the description of the 
module parameter could be improved to mention the limits, as could the 
error message when running out of minor device numbers.

Commit 38b9722a4414 is irrelevant here.  Prior to that commit, the first 
'comedi_num_legacy_minors' minor numbers were still allocated to legacy 
devices created during module initialization, leaving 48 minus 
comedi_num_legacy_minors minors (possibly none) available for 
auto-configured devices.

> This goes for a simple fix which limit comedi_num_legacy_minors to 47
> instead of tinkering with comedi_alloc_board_minor() and
> comedi_release_hardware_device().
>
> Fix: commit 38b9722a4414 ("staging: comedi: avoid releasing legacy minors
> automatically")
>
> Signed-off-by: Cheah Kok Cheong <thrust73@...il.com>
> ---
>
> V2:
> -Amend commit log to specify that comedi_test module failed
>  to auto-configure and fell back to unconfigured mode.
>  For other devices with no fall back, module loading will fail.

-- 
-=( Ian Abbott @ MEV Ltd.    E-mail: <abbotti@....co.uk> )=-
-=(                          Web: http://www.mev.co.uk/  )=-

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ