24 Oct, 2008

2 commits

  • …inux/kernel/git/tip/linux-2.6-tip

    * 'v28-range-hrtimers-for-linus-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (37 commits)
    hrtimers: add missing docbook comments to struct hrtimer
    hrtimers: simplify hrtimer_peek_ahead_timers()
    hrtimers: fix docbook comments
    DECLARE_PER_CPU needs linux/percpu.h
    hrtimers: fix typo
    rangetimers: fix the bug reported by Ingo for real
    rangetimer: fix BUG_ON reported by Ingo
    rangetimer: fix x86 build failure for the !HRTIMERS case
    select: fix alpha OSF wrapper
    select: fix alpha OSF wrapper
    hrtimer: peek at the timer queue just before going idle
    hrtimer: make the futex() system call use the per process slack value
    hrtimer: make the nanosleep() syscall use the per process slack
    hrtimer: fix signed/unsigned bug in slack estimator
    hrtimer: show the timer ranges in /proc/timer_list
    hrtimer: incorporate feedback from Peter Zijlstra
    hrtimer: add a hrtimer_start_range() function
    hrtimer: another build fix
    hrtimer: fix build bug found by Ingo
    hrtimer: make select() and poll() use the hrtimer range feature
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (46 commits)
    [PATCH] fs: add a sanity check in d_free
    [PATCH] i_version: remount support
    [patch] vfs: make security_inode_setattr() calling consistent
    [patch 1/3] FS_MBCACHE: don't needlessly make it built-in
    [PATCH] move executable checking into ->permission()
    [PATCH] fs/dcache.c: update comment of d_validate()
    [RFC PATCH] touch_mnt_namespace when the mount flags change
    [PATCH] reiserfs: add missing llseek method
    [PATCH] fix ->llseek for more directories
    [PATCH vfs-2.6 6/6] vfs: add LOOKUP_RENAME_TARGET intent
    [PATCH vfs-2.6 5/6] vfs: remove LOOKUP_PARENT from non LOOKUP_PARENT lookup
    [PATCH vfs-2.6 4/6] vfs: remove unnecessary fsnotify_d_instantiate()
    [PATCH vfs-2.6 3/6] vfs: add __d_instantiate() helper
    [PATCH vfs-2.6 2/6] vfs: add d_ancestor()
    [PATCH vfs-2.6 1/6] vfs: replace parent == dentry->d_parent by IS_ROOT()
    [PATCH] get rid of on-stack dentry in udf
    [PATCH 2/2] anondev: switch to IDA
    [PATCH 1/2] anondev: init IDR statically
    [JFFS2] Use d_splice_alias() not d_add() in jffs2_lookup()
    [PATCH] Optimise NFS readdir hack slightly.
    ...

    Linus Torvalds
     

23 Oct, 2008

4 commits


22 Oct, 2008

1 commit


21 Oct, 2008

2 commits

  • * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs: (26 commits)
    9p: add more conservative locking
    9p: fix oops in protocol stat parsing error path.
    9p: fix device file handling
    9p: Improve debug support
    9p: eliminate depricated conv functions
    9p: rework client code to use new protocol support functions
    9p: remove unnecessary tag field from p9_req_t structure
    9p: remove 9p fcall debug prints
    9p: add new protocol support code
    9p: encapsulate version function
    9p: move dirread to fs layer
    9p: adjust 9p vfs write operation
    9p: move readn meta-function from client to fs layer
    9p: consolidate read/write functions
    9p: drop broken unused error path from p9_conn_create()
    9p: make rpc code common and rework flush code
    9p: use the rcall structure passed in the request in trans_fd read_work
    9p: apply common request code to trans_fd
    9p: apply common tagpool handling to trans_fd
    9p: move request management to client code
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
    netfilter: replace old NF_ARP calls with NFPROTO_ARP
    netfilter: fix compilation error with NAT=n
    netfilter: xt_recent: use proc_create_data()
    netfilter: snmp nat leaks memory in case of failure
    netfilter: xt_iprange: fix range inversion match
    netfilter: netns: use NFPROTO_NUMPROTO instead of NUMPROTO for tables array
    netfilter: ctnetlink: remove obsolete NAT dependency from Kconfig
    pkt_sched: sch_generic: Fix oops in sch_teql
    dccp: Port redirection support for DCCP
    tcp: Fix IPv6 fallout from 'Port redirection support for TCP'
    netdev: change name dropping error codes
    ipvs: Update CONFIG_IP_VS_IPV6 description and help text

    Linus Torvalds
     

