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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.