On 12/16/19 3:43 PM, Douglas R. Reno via blfs-dev wrote:
Good afternoon folks,
This is more of an observation than anything else, nothing needs to be
done yet and I haven't noticed any problems.
I have a system running with the kernel 5.4 API headers (my i686
machine), and just built OpenSSH. While building OpenSSH, I noticed the
following scrolling across my terminal:
renodr [ /sources ]$ cat /mnt/lfs/sources/openssh-8.1p1.log | grep sysctl.h
checking for sys/sysctl.h... yes
/usr/include/sys/sysctl.h:21:2: warning: #warning "The <sys/sysctl.h>
header is
deprecated and will be removed." [-Wcpp]
21 | #warning "The <sys/sysctl.h> header is deprecated and will be
removed."
This seems to be because the kernel developers plan to remove the sysctl
interface:
"The Linux 5.5 kernel is set to finally eliminate the code backing the
sysctl system call, which has been deprecated for about a decade and
should have no impact on modern systems of any architecture. The Linux
sysctl system call has long been deprecated and not advised for use with
the sysctl interface being exposed via //proc/sys/ being the preferred
means of reading/setting kernel system attributes. The change for Linux
5.5 isn't touching the /proc/sys support but is just about finally
removing the system call with the binary interface to sysctl on Linux
having been unused now for years -- well, the hope is there are no users
left but they admit to possibly needing to reverting the patch should
any real users come forward of this system call./"/
/https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.5-Kills-SYSCTL-SYSCALL/
//http://lkml.iu.edu/hypermail/linux/kernel/1911.3/02404.html
For some reason, at minimum, OpenSSH uses this header. Hopefully a
future release of OpenSSH before Linux-5.5 comes out will handle this.
A quick search of opnssh shows only servconf.c including this file and
that is conditional:
#ifdef HAVE_SYS_SYSCTL_H
#include <sys/sysctl.h>
#endif
servconf.c itself is big: 2708 lines. I suspect that is because it is
old, but to me is way too big.
I only see one call to sysctl() that is OpenBSD only. I suspect openssh
is OK as it is now.
In any case the only thing sysctl.h does is include features.h,
stddef.h, linux/sysctl.h, and bits/sysctl.h.
-- Bruce
--
http://lists.linuxfromscratch.org/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page