From: Geert Uytterhoeven <geert@linux-m68k.org>
To: linux-ia64@vger.kernel.org
Subject: [Linux-ia64] Re: console_loglevel is broken on ia64
Date: Wed, 17 Oct 2001 15:00:09 +0000 [thread overview]
Message-ID: <marc-linux-ia64-105590698805360@msgid-missing> (raw)
In-Reply-To: <marc-linux-ia64-105590698805358@msgid-missing>
On Wed, 17 Oct 2001, Keith Owens wrote:
> kernel/printk.c has this abomination.
>
> /* Keep together for sysctl support */
> int console_loglevel = DEFAULT_CONSOLE_LOGLEVEL;
> int default_message_loglevel = DEFAULT_MESSAGE_LOGLEVEL;
> int minimum_console_loglevel = MINIMUM_CONSOLE_LOGLEVEL;
> int default_console_loglevel = DEFAULT_CONSOLE_LOGLEVEL;
>
> sysctl assumes that the 4 variables occupy contiguous storage. They
> don't on ia64, console_loglevel is separate from the other variables.
>
> echo 6 4 1 7 > /proc/sys/kernel/printk
>
> on ia64 overwrites console_loglevel and the next 3 integers, whatever
> they happen to be. On 2.4.12 it corrupts console_sem, other ia64
> kernels will corrupt different data.
>
> Does anybody fancy a small project to clean up these variables? They
> need to become an integer array (say console_printk) containing 4
> elements, which is what sysctl assumes. All references to these fields
> have to be changed to refer to the corresponding array element. That
> should be as simple as
This is not the only problem related to sysctl. We still have
{KERN_REALROOTDEV, "real-root-dev", &real_root_dev, sizeof(int)
in kernel/sysctl.c, with
kdev_t real_root_dev;
in init/main.c,
extern kdev_t real_root_dev;
in drivers/block/rd.c, and
typedef unsigned short kdev_t;
in <linux/kdev_t.h>. Kaboom on big endian boxes, escpecially if the alignment
rules are 2-bytes, like on m68k.
In the m68k tree we have (since ages) a patch to change real_root_dev to int
and add some casts. Patch available upon request.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
next prev parent reply other threads:[~2001-10-17 15:00 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-10-17 13:39 [Linux-ia64] Re: console_loglevel is broken on ia64 Jesper Juhl
2001-10-17 13:53 ` Keith Owens
2001-10-17 15:00 ` Geert Uytterhoeven [this message]
2001-10-17 15:29 ` Randy.Dunlap
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=marc-linux-ia64-105590698805360@msgid-missing \
--to=geert@linux-m68k.org \
--cc=linux-ia64@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox