Re: [PATCH] tty: Revert the removal of the Cyclades public API

From: Greg Kroah-Hartman
Date: Sat Jan 15 2022 - 03:17:28 EST


On Fri, Jan 14, 2022 at 08:54:05PM +0000, Maciej W. Rozycki wrote:
> Fix a user API regression introduced with commit f76edd8f7ce0 ("tty:
> cyclades, remove this orphan"), which removed a part of the API and
> caused compilation errors for user programs using said part, such as
> GCC 9 in its libsanitizer component[1]:
>
> .../libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc:160:10: fatal error: linux/cyclades.h: No such file or directory
> 160 | #include <linux/cyclades.h>
> | ^~~~~~~~~~~~~~~~~~
> compilation terminated.
> make[4]: *** [Makefile:664: sanitizer_platform_limits_posix.lo] Error 1

So all we need is an empty header file? Why bring back all of the
unused structures?

> Any part of the public API is a contract between the kernel and the
> userland and therefore once there it must not be removed even if its
> implementation side has gone and any relevant calls will now fail
> unconditionally.

Does this code actually use any of these structures?

> Revert the part of the commit referred then that affects the user API,
> bringing the most recent version of <linux/cyclades.h> back verbatim
> modulo the removal of trailing whitespace which used to be there, and
> updating <linux/major.h> accordingly.

Why major.h? What uses that? No userspace code should care about that.

Also, your text here is full of trailing whitespace, so I couldn't take
this commit as-is anyway :(

thanks,

greg k-h