20 Oct, 2008

11 commits

  • (Supplements: ee999d8b9573df1b547aacdc6d79f86eb79c25cd)

    NFPROTO_ARP actually has a different value from NF_ARP, so ensure all
    callers use the new value so that packets _do_ get delivered to the
    registered hooks.

    Signed-off-by: Jan Engelhardt
    Signed-off-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Jan Engelhardt
     
  • This patch fixes the compilation of ctnetlink when the NAT support
    is not enabled.

    /home/benh/kernels/linux-powerpc/net/netfilter/nf_conntrack_netlink.c:819: warning: enum nf_nat_manip_type\u2019 declared inside parameter list
    /home/benh/kernels/linux-powerpc/net/netfilter/nf_conntrack_netlink.c:819: warning: its scope is only this definition or declaration, which is probably not what you want

    Reported-by: Benjamin Herrenschmidt
    Reported by: Ingo Molnar
    Signed-off-by: Pablo Neira Ayuso
    Signed-off-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Pablo Neira Ayuso
     
  • Fixes a crash in recent_seq_start:

    BUG: unable to handle kernel NULL pointer dereference at 0000000000000100
    IP: [] recent_seq_start+0x4c/0x90 [xt_recent]
    PGD 17d33c067 PUD 107afe067 PMD 0
    Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC
    CPU 0
    Modules linked in: ipt_LOG xt_recent af_packet iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack nf_defrag_ipv4 xt_tcpudp iptable_filter ip_tables x_tables ext2 nls_utf8 fuse sr_mod cdrom [last unloaded: ntfs]
    Pid: 32373, comm: cat Not tainted 2.6.27-04ab591808565f968d4406f6435090ad671ebdab #6
    RIP: 0010:[] [] recent_seq_start+0x4c/0x90 [xt_recent]
    RSP: 0018:ffff88015fed7e28 EFLAGS: 00010246
    ...

    Signed-off-by: Alexey Dobriyan
    Signed-off-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Alexey Dobriyan
     
  • Signed-off-by: Ilpo Järvinen
    Signed-off-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Ilpo Järvinen
     
  • Inverted IPv4 v1 and IPv6 v0 matches don't match anything since 2.6.25-rc1!

    Signed-off-by: Alexey Dobriyan
    Acked-by: Jan Engelhardt
    Signed-off-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Alexey Dobriyan
     
  • Now that ctnetlink doesn't have any NAT module depenencies anymore,
    we can also remove them from Kconfig.

    Signed-off-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Patrick McHardy
     
  • After these commands:
    # modprobe sch_teql
    # tc qdisc add dev eth0 root teql0
    # tc qdisc del dev eth0 root
    we get an oops in teql_destroy() when spin_lock is taken from a null
    qdisc_sleeping pointer. It's because at the moment teql0 dev haven't
    been activated yet, and a qdisc_root_sleeping() is pointing to noop
    qdisc's netdev_queue with qdisc_sleeping uninitialized. This patch
    fixes this both for noop and noqueue netdev_queues to avoid similar
    problems in the future.

    Signed-off-by: Jarek Poplawski
    Signed-off-by: David S. Miller

    Jarek Poplawski
     
  • Commit a3116ac5c216fc3c145906a46df9ce542ff7dcf2 from 1st October ("tcp: Port
    redirection support for TCP") broke DCCP skb lookup by changing inet_csk_clone,
    which is used by DCCP to generate the child socket after the handshake.

    This patch updates DCCP to use 'loc_port' instead of 'sport', which fixes the
    problem, and thus inheriting port redirection support via the new interface.

    Signed-off-by: Gerrit Renker
    Signed-off-by: KOVACS Krisztian
    Acked-by: Arnaldo Carvalho de Melo
    Signed-off-by: David S. Miller

    Gerrit Renker
     
  • 'tcp: Port redirection support for TCP' (a3116ac5c) added a new member
    to inet_request_sock() which inet_csk_clone() makes use of but failed
    to add proper initialization to the IPv6 syncookie code and missed a
    couple of places where the new member should be used instead of
    inet_sk(sk)->sport.

    Signed-off-by: KOVACS Krisztian
    Signed-off-by: David S. Miller

    KOVACS Krisztian
     
  • If changename notifier returns an error code, it gets incorrectly
    cleared during rollback so the error is never returned to the user.
    Found while testing similar code for MTU changes.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Stephen Hemminger
     
  • This adds a URL to further info to the CONFIG_IP_VS_IPV6 Kconfig help
    text. Also, I think it should be ok to remove the "DANGEROUS" label in the
    description line at this point to get people to try it out and find all
    the bugs ;) It's still marked as experimental, of course.

    Signed-off-by: Julius Volz
    Signed-off-by: David S. Miller

    Julius Volz
     

