Re: C programming resource

2010-11-22 Thread Anuz Pratap Singh Tomar
On Tue, Nov 23, 2010 at 5:37 AM, Sameer Rahmani  wrote:

> Hi,
> i'm not a C programmer , but i have a medium level of C programming
> knowledge that i think its not enough for spend time on kernel source.
> so could you people guide me for choosing a good resource for improving my
> C programming knowledge?
>
here is the thread, which have FAQ, until this makes to the newbies site,
you can refer to this mail or entire thread:
http://mail.nl.linux.org/kernelnewbies/2010-11/msg00210.html


Re: C programming resource

2010-11-22 Thread Bond
On Tue, Nov 23, 2010 at 11:07 AM, Sameer Rahmani  wrote:
> Hi,
> i'm not a C programmer , but i have a medium level of C programming
> knowledge that i think its not enough for spend time on kernel source.
> so could you people guide me for choosing a good resource for improving my C
> programming knowledge?
>

I am in a similar situation as you are.Believe me the question you
asked I have asked here.
For people like you and me here is a document which will be put on the
wiki page of this list
http://www.spinics.net/lists/newbies/msg41296.html
As far as your question goes I totally agree that many a times I have
found data structures,typedefs,macros defined in the
kernel sources which you may not find else where on the planet easily.
I read the C book Kerninghan Ritchie and what ever was available to me
(which were considered as good books  on C in my locality)
but still I found things difficult to understand.
As far as your question goes if you are interested to understand the C
programming things used in Kernel I would suggest pick up a project or
some code and try to start understanding it.This will improve a lot of
your C.

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecar...@nl.linux.org
Please read the FAQ at http://kernelnewbies.org/FAQ



Re: C programming resource

2010-11-22 Thread hiren panchasara
Pasting this from the faq doc Anuz recently prepared (with help from
others on this list) for newbies.

Thanks,
Hiren

C language programming books:

1. The C programming language by Kerninghan and Ritchie.
Its a must-have book, most code in Kernel is written in C language and
mastering C is important and there is nothing better than KnR for this job.
2. Practical C programming by By Steve Oualline
Good book for developing a good coding style in C language
3. C traps and pitfalls by Andrew koeing
A book which talks about limitations and issues with C programming, a very
helpful textbook to understand where you can make mistakes.
4. Expert C programming: deep C secrets by Peter V Linden
A very good books, which teaches a lot of nuances of  C language.
5. The C programming Manual by Harbison and Steele
This book ventures deep into the C programming language mostly details of
standards and changes in C, its quite advance in nature.



On Mon, Nov 22, 2010 at 9:37 PM, Sameer Rahmani  wrote:

> Hi,
> i'm not a C programmer , but i have a medium level of C programming
> knowledge that i think its not enough for spend time on kernel source.
> so could you people guide me for choosing a good resource for improving my
> C programming knowledge?
>


Re: Building the linux kernel

2010-11-22 Thread Tapas Mishra
On Tue, Nov 23, 2010 at 9:25 AM, sugnan prabhu  wrote:
> Hello,
>      I am a newbie and am trying to build the kernel, the kernel version am
> trying to build in 2.6.36, i have added few header files and kernel module
Check this page
http://crashcourse.ca/introduction-linux-kernel-programming/lesson-1-building-and-running-new-linux-kernel
it is a free lesson and this should answer most of your queries.
-- 
http://mightydreams.blogspot.com

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecar...@nl.linux.org
Please read the FAQ at http://kernelnewbies.org/FAQ



C programming resource

2010-11-22 Thread Sameer Rahmani
Hi,
i'm not a C programmer , but i have a medium level of C programming
knowledge that i think its not enough for spend time on kernel source.
so could you people guide me for choosing a good resource for improving my C
programming knowledge?


Re: Building the linux kernel

2010-11-22 Thread neependra.kh...@gmail.com
Hi Sugan,
On Tue, Nov 23, 2010 at 9:25 AM, sugnan prabhu wrote:

> Hello,
>  I am a newbie and am trying to build the kernel, the kernel version am
> trying to build in 2.6.36, i have added few header files and kernel module
> in the kernel before the compilation, that procedure have followed is,
>

