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]
Message-ID: <50A2DA0C.3090507@ahsoftware.de>
Date:	Wed, 14 Nov 2012 00:38:52 +0100
From:	Alexander Holler <holler@...oftware.de>
To:	Jean Delvare <khali@...ux-fr.org>
CC:	linux-kernel@...r.kernel.org, linux-i2c@...r.kernel.org,
	Till Harbaum <till@...baum.org>
Subject: Re: [PATCH 1/2] i2c: Add possibility for user-defined (i2c-)devices
 for bus-drivers.

Am 13.11.2012 22:42, schrieb Jean Delvare:
> On Tue, 13 Nov 2012 22:24:50 +0100, Alexander Holler wrote:
>> Am 13.11.2012 22:08, schrieb Jean Delvare:
>>> It probes in the sense "check if a device is present", not in the sense
>>> "check if the device there is really what the user told me." So very
>>> easy to get wrong. Plus there is no universal probe method on I2C,
>>> i2c_new_probed_device() uses a default heuristic which may not only
>>> fail to detect a device's presence, but may even heavily confuse the
>>> device in question. Usage of i2c_new_probed_device() should be limited
>>> to very specific cases.
>>
>> I know about that too. But I prefer such a probe instead of doing it
>> without an probe. Just try what happens if you add e.g. an pcf8563 (or
>> ds1307) which is not available. The driver doesn't care and you will
>> find an /dev/rtcN afterwards in your system. So probing is imho better
>> than not.
>
> Question is, what will you do the day someone wants to instantiate a
> device for which the default probing mechanism doesn't work?

Do you solve all problems you and others might have in the future 
already now?

> Plus you don't address the main issues. Your syntax gives you no way to
> support two i2c-tiny-usb adapters with different chips at a specific
> address. The sysfs interface supports such a setup. Also instantiating

It isn't possible to do such, because the only ID available for 
i2c-busses is given them at runtime. So people have to live with that 
imho artificially problem, if they use my patch. I don't have any other 
solution until the numbering is predictable. But I assume you already 
know all that, otherwise you wouldn't have mentioned it.

> the wrong devices is worse than instating a device that doesn't exist
> at all. So the use of i2c_new_probed_device() here will randomly help
> in a limited number of cases and randomly be problematic in others.
> Hard to justify...

So would you be satisfied if I would make the syntax more complicated by 
adding something which would allow them to define if the devices gets 
probed? E.g. dev1@...r1,dev2@...r2.noprobe,... ?

> I am not familiar with RTC constraints. What is so important about it
> that it can't wait for user-space? It'll have to wait for the USB and
> I2C stacks to initialize anyway, so it won't be available at the very
> early stages of the boot.

Try playing with a system which does have the wrong time. There is so 
much stuff which depends on the correct time, it is just a pain if the 
time is wrong or even the same across multiple system starts. And even 
if you know that, you might e.g. forget it and will use git to send some 
email and patches with erroneous times. But that is just an example.

And as I said, there might some other devices you might want or need in 
the future before usespace starts, so it solves a problem as the one 
above which I didn't have solved. ;)

Alexander

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