lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 30 Jul 2008 17:06:55 +0300
From:	Adrian Bunk <adrian.bunk@...ial.fi>
To:	Tim Bird <tim.bird@...sony.com>
Cc:	Marco Berizzi <pupilla@...mail.com>,
	Alistair John Strachan <alistair@...zero.co.uk>,
	linux-kernel@...r.kernel.org, dwmw2@...radead.org,
	Grant Coady <grant_lkml@...o.com.au>,
	Andrew Morton <akpm@...ux-foundation.org>
Subject: [RFT: 2.6 patch] fix text console corruptions

On Tue, Jul 29, 2008 at 05:03:47PM -0700, Tim Bird wrote:
> Marco Berizzi wrote:
> > alistair@...zero.co.uk wrote:
> > 
> >> You don't actually say whether you had CONFIG_CONSOLE_TRANSLATIONS=y or not?
> > 
> > yes console_translation is set to yes. It cannot be changed if embedded is not
> > set.
> 
> If console_translation is set to yes, the behavior should be unchanged from
> 2.6.26.
>...

Your commit contains a change that breaks due to | having a higher 
precedence than ?: in C.

Untested patch below, can anyone who ran into this bug confirm that
it fixes it?

> Thanks,
>  -- Tim

cu
Adrian


<--  snip  -->


This patch fixes text console corruptions caused by
commit a29ccf6f823a84d89e1c7aaaf221cf7282022024
(Make console charset translation optional).

Reported-by: Marco Berizzi <pupilla@...mail.com>
Signed-off-by: Adrian Bunk <adrian.bunk@...ial.fi>

---
cab22ec7afdc4c08a10ef9730b0ae2848754532c 
diff --git a/include/linux/vt_kern.h b/include/linux/vt_kern.h
index 14c0e91..8c8119f 100644
--- a/include/linux/vt_kern.h
+++ b/include/linux/vt_kern.h
@@ -74,7 +74,7 @@ void con_protect_unimap(struct vc_data *vc, int rdonly);
 int con_copy_unimap(struct vc_data *dst_vc, struct vc_data *src_vc);
 
 #define vc_translate(vc, c) ((vc)->vc_translate[(c) |			\
-					(vc)->vc_toggle_meta ? 0x80 : 0])
+					((vc)->vc_toggle_meta ? 0x80 : 0)])
 #else
 #define con_set_trans_old(arg) (0)
 #define con_get_trans_old(arg) (-EINVAL)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