How you added the kernel modules and header files?


> what i found is the kernel module load properly whenever a particular
> device is connected and that was the way it was written
> but only problem am facing is that the headers file that was suppose to be
> there after installing the kernel is not the in the /usr/include directory
>

I am assuming this if for the custom header files.
Have you specified in the make file to install the custom header files at at
specified location?



-- 
Regards,
Neependra
www.neependra.net


Building the linux kernel

2010-11-22 Thread sugnan prabhu
Hello,
 I am a newbie and am trying to build the kernel, the kernel version am
trying to build in 2.6.36, i have added few header files and kernel module
in the kernel before the compilation, that procedure have followed is,

$make
$make module
$sudo make modules_install
$sudo make install
/boot$sudo mkinitramfs -o initrd.img-2.6.36 2.6.36
$sudo update-grub

what i found is the kernel module load properly whenever a particular device
is connected and that was the way it was written
but only problem am facing is that the headers file that was suppose to be
there after installing the kernel is not the in the /usr/include directory

i even tried creating the .debian file, i do see that the header i have
added is present in the *
linux-headers-2.6.3638_2.6.3638-10.00.Custom_i386.deb*

please can someone tell am i wrong anywhere during the build process

Thanks in advance,

--
Thanking You,
Sugnan Prabhu S
http://sugnanprabhu.blogspot.com/


Re: how is a device detected

2010-11-22 Thread Yuchen Liao
AFAIK, in the device_add() function (in driver/base/core.c), kernel will
invoke "device_create_file()" function to create the "*uevent*" file;
(The kobj is also added in this device_add() function by invoke
kobject_add() function)

In user space, the *udevd* is listening the NETLINK_KOBJECT_EVENT to get the
"uevent" event. Then it will find a match udev rule under the
/etc/udev/rules.d/.
It will make changes according to the rule(Like create the device file under
/dev).

Every device when it is register, it will create a uevent file(by this way,
can trigger a hotplug event), can write a "add" or "remove" command to add
or remove a device.

When starting computer, kernel will register a lot of devices, but the
udev(in user space) is not start. After it start, it will scan the sysfs, to
get all the uevent file, and write "add" into it. In this way, the event
been triggered.


I'm not so sure that I'm right. Please correct me if there is anything
wrong. Thank you~

On Mon, Nov 22, 2010 at 3:22 AM, Mulyadi Santosa
wrote:

> On Mon, Nov 22, 2010 at 13:37, Bond  wrote:
> > Hi, in  some of the books I am reading I find
> > a text which mentions MODULE_DEVICE_TABLE () macro makes a user
> > defined structure available  in the module image so that the module
> > can be loaded on demand if the card is hotplugged.
> > I am not clear with how is this detection happening inside the kernel.
> > How does the kernel detects the presence of a particular device?( I am
> > not referring to the probe function defined in many drivers)
>
> AFAIK, when a device is hotplugged, it raised an interrupt...and
> assuming a handler sits there (from device driver), then it is
> captured and registered in a subsystem...that is kobject..I
> think..which is related to sysfs.
>
> Greg KH and others might know better
>
>
> --
> regards,
>
> Mulyadi Santosa
> Freelance Linux trainer and consultant
>
> blog: the-hydra.blogspot.com
> training: mulyaditraining.blogspot.com
>
> --
> To unsubscribe from this list: send an email with
> "unsubscribe kernelnewbies" to ecar...@nl.linux.org
> Please read the FAQ at http://kernelnewbies.org/FAQ
>
>


-- 
from Yuchen Liao via Gmail
yyloves.me


RE: crap, i think LKD3 explains linked list head nodes incorrectly ...

2010-11-22 Thread Bruce Blinn
> 
> On Sun, 21 Nov 2010, Bruce Blinn wrote:
> 
> > New task structures are added into the list in kernel/fork.c (line 
> > 1743 in my source).
> 
>   that's not what i see here, can you reproduce the few lines 
> at that point?  i had assumed it was in fork.c somewhere.

Sorry, I got the line number wrong. It should have been 1269. It is in the
copy_process() function.

list_add_tail_rcu(&p->tasks, &init_task.tasks);

Bruce


