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  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:   Sat, 22 Aug 2020 11:41:36 +0200
From:   Pali Rohár <pali@...nel.org>
To:     Ulf Hansson <ulf.hansson@...aro.org>
Cc:     linux-mmc@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 0/4] mmc: sdio: Export CISTPL_VERS_1 attributes to
 userspace

Hello Ulf! I would like to remind you this SDIO patch series. Could you
please look and review it?

On Monday 27 July 2020 15:38:33 Pali Rohár wrote:
> CISTPL_VERS_1 structure contains useful information for identification
> of SDIO cards. It contains revision number according to which standard
> is SDIO card compliant. And also it contain human readable info strings
> which should contain manufacturer name or product information, like for
> old PCMCIA cards. SDIO simplified specification 3.00 just contain
> reference to PCMCIA metaformat specification for definition of that
> CISTPL_VERS_1 structure itself.
> 
> Human readable SDIO card strings can be useful for userspace to do card
> identification. Until now kernel exported to userspace only vendor and
> device numbers but these numbers do not help to identify new or unknown
> cards.
> 
> 
> I have tested these patches with Marwell 88W8997 SDIO card (WiFi+Bluetooth)
> and here is content of attributes available in userspace:
> 
> $ grep . /sys/class/mmc_host/mmc0/mmc0:0001/* /sys/class/mmc_host/mmc0/mmc0:0001/*/*
> /sys/class/mmc_host/mmc0/mmc0:0001/device:0x9140
> /sys/class/mmc_host/mmc0/mmc0:0001/info1:Marvell
> /sys/class/mmc_host/mmc0/mmc0:0001/info2:Wireless Device ID: 50
> /sys/class/mmc_host/mmc0/mmc0:0001/ocr:0x00200000
> /sys/class/mmc_host/mmc0/mmc0:0001/rca:0x0001
> /sys/class/mmc_host/mmc0/mmc0:0001/revision:1.0
> /sys/class/mmc_host/mmc0/mmc0:0001/type:SDIO
> /sys/class/mmc_host/mmc0/mmc0:0001/uevent:MMC_TYPE=SDIO
> /sys/class/mmc_host/mmc0/mmc0:0001/uevent:SDIO_ID=02DF:9140
> /sys/class/mmc_host/mmc0/mmc0:0001/uevent:SDIO_REVISION=1.0
> /sys/class/mmc_host/mmc0/mmc0:0001/uevent:SDIO_INFO1=Marvell
> /sys/class/mmc_host/mmc0/mmc0:0001/uevent:SDIO_INFO2=Wireless Device ID: 50
> /sys/class/mmc_host/mmc0/mmc0:0001/uevent:SDIO_INFO3=
> /sys/class/mmc_host/mmc0/mmc0:0001/vendor:0x02df
> /sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/class:0x00
> /sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/device:0x9141
> /sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/info1:Marvell WiFi Device
> /sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/modalias:sdio:c00v02DFd9141
> /sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/revision:1.0
> /sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/uevent:DRIVER=mwifiex_sdio
> /sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/uevent:SDIO_CLASS=00
> /sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/uevent:SDIO_ID=02DF:9141
> /sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/uevent:SDIO_REVISION=1.0
> /sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/uevent:SDIO_INFO1=Marvell WiFi Device
> /sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/uevent:SDIO_INFO2=
> /sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/uevent:MODALIAS=sdio:c00v02DFd9141
> /sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/vendor:0x02df
> /sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:2/class:0x00
> /sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:2/device:0x9142
> /sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:2/info1:Marvell Bluetooth Device
> /sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:2/modalias:sdio:c00v02DFd9142
> /sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:2/revision:1.0
> /sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:2/uevent:DRIVER=btmrvl_sdio
> /sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:2/uevent:SDIO_CLASS=00
> /sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:2/uevent:SDIO_ID=02DF:9142
> /sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:2/uevent:SDIO_REVISION=1.0
> /sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:2/uevent:SDIO_INFO1=Marvell Bluetooth Device
> /sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:2/uevent:SDIO_INFO2=
> /sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:2/uevent:MODALIAS=sdio:c00v02DFd9142
> /sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:2/vendor:0x02df
> /sys/class/mmc_host/mmc0/mmc0:0001/power/control:auto
> /sys/class/mmc_host/mmc0/mmc0:0001/power/runtime_active_time:0
> /sys/class/mmc_host/mmc0/mmc0:0001/power/runtime_status:unsupported
> /sys/class/mmc_host/mmc0/mmc0:0001/power/runtime_suspended_time:0
> /sys/class/mmc_host/mmc0/mmc0:0001/subsystem/drivers_autoprobe:1
> 
> As can be seen SDIO card does not provide all 4 info strings as required by
> SDIO/PCMCIA specificaion and the third and the second strings are empty.
> 
> 
> Pali Rohár (4):
>   mmc: sdio: Check for CISTPL_VERS_1 buffer size
>   mmc: sdio: Parse CISTPL_VERS_1 major and minor revision numbers
>   mmc: sdio: Extend sdio_config_attr macro and use it also for modalias
>   mmc: sdio: Export SDIO revision and info strings to userspace
> 
>  drivers/mmc/core/bus.c        | 12 ++++++++
>  drivers/mmc/core/sd.c         | 36 +++++++++++++++++++++--
>  drivers/mmc/core/sdio.c       | 24 ++++++++++++++++
>  drivers/mmc/core/sdio_bus.c   | 54 ++++++++++++++++++++++++++---------
>  drivers/mmc/core/sdio_cis.c   | 11 +++++++
>  include/linux/mmc/card.h      |  2 ++
>  include/linux/mmc/sdio_func.h |  2 ++
>  7 files changed, 124 insertions(+), 17 deletions(-)
> 
> -- 
> 2.20.1
> 

Powered by blists - more mailing lists