18 Oct, 2008

20 commits

  • During the reorganization some of the multi-theaded locking assumptions were
    accidently relaxed. This patch moves us back towards a more conservative
    locking strategy.

    Signed-off-by: Eric Van Hensbergen

    Eric Van Hensbergen
     
  • When we get an error on parsing a stat due to a protocol bug,
    we can generate an oops during cleanup because we didn't
    initialize the string pointers in the stat structure.

    Signed-off-by: Eric Van Hensbergen

    Eric Van Hensbergen
     
  • The new debug support lacks some of the information that the previous fcprint
    code provided -- this patch focuses on better presentation of debug data along
    with more helpful debug along error paths.

    Signed-off-by: Eric Van Hensbergen

    Eric Van Hensbergen
     
  • Conflicts:

    arch/x86/kvm/i8254.c

    Arjan van de Ven
     
  • Remove depricated conv functions which have been replaced with new
    protocol routines.

    This patch also reworks the one instance of the file-system code which
    directly calls conversion routines (to accomplish unpacking dirreads).

    Signed-off-by: Eric Van Hensbergen

    Eric Van Hensbergen
     
  • Now that the new protocol functions are in place, this patch switches
    the client code to using the new support code.

    Signed-off-by: Eric Van Hensbergen

    Eric Van Hensbergen
     
  • This removes the vestigial tag field from the p9_req_t structure.

    Signed-off-by: Eric Van Hensbergen

    Eric Van Hensbergen
     
  • One of the current debug options allows users to get a verbose dump of fcalls.
    This isn't really necessary as correctly parsed protocol frames can be printed
    as part of the code in the client functions. The consolidated printfcalls
    structure would require new entries to be added for every extension. This
    patch removes the debug print methods and their use.

    Signed-off-by: Eric Van Hensbergen

    Eric Van Hensbergen
     
  • This adds a new protocol processing support code based on Anthony Liguori's
    9p library code. This code performs protocol marshalling/unmarshalling using
    printf like strings to represent protocol elements. It is my intent to use
    them to replace the current functions in conv.c as well as the
    p9_create_* functions.

    This should make the client implementation much more clear, and also make it
    much easier to add new protocol extensions by limiting the number of places
    in which changes need to be made.

    Signed-off-by: Eric Van Hensbergen

    Eric Van Hensbergen
     
  • Alsmot all 9P client wire functions have their own (set of) functions.
    Tversion is an exception as its encapsulated into the client_create code.

    This patch moves the protocol specifics of this to a function to match the
    rest of the code.

    Signed-off-by: Eric Van Hensbergen

    Eric Van Hensbergen
     
  • Currently reading a directory is implemented in the client code.
    This function is not actually a wire operation, but a meta operation
    which calls read operations and processes the results.

    This patch moves this functionality to the fs layer and calls component
    wire operations instead of constructing their packets. This provides a
    cleaner separation and will help when we reorganize the client functions
    and protocol processing methods.

    Signed-off-by: Eric Van Hensbergen

    Eric Van Hensbergen
     
  • There are a couple of methods in the client code which aren't actually
    wire operations. To keep things organized cleaner, these operations are
    being moved to the fs layer.

    This patch moves the readn meta-function (which executes multiple wire
    reads until a buffer is full) to the fs layer.

    Signed-off-by: Eric Van Hensbergen

    Eric Van Hensbergen
     
  • Currently there are two separate versions of read and write. One for
    dealing with user buffers and the other for dealing with kernel buffers.
    There is a tremendous amount of code duplication in the otherwise
    identical versions of these functions. This patch adds an additional
    user buffer parameter to read and write and conditionalizes handling of
    the buffer on whether the kernel buffer or the user buffer is populated.

    Signed-off-by: Eric Van Hensbergen

    Eric Van Hensbergen
     
  • Post p9_fd_poll() error path which checks m->poll_waddr[i] for PTR_ERR
    value has the following problems.

    * It's completely unused. Error value is set iff NULL @wait_address
    has been specified to p9_pollwait() which is guaranteed not to
    happen.

    * It dereferences @m after deallocating it (introduced by 571ffeaf and
    spotted by Raja R Harinath.

    * It returned the wrong value on error. It should return
    poll_waddr[i] but it returnes poll_waddr (introduced by 571ffeaf).

    * p9_mux_poll_stop() doesn't handle PTR_ERR value. It will try to
    operate on the PTR_ERR value as if it's a normal pointer and cause
    oops.

    As the error path is bogus in the first place, there's no reason to
    hold onto it. Kill it.

    Signed-off-by: Tejun Heo
    Signed-off-by: Eric Van Hensbergen
    Cc: Raja R Harinath

    Tejun Heo
     
  • This code moves the rpc function to the common client base,
    reorganizes the flush code to be more simple and stable, and
    makes the necessary adjustments to the underlying transports
    to adapt to the new structure.

    This reduces the overall amount of code duplication between the
    transports and should make adding new transports more straightforward.

    Signed-off-by: Eric Van Hensbergen

    Eric Van Hensbergen
     
  • This patch reworks the read_work function to enable it to directly use a passed
    in rcall structure. This should help allow us to remove unnecessary copies
    in the future.

    Signed-off-by: Eric Van Hensbergen

    Eric Van Hensbergen
     
  • Apply the now common p9_req_t structure to the fd transport.

    Signed-off-by: Eric Van Hensbergen

    Eric Van Hensbergen
     
  • Simplify trans_fd by using new common client tagpool structure.

    Signed-off-by: Eric Van Hensbergen

    Eric Van Hensbergen
     
  • The virtio transport uses a simplified request management system
    that I want to use for all transports. This patch adapts and moves the
    exisiting code for managing requests to the client common code.
    Later patches will apply these mechanisms to the other transports.

    Signed-off-by: Eric Van Hensbergen

    Eric Van Hensbergen
     
  • The current trans_fd rpc mechanisms use a dynamic callback mechanism which
    introduces a lot of complexity which only accomodates a single special case.
    This patch removes much of that complexity in favor of a simple exception
    mechanism to deal with flushes.

    Signed-off-by: Eric Van Hensbergen

    Eric Van Hensbergen