--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecar...@nl.linux.org
Please read the FAQ at http://kernelnewbies.org/FAQ



Re: Why the kernel is located in user space?

2010-11-22 Thread Venkatram Tummala
2010/11/22 Jakub Kiciński 

> Hi,
>
> Dnia 19-11-2010 o 06:17:53 Venkatram Tummala 
> napisał(a):
>
>  2010/11/18 Parmenides 
>>
>>  2. For the kernel code, is it feasible to the use the user stack? Why
>>> do we bother to switch to the kernel stack?
>>>
>>>  The answer is Yes, you could. But it would be pretty messy &
>> inconvenient.
>> We just don't do it in the linux kernel atleast on x86. Kernel Data
>> Segment
>> & User Data Segment is different. I guess you could just map the user
>> space
>> stack in the kernel address space too & use it. Using two seperate stacks
>> is
>> just more efficient & convenient.
>>
>
> Wouldn't it be a security bug to use the same stack for both? Kernel
> function's parameters and auto variables would be still sitting above (well,
> in x86 under ;) stack pointer. Not sure though if attacker could find
> anything interesting there...
>
I don't think so.  Kernel function's parameters & auto variables on the
stack only live until the lifetime of the procedure. If we were using just
one stack for both user & kernel, when we make a switch (1) user -> kernel &
then (2) kernel->user, the stack would be in the state it was before (1).
Its a stack. If procedure A calls Procedure B in single shared address
space, they share the stack. When procedure B returns, there is nothing to
poke around for Procedure A about Procedure B on the stack.

Venkatram Tummala

>
> Regards,
> moorray
>


Re: Why the kernel is located in user space?

2010-11-22 Thread Mulyadi Santosa
Hi...

2010/11/22 Jakub Kiciński :
> Wouldn't it be a security bug to use the same stack for both? Kernel
> function's parameters and auto variables would be still sitting above (well,
> in x86 under ;) stack pointer. Not sure though if attacker could find
> anything interesting there...


Yes, of course, but it just meant "it can", not "it must be". This is
strictly design decision IMO

-- 
regards,

Mulyadi Santosa
Freelance Linux trainer and consultant

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

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecar...@nl.linux.org
Please read the FAQ at http://kernelnewbies.org/FAQ



Re: Why the kernel is located in user space?

2010-11-22 Thread Jakub Kiciński

Hi,

Dnia 19-11-2010 o 06:17:53 Venkatram Tummala   
napisał(a):



2010/11/18 Parmenides 


2. For the kernel code, is it feasible to the use the user stack? Why
do we bother to switch to the kernel stack?

The answer is Yes, you could. But it would be pretty messy &  
inconvenient.
We just don't do it in the linux kernel atleast on x86. Kernel Data  
Segment
& User Data Segment is different. I guess you could just map the user  
space
stack in the kernel address space too & use it. Using two seperate  
stacks is

just more efficient & convenient.


Wouldn't it be a security bug to use the same stack for both? Kernel  
function's parameters and auto variables would be still sitting above  
(well, in x86 under ;) stack pointer. Not sure though if attacker could  
find anything interesting there...


Regards,
moorray

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecar...@nl.linux.org
Please read the FAQ at http://kernelnewbies.org/FAQ



Re: is there still an active kernel janitors project?

2010-11-22 Thread Kaspter Ju
On 11/21/2010 9:06 PM, Robert P. J. Day wrote:
> 
>   i can suggest some very specific cleanups people can work on if
> they're bored.  one related to lists:
> 
>   list_for_each() -> list_for_each_entry() calls
> 
> that is, modifying the numerous (older-style) list_for_each() calls to
> the more convenient list_for_each_entry() calls, something that can
> be done little by little, a subsystem at a time.  good way to jump
> into kernel janitor work and get your name in the log.
> 
> rday
> 
Hi Robert,

+1. :)

Regards,

-- 
Kaspter

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecar...@nl.linux.org
Please read the FAQ at http://kernelnewbies.org/FAQ



Re: guidelines, faqs and dos and don'ts document

2010-11-22 Thread Mulyadi Santosa
On Mon, Nov 22, 2010 at 17:42, Anuz Pratap Singh Tomar
 wrote:
