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, 08 Jun 2011 07:26:58 +0200
From:	Németh Márton <nm127@...email.hu>
To:	Greg KH <greg@...ah.com>
CC:	Greg Kroah-Hartman <gregkh@...e.de>,
	Matt Mooney <mfm@...eddisk.com>,
	Kulikov Vasiliy <segooon@...il.com>,
	Endre Kollar <taxy443@...il.com>,
	Arjan Mels <arjan.mels@....net>,
	Ilia Mirkin <imirkin@...m.mit.edu>,
	David Chang <dchang@...ell.com>,
	Himanshu Chauhan <hschauhan@...ltrace.org>,
	Max Vozeler <max@...eler.com>, Arnd Bergmann <arnd@...db.de>,
	usbip-devel@...ts.sourceforge.net, devel@...verdev.osuosl.org,
	LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] usbip: handle length at sysfs show() functions

Greg KH wrote:
> On Wed, Jun 01, 2011 at 07:14:07AM +0200, Németh Márton wrote:
>> The sysfs show() functions shall return the actual content length of
>> the result buffer. According to Documentation/filesystems/sysfs.txt:215
>> the scnprintf() function is preferred.
>>
>> See also the article titled "snprintf() confusion" at
>> http://lwn.net/Articles/69419/ .
>
> [...]
>
> Here we are doing lots of work to try to put more than one value in the
> sysfs file, and return the proper data to the kernel about how big the
> buffer we used.
> 
> That's wrong, and violates the "one value per file" sysfs rule, so that
> should be fixed instead of trying to change the sprintf() call.

As I understand there is a need to change the design here. Currently I
get the following content when vhci-hcd is loaded but not yet used:

$ cat /sys/devices/platform/vhci_hcd/status
prt sta spd bus dev socket           local_busid
000 004 000 000 000 0000000000000000 0-0
001 004 000 000 000 0000000000000000 0-0
002 004 000 000 000 0000000000000000 0-0
003 004 000 000 000 0000000000000000 0-0
004 004 000 000 000 0000000000000000 0-0
005 004 000 000 000 0000000000000000 0-0
006 004 000 000 000 0000000000000000 0-0
007 004 000 000 000 0000000000000000 0-0

The fields are: port, status, speed, device ID, socket pointer and
local busid name. This is too complex for sysfs. Maybe we could extend
the devices file of usbfs with some new rows?

The current output of the devices file already contains some fields
with same name, but I don't have the overview to see whether this
could replace the current /sys/devices/platform/vhci_hcd/status file.

$ cat /proc/bus/usb/devices
[...]

T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  3 Spd=1.5  MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0458 ProdID=003a Rev= 1.00
S:  Manufacturer=Genius
S:  Product=Optical Mouse
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=usbhid
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=10ms

[...]

Regards,

	Márton Németh

--
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