Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 18 Dec 2011 13:13:07 -0800
From:      Julian Elischer <julian@freebsd.org>
To:        =?ISO-8859-1?Q?Fernando_Apestegu=EDa?= <fernando.apesteguia@gmail.com>
Cc:        FreeBSD Hackers <freebsd-hackers@freebsd.org>
Subject:   Re: sysctl variable question
Message-ID:  <4EEE5763.6010509@freebsd.org>
In-Reply-To: <CAGwOe2bxBLHFcMzVygcaQjLrHsxFuccs9CHZoP30PC%2BDoORCdQ@mail.gmail.com>
References:  <CAGwOe2bxBLHFcMzVygcaQjLrHsxFuccs9CHZoP30PC%2BDoORCdQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 12/18/11 12:18 PM, Fernando Apesteguía wrote:
> Hi all,
>
> I'm writing a small module just for fun. I would like to have two variables:
>
> - "pid" of type unsigned int and RW so the user can set a pid
> - "process_name" as a string RD that will display the process name
> associated to that pid (or a message if the pid doesn't exist anymore)

this is dangerous as there are some places in the kernel where processes
are referenced by pid, so changing it may break kernel assumptions.
> My problem is with the handler functions. For "process_name", as it is
> read only, I wrote a simple handler that works fine. However, I want
> to write another one for "pid" so I can sanitize the input (avoiding
> pids<  0 and so). As I understand, the handler I specify with
> SYSCTL_OID will be called for both reads and writes. But, how can I
> tell what kind of operation is it, so I know if I have to use
> SYSCTL_OUT or SYSCTL_IN? I tried to have a look at sysctl_handle_int
> but I don't fully understand what is going on with the arg1 parameter.
> What is it for?
>
> Thanks in advance.
> _______________________________________________
> freebsd-hackers@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"
>




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4EEE5763.6010509>