Bugzilla will be upgraded to version 5.0 on a still to be determined date in the near future. The original upgrade date has been delayed.
Bug 1201024 - [RFE] Increase sysctl -p line size limit
[RFE] Increase sysctl -p line size limit
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: procps (Show other bugs)
6.6
All Linux
medium Severity low
: rc
: ---
Assigned To: Ondrej Vasik
Branislav Náter
Petr Bokoc
: EasyFix, FutureFeature, Patch
Depends On:
Blocks: 1075802 1172231
  Show dependency treegraph
 
Reported: 2015-03-11 17:14 EDT by Frank Hirtz
Modified: 2016-05-10 20:28 EDT (History)
6 users (show)

See Also:
Fixed In Version: procps-3.2.8-36.el6
Doc Type: Enhancement
Doc Text:
*sysctl* configuration files can now contain longer lines Previously, *sysctl* configuration files could only contain lines up to 255 characters long. With this update, the maximum acceptable line length has been increased to 4095 characters.
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-05-10 20:28:12 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
procps-3.2.8-sysctl-linelen-4k.patch (535 bytes, patch)
2015-12-16 06:44 EST, Jaromír Cápík
no flags Details | Diff


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2016:0904 normal SHIPPED_LIVE procps bug fix and enhancement update 2016-05-10 18:51:16 EDT

  None (edit)
Description Frank Hirtz 2015-03-11 17:14:49 EDT
Description of problem:

In RHEL6, 'sysctl -p' has a hard-coded line size limit of 256 characters. 

<sysctl.c>
/*
 *     Preload the sysctl's from the conf file
 *           - we parse the file and then reform it (strip out whitespace)
 *
 */
static int Preload(const char *restrict const filename) {
   char oneline[256];
   char buffer[256];
   FILE *fp;
</sysctl.c>

Upstream and RHEL7 increase this to 4k:

<RHEL7 sysctl.c>
#define LINELEN 4096

/*
 * Preload the sysctl's from the conf file.  We parse the file and then
 * reform it (strip out whitespace).
 */
static int Preload(const char *restrict const filename)
{
        char oneline[LINELEN];
        char buffer[LINELEN];
        FILE *fp;
</RHEL7 sysctl.c>

My client would like to request that we increase this limit to bring it into line with newer releases as they currently do have conf lines which exceed this (and the rc.local workaround isn't ideal).

Version-Release number of selected component (if applicable):
procps-3.2.8-30.el6.x86_64
Comment 3 Jaromír Cápík 2015-12-16 06:44 EST
Created attachment 1106383 [details]
procps-3.2.8-sysctl-linelen-4k.patch
Comment 9 errata-xmlrpc 2016-05-10 20:28:12 EDT
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2016-0904.html

Note You need to log in before you can comment on or make changes to this bug.