From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Google-Smtp-Source: AH8x225vx8XzPzcPGZ5IJyRUS7wmCwuujV/ADlO1+BISUxG2sxMC/QJuwUhn8TO37zDjPM6fhekt ARC-Seal: i=1; a=rsa-sha256; t=1517360205; cv=none; d=google.com; s=arc-20160816; b=tM1eBdh3jXbCxmmlxTXCYQ8kSQsHM2whenROXTJAkCtuqDiL5QQ9v8EHqOPalgIlFZ 7fjXX3kNi9SJlaRddo8qLDhiElHq5r5sXVtSMtOdajWhHIW7spdOgoQ4Gv1KC09hXSgB Eaeo3JVSUje2RKKvK4/TqNwewAGZOZU/zdToxuuEWnyT9S3nhaQQNYn9dUE7y45is8KJ wuY/ozIK2JRweQN2IxQ5h5rSKxHGn3MEf2n6uNc5yMzJ0kqtcMMfnic6Wtxtyn9+9H2r cQm2uLd9UCdgeGiMMN2Zf/1Eh2jpwZIJk5VSjWGdmTyGZZyaLIl6TZzJVYaj1cdJVrX0 5DKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:content-language:mime-version:user-agent :date:message-id:subject:from:cc:to:arc-authentication-results; bh=+OPn6acHeAtVfukUZhbUlGk3/PUHBKK/jwpgOgyuCYM=; b=ujjOBo+GR5xDUFPYYsZ0LQgkuHJSdHOkQ2iAaBtKJsog4XkptkDSVtyO5I3stW2Vkg cEH7vCHklrer+STM9oPNdpPYwBRnlnd3BAlqbZ9dRZDybMhElCQmOwqXbbBCd8NYsXEp IcMmJtckhvap7XKy3zV8naQFfBkW8YSjphJHQAUPZZZ5C9njvhlBQu9AWkHKLR4OQHLY hnSm6fQ3x2nsJEVUJ/gE5s9zPWvDZ18RL4LBjeydP/4MICxGEP3T1hI11ayaopDVzyWP RxfHkIcwPSQIP/GMdvbMsMjLwLTAXKJ7/JSjysLuIyKsueZNV3etAz6POBKKIIu6vJc+ X4UQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of srivatsa@csail.mit.edu designates 128.30.2.210 as permitted sender) smtp.mailfrom=srivatsa@csail.mit.edu; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=csail.mit.edu Authentication-Results: mx.google.com; spf=pass (google.com: domain of srivatsa@csail.mit.edu designates 128.30.2.210 as permitted sender) smtp.mailfrom=srivatsa@csail.mit.edu; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=csail.mit.edu To: logang@deltatee.com, gregkh@linuxfoundation.org Cc: axboe@kernel.dk, jlayton@poochiereds.net, bfields@fieldses.org, linux-kernel@vger.kernel.org, "Srivatsa S. Bhat" From: "Srivatsa S. Bhat" Subject: Change in register_blkdev() behavior Message-ID: Date: Tue, 30 Jan 2018 16:56:32 -0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1591067494565207085?= X-GMAIL-MSGID: =?utf-8?q?1591067494565207085?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: Hi, Before commit 133d55cdb2f "block: order /proc/devices by major number", if register_blkdev() was called with major = [1..UINT_MAX], it used to succeed (provided the requested major number was actually free). However, while fixing the ordering in /proc/devices, commit 133d55cdb2f also added this change: @@ -309,6 +309,14 @@ int register_blkdev(unsigned int major, const char *name) ret = major; } + if (major >= BLKDEV_MAJOR_MAX) { + pr_err("register_blkdev: major requested (%d) is greater than the maximum (%d) for %s\n", + major, BLKDEV_MAJOR_MAX, name); + + ret = -EINVAL; + goto out; + } + p = kmalloc(sizeof(struct blk_major_name), GFP_KERNEL); if (p == NULL) { ret = -ENOMEM; So, after this commit, calls to register_blkdev() fail if the requested major number is >= 512 (BLKDEV_MAJOR_MAX). I'm wondering if this was an intentional change or not, as it wasn't explicitly called out in the changelog (and the comment on top of register_blkdev() describing its inputs seems quite out-of-date). This also breaks LTP testcase block_dev/tc05, which tests for edge-cases and expects register_blkdev() to succeed with major=UINT_MAX. If the restriction on the major number was intentional, perhaps we should get the LTP testcase modified for kernel versions >= 4.14. Otherwise, we should fix register_blkdev to preserve the old behavior. (I guess the same thing applies to commit 8a932f73e5b "char_dev: order /proc/devices by major number" as well). Thoughts? Regards, Srivatsa