> So I guess document is ready to be used/uploaded to kerrnelnewbie site if
> there are no more points/suggestions or criticism.

You have my support... the document looks good!

-- 
regards,

Mulyadi Santosa
Freelance Linux trainer and consultant

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

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecar...@nl.linux.org
Please read the FAQ at http://kernelnewbies.org/FAQ



Socket Connection from Kernel Space

2010-11-22 Thread Tharindu Rukshan Bamunuarachchi
hi All,

We are writing distributed file system over RDMA.
Initially we are trying export file system data over UDP multicast so same
method can be used to export data over UD/RDMA.

Is it safe to send udp data from kernel space ? we have to open the socket
which will multicast set of data.
What is the difference between sock_create() and sock_create_kern() ?

Thanks a lot.
__
Tharindu *R* Bamunuarachchi.


Re: and there's a routine for *sorting* a kernel linked list as well

2010-11-22 Thread Robert P. J. Day
On Sun, 21 Nov 2010, Greg KH wrote:

> On Sun, Nov 21, 2010 at 02:23:18AM -0500, Robert P. J. Day wrote:
> >
> >   what started off as just some nonchalant poking around in kernel
> > data structures has become moderately educational.  i had no idea
> > that there is support for *sorting* the nodes of a kernel LL in
> > :
> >
> >
> > void list_sort(void *priv, struct list_head *head,
> >int (*cmp)(void *priv, struct list_head *a,
> >   struct list_head *b));
> >
> >
> >   doesn't seem to be a lot of folks using that:
>
> It's very new.  The drm code needed it, so they took it from the xfs
> code and made it common code.
>
> >   i wonder how much kernel code manually sorts a linked list, not
> > realizing that there's kernel library support for that.
>
> Hopefully none other, if you find some please feel free to convert
> it to use the core code.

  ah, thanks for clearing that up.  i may add that to my LKD3 page,
just for the informational value.

rday

p.s.  speaking of LKD3, i'm still taking submissions for
fixes/enhancements to the LKD3 book.

-- 


Robert P. J. Day   Waterloo, Ontario, CANADA
http://crashcourse.ca

Twitter:   http://twitter.com/rpjday
LinkedIn:   http://ca.linkedin.com/in/rpjday


--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecar...@nl.linux.org
Please read the FAQ at http://kernelnewbies.org/FAQ



Re: is there still an active kernel janitors project?

2010-11-22 Thread Robert P. J. Day
On Mon, 22 Nov 2010, Prabhu nath wrote:

> Hi Robert,
>
>   I am also interested.
>
> Regards,
> Prabhu
>
>
> On Sun, Nov 21, 2010 at 6:36 PM, Robert P. J. Day  
> wrote:
>
>    i can suggest some very specific cleanups people can work on if
>   they're bored.  one related to lists:
>
>    list_for_each() -> list_for_each_entry() calls
>
>   that is, modifying the numerous (older-style) list_for_each() calls
>   to
>   the more convenient list_for_each_entry() calls, something that can
>   be done little by little, a subsystem at a time.  good way to jump
>   into kernel janitor work and get your name in the log.
>
>   rday

  hi, folks.  just to be clear, i wasn't trying to *organize* the
kernel janitors' project, i was just asking if it was still active,
whether there was a current list of desired janitorial work and so on.

  i can certainly make some *suggestions* as to some janitor work that
would be useful, and i suspect others have ideas as well.  so, for
now, what's the current state of the project?  and where's the current
list of outstanding janitor projects?

rday

p.s.  and about that prohibition on top posting ...  :-)

--



Robert P. J. Day   Waterloo, Ontario, CANADA
http://crashcourse.ca

Twitter:   http://twitter.com/rpjday
LinkedIn:   http://ca.linkedin.com/in/rpjday


Re: guidelines, faqs and dos and don'ts document

2010-11-22 Thread Anuz Pratap Singh Tomar
I have updated the doc and included few more points including the Robert's
html point.  now it has been three days since the first mail, so i guess i
will push it further.
So I guess document is ready to be used/uploaded to kerrnelnewbie site if
there are no more points/suggestions or criticism.

Rik,
Please find the document attached, in case you find any errors or any other
change you want to make, please feel free.

