Re: [RFC] Fix the kmod internal list behavior?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, May 07, 2013 at 12:14:59PM -0300, Lucas De Marchi wrote:
> On Tue, May 7, 2013 at 10:54 AM, Yang Chengwei <chengwei.yang@xxxxxxxxx> wrote:
> > Hi List,
> >
> > I just found that there are some minor issues in kmod iternal list
> > implementation implemented by libkmod-list.c.
> >
> > Say
> >         1. list_node_append() is identical with list_node_insert_before(),
> >         so somehow the list_node_append() in fact does "prepend" operation.
> 
> To append to a circular list, you insert it *before* the first node.
> So what's wrong here?

Yeap, it's definitely right. I was misunderstanding. :-(

> 
> >
> >         2. just the same as list_node_append(), kmod_list_append() which
> >         invokes the former just do "prepend" operation rather than "append".
> 
> like I said, it's expected, since it's circular. kmod_list_append()
> expect you to pass the head of the list, so to append to the list you
> prepend to the first node, but you don't return it as the new head
> unless it's the first one - check the return code.
> 
> >
> > I'd like to fix these internal APIs to do the operation suggested by its
> > name like
> >         1. drop list_node_append()
> >         2. call list_node_insert_after() to do "append" operation
> >         3. call list_mode_insert_before() to do "prepend" operation
> >
> > Since the list here is circular linked, so I think these changes should
> > not break things except the test cases.
> >
> > Any comments are appreciated.
> 
> Are you analyzing the source code or are you seeing a real problem?

Relax, no real issue found.

> It'd be nice to write a small test showing the problem - you can use

So I think it's not necessary to add a dedicate test for list, the
others somehow use the list, like modinfo test.

--
Thanks,
Chengwei

> the testsuite for this... take test-alias as an example (i.e. you need
> to link to the private lib).
> 
> regards
> Lucas De Marchi

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux