kernelnewbies.kernelnewbies.org archive mirror
 help / color / mirror / Atom feed
* Clarification regarding design of a device.
@ 2011-05-02 17:23 mindentropy
  2011-05-02 17:28 ` Mulyadi Santosa
  0 siblings, 1 reply; 5+ messages in thread
From: mindentropy @ 2011-05-02 17:23 UTC (permalink / raw)
  To: kernelnewbies

Hi,

   I have say a crypto device and if I pass a data stream assuming echo "test" 
> /dev/aes and when I read it I get an encrypted output. Now if a program 
opens the same device twice should and pass different streams should I 
differentiate those 2 streams and have encrypted buffers of these 2 streams as 
output? If yes how should I differentiate it? Or should I not differentiate and 
provide different devices say aes0,aes1 or should the userspace program worry 
about locking and sharing of resource?

Thanks.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Clarification regarding design of a device.
  2011-05-02 17:23 Clarification regarding design of a device mindentropy
@ 2011-05-02 17:28 ` Mulyadi Santosa
  2011-05-02 18:02   ` mindentropy
  2011-05-05 18:36   ` mindentropy
  0 siblings, 2 replies; 5+ messages in thread
From: Mulyadi Santosa @ 2011-05-02 17:28 UTC (permalink / raw)
  To: kernelnewbies

Hi...

On Tue, May 3, 2011 at 00:23, mindentropy <mindentropy@gmail.com> wrote:
> Hi,
>
> ? I have say a crypto device and if I pass a data stream assuming echo "test"
>> /dev/aes and when I read it I get an encrypted output. Now if a program
> opens the same device twice should and pass different streams should I
> differentiate those 2 streams and have encrypted buffers of these 2 streams as
> output? If yes how should I differentiate it? Or should I not differentiate and
> provide different devices say aes0,aes1 or should the userspace program worry
> about locking and sharing of resource?

I am not keen regarding char/block device management, but I think you
should separate those streams.

How? Well, same thing like you open a same file twice, right? You're
given two different file descriptor. After all, the "open", "read" and
"write" handler of device IMHO always assume that we wanna achieve
such different stream, right?

-- 
regards,

Mulyadi Santosa
Freelance Linux trainer and consultant

blog: the-hydra.blogspot.com
training: mulyaditraining.blogspot.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Clarification regarding design of a device.
  2011-05-02 17:28 ` Mulyadi Santosa
@ 2011-05-02 18:02   ` mindentropy
  2011-05-05 18:36   ` mindentropy
  1 sibling, 0 replies; 5+ messages in thread
From: mindentropy @ 2011-05-02 18:02 UTC (permalink / raw)
  To: kernelnewbies

On Monday 02 May 2011 10:58:45 PM Mulyadi Santosa wrote:

> 
> I am not keen regarding char/block device management, but I think you
> should separate those streams.
> 
> How? Well, same thing like you open a same file twice, right? You're
> given two different file descriptor. After all, the "open", "read" and
> "write" handler of device IMHO always assume that we wanna achieve
> such different stream, right?

Although given two file descriptors when I write some content it will be on the 
same file right? Shouldn't the same file analogy apply?

I thought about using file descriptors to separate streams, but have to take 
care of ensuring completion of processing the buffer when closed.  This I feel 
should be done if the descriptor gets reused.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Clarification regarding design of a device.
  2011-05-02 17:28 ` Mulyadi Santosa
  2011-05-02 18:02   ` mindentropy
@ 2011-05-05 18:36   ` mindentropy
  2011-05-05 23:22     ` Mulyadi Santosa
  1 sibling, 1 reply; 5+ messages in thread
From: mindentropy @ 2011-05-05 18:36 UTC (permalink / raw)
  To: kernelnewbies

On Monday 02 May 2011 10:58:45 PM Mulyadi Santosa wrote:
> 
> I am not keen regarding char/block device management, but I think you
> should separate those streams.
> 
> How? Well, same thing like you open a same file twice, right? You're
> given two different file descriptor. After all, the "open", "read" and
> "write" handler of device IMHO always assume that we wanna achieve
> such different stream, right?

Sounds silly but how do I get access to the file descriptor?

Also If I make the user create a session for an operation similar to this 
paper 
http://www.usenix.org/event/usenix03/tech/full_papers/keromytis/keromytis_html/node8.html#SECTION00042000000000000000, 
should I remove the read, write operations and do all operations using ioctl 
commands i.e. reading the user buffer etc?

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Clarification regarding design of a device.
  2011-05-05 18:36   ` mindentropy
@ 2011-05-05 23:22     ` Mulyadi Santosa
  0 siblings, 0 replies; 5+ messages in thread
From: Mulyadi Santosa @ 2011-05-05 23:22 UTC (permalink / raw)
  To: kernelnewbies

Hi :)

On Fri, May 6, 2011 at 01:36, mindentropy <mindentropy@gmail.com> wrote:
>
> Sounds silly but how do I get access to the file descriptor?

to the best I know, kernel assign it for you and you access it from
the give file structure. For example, look at open handler
fs/proc/cpuinfo.c. You will see these:
static int cpuinfo_open(struct inode *inode, struct file *file)

Ok, I revise, perhaps not filedescriptor, but file structure itself.

> Also If I make the user create a session for an operation similar to this
> paper
> http://www.usenix.org/event/usenix03/tech/full_papers/keromytis/keromytis_html/node8.html#SECTION00042000000000000000,
> should I remove the read, write operations and do all operations using ioctl
> commands i.e. reading the user buffer etc?
>

There's a plus and minus of simply using ioctl for all read and write.
IMHO, ioctls are needed if you need various "sub command" toward the
device file, i.e if I took KVM for example: to setup new guest
structure, to ask for memory and so on. So, if you don't really need
to do such "extra" things, I believe it's better to still use
read/write handler for read/write operation.

-- 
regards,

Mulyadi Santosa
Freelance Linux trainer and consultant

blog: the-hydra.blogspot.com
training: mulyaditraining.blogspot.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-05-05 23:22 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-05-02 17:23 Clarification regarding design of a device mindentropy
2011-05-02 17:28 ` Mulyadi Santosa
2011-05-02 18:02   ` mindentropy
2011-05-05 18:36   ` mindentropy
2011-05-05 23:22     ` Mulyadi Santosa

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).