Regards
Anuz
Set of FAQs

If you are new to this list please read them before you go on your quest for
squeezing all the knowledge from fellow members


What is this list about?
This list a list for budding kernel hackers, so the idea is ask queries which
are mostly related to Linux Kernel, directly and sometimes indirectly.
This site is not a homework help site, so please refrain asking your assignment
questions directly. However if you have a relevant doubt which is related to
kernel please do ask but after reading all the text below.

What to be asked?
The best thing is to ask questions related to:
Linux kernel subsystems.
Linux kernel modules.
kernel compilation doubts.
Sometimes question related kernel Code, which you are not able to understand
because you are unfamiliar with the syntax. 
Some relevant utilities like git, build tools like gcc et al, patch, kermit
etc: but ensure you are not deviating too much from central theme of this list.
Kernel coding style/standard.
May be issues related to GPL in kernel.

How to be asked?
1. Firstly make a descriptive headline

"hi", "help" and generic headlines are shooting offences.
Not only are they annoying, but they waste a lot of time and precious computing
power.
Besides, there are lesser chances of getting correct answer, you will be
ignored and you __may__ loose credibility on the mailing list.


2. Give relevant information about your question
Since you have already given description of your problem, now its time to
assist others with the details of the problem at hand.
Since kernel is complex beast, you need to give reference to what you are
really asking about.
A code snippet is always the best thing to include. This shows that you have
really dug into the code and you know what you are asking.
Give details of what you have tried, and where you are really stuck, this makes
life easy for everyone.
Anything else like logs, test results, coredumps are _always_ a good idea.

3. When to Ask questions?
This is most relevant part of this entire process. if you master this art, you
will be _winner_ of this mailing list.
First ask yourself "have  you really done your own bits?" what comprises of
doing your own bits?
1. have you read the relevant texts? 
What are the relevant texts? 
Books: read the section on relevant books
Links: Please read the section on relevant links
Search: well this is the easiest part of entire process. Just use goggle, its
gives  you a lot of information about anything you want to know. There is a
tonnes of online documents for Linux, so google search will most likely link
you to them. It takes a bit of time and practice to filter out what is relevant
and what is not relevant on online search and there is no sure shot way of
optimize this process. But everyone has learnt by hit and trail, so please do
that.
If still not sure, here is an exercise, go to google and search "how to use
google" and look for results.
Man pages: Most things related to Linux has a relevant man pages including your
system calls, so please look for man pages.
Mailing list archive: every now and then people ask similar questions, so there
is a good chance someone has already asked the very same question, so you can
dig into kernelnewbies archive: http://mail.nl.Linux.org/kernelnewbies/
FAQs: kernel newbies has its own FAQ: http://kernelnewbies.org/FAQ. Linux
kernel has its own FAQ: http://www.kernel.org/pub/Linux/docs/lkml/: PLEASE DO
refer them.
kernel Documentation: when you download Linux kernel source: you can find a lot
of useful documentation inside kernel/Documentation directory.


REMEMBER, self help is best way to learn, hackers before you had much lesser
resources at their disposal.

Well, when you have tried all the previous steps and you feel your problem need
to be discussed, its a good time to head towards kernelnewbies mailing list.

