[BK PATCH] TRIVIAL 2.6 patch to fix /proc/tty/driver/serial for non-CAP_SYS_ADMIN user

From: Matthias Andree
Date: Mon Oct 27 2003 - 08:56:12 EST


Linus,

I have a patch that touches drivers/serial/serial_core.c to fix a
problem with /proc/tty/driver/serial that affects users without
CAP_SYS_ADMIN capability (unprivileged users):

DIFFSTAT:

# serial_core.c | 3 +++
# 1 files changed, 3 insertions(+)

example broken output:

serinfo:1.0 driver revision:
0: uart:16550A port:000003F8 irq:41: uart:16550A port:000002F8 irq:32:
uart:unknown port:000003E8 irq:4
3: uart:unknown port:000002E8 irq:3
...

Lines for 0 and 1 are run together.

The attached BK patch below fixes this to:

0: uart:16550A port:000003F8 irq:4
1: uart:16550A port:000002F8 irq:3
2: uart:unknown port:000003E8 irq:4
3: uart:unknown port:000002E8 irq:3
...

"Root mode" is unaffected.

PULL FROM bk://129.217.163.1/linux-2.5/

ATTACHED is "bk send -" output SUITABLE FOR: bk receive

GNU PATCH (do not apply, use the BK stuff instead)

# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher.
# This patch includes the following deltas:
# ChangeSet 1.1359 -> 1.1359.1.1
# drivers/serial/serial_core.c 1.72 -> 1.73
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 03/10/27 matthias.andree@xxxxxx 1.1359.1.1
# Properly terminate /proc/tty/driver/serial output lines of known UARTS
# when the caller has no CAP_SYS_ADMIN capability.
# --------------------------------------------
#
diff -Nru a/drivers/serial/serial_core.c b/drivers/serial/serial_core.c
--- a/drivers/serial/serial_core.c Mon Oct 27 14:51:11 2003
+++ b/drivers/serial/serial_core.c Mon Oct 27 14:51:11 2003
@@ -1707,6 +1707,9 @@
strcat(stat_buf, "\n");

ret += sprintf(buf + ret, stat_buf);
+ } else {
+ strcat(buf, "\n");
+ ret++;
}
#undef STATBIT
#undef INFOBIT

--
Matthias Andree

Encrypt your mail: my GnuPG key ID is 0x052E7D95
This BitKeeper patch contains the following changesets:
1.1359.1.1

# User: matthias.andree
# Host: gmx.de
# Root: /suse/kernel/BK/linux-2.5

# Patch vers: 1.3
# Patch type: REGULAR

== ChangeSet ==
torvalds@xxxxxxxxxxxxxxxxxxxx|ChangeSet|20020205173056|16047|c1d11a41ed024864
tausq@xxxxxxxxxx[torvalds]|ChangeSet|20031026222704|00647
D 1.1359.1.1 03/10/27 06:29:34+01:00 matthias.andree@xxxxxx +1 -0
B torvalds@xxxxxxxxxxxxxxxxxxxx|ChangeSet|20020205173056|16047|c1d11a41ed024864
C
c Properly terminate /proc/tty/driver/serial output lines of known UARTS
c when the caller has no CAP_SYS_ADMIN capability.
K 24
P ChangeSet
------------------------------------------------

0a0
> rmk@xxxxxxxxxxxxxxxx|drivers/serial/serial_core.c|20020721233929|00111|3231cf8b6efd7067 matthias.andree@xxxxxx|drivers/serial/serial_core.c|20031027050655|19065

== drivers/serial/serial_core.c ==
rmk@xxxxxxxxxxxxxxxx|drivers/serial/serial_core.c|20020721233929|00111|3231cf8b6efd7067
rddunlap@xxxxxxxx[torvalds]|drivers/serial/serial_core.c|20031006052957|16317
D 1.73 03/10/27 06:06:55+01:00 matthias.andree@xxxxxx +3 -0
B torvalds@xxxxxxxxxxxxxxxxxxxx|ChangeSet|20020205173056|16047|c1d11a41ed024864
C
c Properly terminate /proc/tty/driver/serial output lines of known UARTS
c when the caller has no CAP_SYS_ADMIN capability.
K 19065
O -rw-rw-r--
P drivers/serial/serial_core.c
------------------------------------------------

I1709 3
} else {
strcat(buf, "\n");
ret++;

# Patch checksum=054a94a0