lkml.org 
[lkml]   [2000]   [Mar]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: Irq context wrong for USB ACM serial driver calling PPP?
    Andi Kleen wrote:
    > > The USB driver doesn't do anything with skbs -- the PPP driver does all
    > > that. So the PPP driver should be changed to do kfree_skb_any(), right?
    >
    > Only after you did an audit that it is really irqsave. A quick look
    > shows that it most likely isn't on SMP (lock_path() could deadlock when
    > it is both executed from irq and bh/user context on the same CPU)
    >
    > It is probably easier to just change USB. This is also more friendly
    > to the rest of the system (otherwise you would need to turn off interrupts
    > in the PPP layer making irq latency bad when 90% of all users don't
    > need it)

    I agree it's a good idea to change USB ACM. Probably the USB serial
    driver needs to be changed too.

    It's nasty that you have to find this in PPP -- the USB ACM driver is
    just a fancy serial driver and shouldn't have to know about PPP to get
    right the undocumented details of which functions can be called in which
    contexts.

    I wouldn't be surprised if there are other serial drivers with the same
    bug, but nobody noticed. Or arguably it's a bug in PPP. I'd really
    whoever designed the tty layer to define what each side of the interface
    may assume.

    -- Jamie

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.rutgers.edu
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:56    [W:0.023 / U:94.400 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site