4. What to keep in mind, while posting on kernel newbie mailing list?
First rule of mailing list, which goes without saying is "be polite", that
means not just the language or keywords, but the attitude.
Please learn about Netiquettes: http://en.wikipedia.org/wiki/Netiquette. Well,
they are not specific to any mailing list, but they good a good idea of general
behaviour on any online community.
Please do not TOP POST. On almost all open source mailing list top-posting is
considered RUDE. Don't know what TOP POSTing is? Here is a linky:
http://en.wikipedia.org/wiki/Top_post#Top-posting
Please learn a bit about hacker culture! How does that help? Well, since most
people on kernel newbies are developers(o

Re: is there still an active kernel janitors project?

2010-11-22 Thread Prabhu nath
Hi Robert,

  I am also interested.

Regards,
Prabhu


On Sun, Nov 21, 2010 at 6:36 PM, Robert P. J. Day wrote:

>
>  i can suggest some very specific cleanups people can work on if
> they're bored.  one related to lists:
>
>  list_for_each() -> list_for_each_entry() calls
>
> that is, modifying the numerous (older-style) list_for_each() calls to
> the more convenient list_for_each_entry() calls, something that can
> be done little by little, a subsystem at a time.  good way to jump
> into kernel janitor work and get your name in the log.
>
> rday
>
> --
>
> 
> Robert P. J. Day   Waterloo, Ontario, CANADA
>http://crashcourse.ca
>
> Twitter:   http://twitter.com/rpjday
> LinkedIn:   http://ca.linkedin.com/in/rpjday
> 
>
> --
> To unsubscribe from this list: send an email with
> "unsubscribe kernelnewbies" to ecar...@nl.linux.org
> Please read the FAQ at http://kernelnewbies.org/FAQ
>
>


Re: how is a device detected

2010-11-22 Thread Mulyadi Santosa
On Mon, Nov 22, 2010 at 13:37, Bond  wrote:
> Hi, in  some of the books I am reading I find
> a text which mentions MODULE_DEVICE_TABLE () macro makes a user
> defined structure available  in the module image so that the module
> can be loaded on demand if the card is hotplugged.
> I am not clear with how is this detection happening inside the kernel.
> How does the kernel detects the presence of a particular device?( I am
> not referring to the probe function defined in many drivers)

AFAIK, when a device is hotplugged, it raised an interrupt...and
assuming a handler sits there (from device driver), then it is
captured and registered in a subsystem...that is kobject..I
think..which is related to sysfs.

Greg KH and others might know better


-- 
regards,

Mulyadi Santosa
Freelance Linux trainer and consultant

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

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecar...@nl.linux.org
Please read the FAQ at http://kernelnewbies.org/FAQ



Re: how does macro to get base address register in configuration space works

2010-11-22 Thread Mulyadi Santosa
On Mon, Nov 22, 2010 at 10:02, Bond  wrote:
> I am trying to understand working of pci_resource_start function
> So I browsed code via cscope and searched for string pci_resource_start
> and got following in pci.h
>
>  #define pci_resource_start(dev, bar)    ((dev)->resource[(bar)].start)

AFAIK, for example dev is "foo", bar is "bar", then
pci_resource_start(foo,bar) becomes:
foo->resource[bar].start

Seems like calling a function of field, which in turns is coming from
a pointer, no?
-- 
regards,

Mulyadi Santosa
Freelance Linux trainer and consultant

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

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecar...@nl.linux.org
Please read the FAQ at http://kernelnewbies.org/FAQ



Re: is there still an active kernel janitors project?

2010-11-22 Thread Yuchen Liao
Hello

Count me in~


On Sun, Nov 21, 2010 at 6:08 PM, Alex John  wrote:

> Hello
>
> I have a lot of time on my hands so I can help out.
>
> Cheers
> Alex
>
> On 22 Nov 2010, at 04:35, hiren panchasara 
> wrote:
>
> Hi Robert,
>
> I would be interested in getting started :)
>
> Thanks,
> Hiren
>
> On Sun, Nov 21, 2010 at 5:06 AM, Robert P. J. Day <
> rpj...@crashcourse.ca> wrote:
>
>>
>>  i can suggest some very specific cleanups people can work on if
>> they're bored.  one related to lists:
>>
>>  list_for_each() -> list_for_each_entry() calls
>>
>> that is, modifying the numerous (older-style) list_for_each() calls to
>> the more convenient list_for_each_entry() calls, something that can
>> be done little by little, a subsystem at a time.  good way to jump
>> into kernel janitor work and get your name in the log.
>>
>> rday
>>
>> --
>>
>> 
>> Robert P. J. Day   Waterloo, Ontario, CANADA
>> http://crashcourse.ca
>>
>> Twitter:
>> http://twitter.com/rpjday
>> LinkedIn:
>> http://ca.linkedin.com/in/rpjday
>> 
>>
>> --
>> To unsubscribe from this list: send an email with
>> "unsubscribe kernelnewbies" to ecar...@nl.linux.org
>> Please read the FAQ at 
>> http://kernelnewbies.org/FAQ
>>
>>
>


-- 
from Yuchen Liao via Gmail
yyloves.me