oss-sec mailing list archives

Re: [patch] proc.5: tell how to parse /proc/*/stat correctly


From: Shawn Webb <shawn.webb () hardenedbsd org>
Date: Wed, 28 Dec 2022 10:31:37 -0500

On Wed, Dec 28, 2022 at 10:24:58AM -0500, Shawn Webb wrote:
On Tue, Dec 27, 2022 at 04:44:49PM -0800, Lyndon Nerenberg (VE7TFX/VE6BBM) wrote:
Dominique Martinet writes:

But, really, I just don't see how this can practically be said to be parsable...

In its current form it never will be.  The solution is to place
this variable-length field last.  Then you can "cut -d ' ' -f 51-"
to get the command+args part (assuming I counted all those fields
correctly ...)

Of course, this breaks backwards compatability.

It would also break forwards compatibility in the case new fields
needed to be added.

The only solution would be a libxo-style feature wherein a
machine-parseable format is exposed by virtue of a file extension.

Examples:

1. /proc/pid/stats.json
2. /proc/pid/stats.xml
3. /proc/pid/stats.yaml_shouldnt_be_a_thing

To expand upon this idea, lets define an example json file:

{
        "schemaver": "20221228001",
        "name": "cat",
        "state": {
                "raw": "R",
                "intval": 1,
                "Pretty": "(Running)",
        },
        "tgid": 5452,
        "pid": 5452,
        "ppid": 743,
        "uid": {
                "real": 501,
                "effective": 501,
                "saved_set": 501,
                "fs": 501
        }
}

And so on.

-- 
Shawn Webb
Cofounder / Security Engineer
HardenedBSD

https://git.hardenedbsd.org/hardenedbsd/pubkeys/-/raw/master/Shawn_Webb/03A4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc

Attachment: signature.asc
Description:


Current thread: