1. 09 Aug, 2007 26 commits
    • Davide Libenzi's avatar
      make timerfd return a u64 and fix the __put_user · 32b49ec2
      Davide Libenzi authored
      Davi fixed a missing cast in the __put_user(), that was making timerfd
      return a single byte instead of the full value.
      
      Talking with Michael about the timerfd man page, we think it'd be better to
      use a u64 for the returned value, to align it with the eventfd
      implementation.
      
      This is an ABI change.  The timerfd code is new in 2.6.22 and if we merge this
      into 2.6.23 then we should also merge it into 2.6.22.x.  That will leave a few
      early 2.6.22 kernels out in the wild which might misbehave when a future
      timerfd-enabled glibc is run on them.
      
      mtk says:
      	The difference would be that read() will only return 4 bytes,
      	while the application will expect 8.  If the application is
      	checking the size of returned value, as it should, then it will
      	be able to detect the problem (it could even be sophisticated
      	enough to know that if this is a 4-byte return, then it is
      	running on an old 2.6.22 kernel).  If the application is not
      	checking the return from read(), then its 8-byte buffer will not
      	be filled -- the contents of the last 4 bytes will be undefined,
      	so the u64 value as a whole will be junk.
      
      	When I wrote up that description above, I forgot a crucial
      	detail.  The above description described the difference between
      	the new behavior implemented by the patch, and the current
      	(i.e., 2.6.22) *intended* behavior.  However, as I originally
      	remarked to Davide, the 2.6.22 read() behavior is broken: it
      	should return 4 bytes on a read(), but as originally
      	implemented, only the least significant byte contained valid
      	information.  (In other words, the top 3 bytes of overrun
      	information were simply being discarded.)
      
      	So the patch both fixes a bug in the originally intended
      	behavior, and changes the intended behavior (to return 8 bytes
      	from a read() instead of 4).
      Signed-off-by: default avatarDavide Libenzi <davidel@xmailserver.org>
      Cc: Michael Kerrisk <mtk-manpages@gmx.net>
      Cc: Davi Arnaut <davi@haxent.com.br>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      32b49ec2
    • Stefan Richter's avatar
      firewire: fw-sbp2: set correct maximum payload (fixes CardBus adapters) · 76525808
      Stefan Richter authored
      As far as I know, all CardBus FireWire 400 adapters have a maximum
      payload of 1024 bytes which is less than the speed-dependent limit of
      2048 bytes.  Fw-sbp2 has to take the host adapter's limit into account.
      
      This apparently fixes Juju's incompatibility with my CardBus cards, a
      NEC based card and a VIA based card.
      
      Backport of commit 25659f71.
      Signed-off-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      76525808
    • Alan Cox's avatar
      aacraid: fix security hole · 33aff30a
      Alan Cox authored
      On the SCSI layer ioctl path there is no implicit permissions check for
      ioctls (and indeed other drivers implement unprivileged ioctls). aacraid
      however allows all sorts of very admin only things to be done so should
      check.
      Signed-off-by: default avatarAlan Cox <alan@redhat.com>
      Acked-by: default avatarMark Salyzyn <mark_salyzyn@adaptec.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      33aff30a
    • Petr Vandrovec's avatar
      Fix reported task file values in sense data · 08fa53b3
      Petr Vandrovec authored
      ata_tf_read was setting HOB bit when lba48 command was submitted, but
      was not clearing it before reading "normal" data.  As it is only place
      which sets HOB bit in control register, and register reads should not
      be affected by other bits, let's just clear it when we are done with
      reading upper bytes so non-48bit commands do not have to touch ctl
      at all.
      
      pata_scc suffered from same problem...
      Signed-off-by: default avatarPetr Vandrovec <petr@vandrovec.name>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      08fa53b3
    • Adam Kropelin's avatar
      usb-serial: Fix edgeport regression on non-EPiC devices · 71c6f9d7
      Adam Kropelin authored
      Fix serious regression on non-EPiC edgeport usb-serial devices. Baud
      rate and MCR/LCR registers are not being written on these models due
      to apparent copy-n-paste errors introduced with EPiC support.
      
      Failure reported by Nick Pasich <Nick@NickAndBarb.net>.
      Signed-off-by: default avatarAdam Kropelin <akropel1@rochester.rr.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      71c6f9d7
    • Alan Stern's avatar
      USB: fix warning caused by autosuspend counter going negative · 5242d7ef
      Alan Stern authored
      This patch (as937) fixes a minor bug in the autosuspend usage-counting
      code.  Each hub's usage counter keeps track of the number of
      unsuspended children.  However the current driver increments the
      counter after registering a new child, by which time the child may
      already have been suspended and caused the counter to go negative.
      The obvious solution is to increment the counter before registering
      the child.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      5242d7ef
    • Joerg Roedel's avatar
      KVM: SVM: Reliably detect if SVM was disabled by BIOS · fa10a719
      Joerg Roedel authored
      This patch adds an implementation to the svm is_disabled function to
      detect reliably if the BIOS disabled the SVM feature in the CPU. This
      fixes the issues with kernel panics when loading the kvm-amd module on
      machines where SVM is available but disabled.
      Signed-off-by: default avatarJoerg Roedel <joerg.roedel@amd.com>
      Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      fa10a719
    • YOSHIFUJI Hideaki's avatar
      Fix TCP IPV6 MD5 bug. · 668df9fe
      YOSHIFUJI Hideaki authored
      [TCPv6] MD5SIG: Ensure to reset allocation count to avoid panic.
      
      After clearing all passwords for IPv6 peers, we need to
      set allocation count to zero as well as we free the storage.
      Otherwise, we panic when a user trys to (re)add a password.
      
      Discovered and fixed by MIYAJIMA Mitsuharu <miyajima.mitsuharu@anchor.jp>.
      Signed-off-by: default avatarYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      668df9fe
    • Mark Fortescue's avatar
      Fix sparc32 udelay() rounding errors. · dffc659f
      Mark Fortescue authored
      [SPARC32]: Fix rounding errors in ndelay/udelay implementation.
      
      __ndelay and __udelay have not been delayung >= specified time.
      The problem with __ndelay has been tacked down to the rounding of the
      multiplier constant. By changing this, delays > app 18us are correctly
      calculated.
      The problem with __udelay has also been tracked down to rounding issues.
      Changing the multiplier constant (to match that used in sparc64) corrects
      for large delays and adding in a rounding constant corrects for trunctaion
      errors in the claculations.
      Many short delays will return without looping. This is not an error as there
      is the fixed delay of doing all the maths to calculate the loop count.
      Signed-off-by: default avatarMark Fortescue <mark@mtfhpc.demon.co.uk>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      dffc659f
    • Alexander Shmelev's avatar
      Fix sparc32 memset() · 499d853c
      Alexander Shmelev authored
      [SPARC32]: Fix bug in sparc optimized memset.
      
      Sparc optimized memset (arch/sparc/lib/memset.S) does not fill last
      byte of the memory area, if area size is less than 8 bytes and start
      address is not word (4-bytes) aligned.
      
      Here is code chunk where bug located:
      /* %o0 - memory address, %o1 - size, %g3 - value */
      8:
           add    %o0, 1, %o0
          subcc    %o1, 1, %o1
          bne,a    8b
           stb %g3, [%o0 - 1]
      
      This code should write byte every loop iteration, but last time delay
      instruction stb is not executed because branch instruction sets
      "annul" bit.
      
      Patch replaces bne,a by bne instruction.
      
      Error can be reproduced by simple kernel module:
      
      --------------------
      #include <linux/module.h>
      #include <linux/config.h>
      #include <linux/kernel.h>
      #include <linux/errno.h>
      #include <string.h>
      
      static void do_memset(void **p, int size)
      {
              memset(p, 0x00, size);
      }
      
      static int __init memset_test_init(void)
      {
          char fooc[8];
          int *fooi;
          memset(fooc, 0xba, sizeof(fooc));
      
          do_memset((void**)(fooc + 3), 1);
      
          fooi = (int*) fooc;
          printk("%08X %08X\n", fooi[0], fooi[1]);
      
          return -1;
      }
      
      static void __exit memset_test_cleanup(void)
      {
          return;
      }
      
      module_init(memset_test_init);
      module_exit(memset_test_cleanup);
      
      MODULE_LICENSE("GPL");
      EXPORT_NO_SYMBOLS;
      ------------------------
      Signed-off-by: default avatarAlexander Shmelev <ashmelev@task.sun.mcst.ru>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      499d853c
    • Al Viro's avatar
      Fix ipv6 tunnel endianness bug. · 4d0d0b81
      Al Viro authored
      [IPV6]: endianness bug in ip6_tunnel
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      4d0d0b81
    • David S. Miller's avatar
      Sparc64 bootup assembler bug · 0d39262f
      David S. Miller authored
      [SPARC64]: Fix two year old bug in early bootup asm.
      
      We try to fetch the CIF entry pointer from %o4, but that
      can get clobbered by the early OBP calls.  It is saved
      in %l7 already, so actually this "mov %o4, %l7" can just
      be completely removed with no other changes.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      0d39262f
    • Satyam Sharma's avatar
      Netpoll leak · acad36f9
      Satyam Sharma authored
      [NETPOLL]: Fix a leak-n-bug in netpoll_cleanup()
      
      93ec2c72 applied excessive duct tape to
      the netpoll beast's netpoll_cleanup(), thus substituting one leak with
      another, and opening up a little buglet :-)
      
      net_device->npinfo (netpoll_info) is a shared and refcounted object and
      cannot simply be set NULL the first time netpoll_cleanup() is called.
      Otherwise, further netpoll_cleanup()'s see np->dev->npinfo == NULL and
      become no-ops, thus leaking. And it's a bug too: the first call to
      netpoll_cleanup() would thus (annoyingly) "disable" other (still alive)
      netpolls too. Maybe nobody noticed this because netconsole (only user
      of netpoll) never supported multiple netpoll objects earlier.
      
      This is a trivial and obvious one-line fixlet.
      Signed-off-by: default avatarSatyam Sharma <ssatyam@cse.iitk.ac.in>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      acad36f9
    • Vlad Yasevich's avatar
      Fix ipv6 link down handling. · 7e2d130b
      Vlad Yasevich authored
      [IPV6]: Call inet6addr_chain notifiers on link down
      
      Currently if the link is brought down via ip link or ifconfig down,
      the inet6addr_chain notifiers are not called even though all
      the addresses are removed from the interface.  This caused SCTP
      to add duplicate addresses to it's list.
      Signed-off-by: default avatarVlad Yasevich <vladislav.yasevich@hp.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      7e2d130b
    • Dmitry Butskoy's avatar
      Fix error queue socket lookup in ipv6 · c709631f
      Dmitry Butskoy authored
      [IPV6]: MSG_ERRQUEUE messages do not pass to connected raw sockets
      
      From: Dmitry Butskoy <dmitry@butskoy.name>
      
      Taken from http://bugzilla.kernel.org/show_bug.cgi?id=8747
      
      Problem Description:
      
      It is related to the possibility to obtain MSG_ERRQUEUE messages from the udp
      and raw sockets, both connected and unconnected.
      
      There is a little typo in net/ipv6/icmp.c code, which prevents such messages
      to be delivered to the errqueue of the correspond raw socket, when the socket
      is CONNECTED.  The typo is due to swap of local/remote addresses.
      
      Consider __raw_v6_lookup() function from net/ipv6/raw.c. When a raw socket is
      looked up usual way, it is something like:
      
      sk = __raw_v6_lookup(sk, nexthdr, daddr, saddr, IP6CB(skb)->iif);
      
      where "daddr" is a destination address of the incoming packet (IOW our local
      address), "saddr" is a source address of the incoming packet (the remote end).
      
      But when the raw socket is looked up for some icmp error report, in
      net/ipv6/icmp.c:icmpv6_notify() , daddr/saddr are obtained from the echoed
      fragment of the "bad" packet, i.e.  "daddr" is the original destination
      address of that packet, "saddr" is our local address.  Hence, for
      icmpv6_notify() must use "saddr, daddr" in its arguments, not "daddr, saddr"
      ...
      
      Steps to reproduce:
      
      Create some raw socket, connect it to an address, and cause some error
      situation: f.e. set ttl=1 where the remote address is more than 1 hop to reach.
      Set IPV6_RECVERR .
      Then send something and wait for the error (f.e. poll() with POLLERR|POLLIN).
      You should receive "time exceeded" icmp message (because of "ttl=1"), but the
      socket do not receive it.
      
      If you do not connect your raw socket, you will receive MSG_ERRQUEUE
      successfully.  (The reason is that for unconnected socket there are no actual
      checks for local/remote addresses).
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      c709631f
    • Ranko Zivojnovic's avatar
      gen estimator deadlock fix · 8a1c1646
      Ranko Zivojnovic authored
      [NET]: gen_estimator deadlock fix
      
      -Fixes ABBA deadlock noted by Patrick McHardy <kaber@trash.net>:
      
      > There is at least one ABBA deadlock, est_timer() does:
      > read_lock(&est_lock)
      > spin_lock(e->stats_lock) (which is dev->queue_lock)
      >
      > and qdisc_destroy calls htb_destroy under dev->queue_lock, which
      > calls htb_destroy_class, then gen_kill_estimator and this
      > write_locks est_lock.
      
      To fix the ABBA deadlock the rate estimators are now kept on an rcu list.
      
      -The est_lock changes the use from protecting the list to protecting
      the update to the 'bstat' pointer in order to avoid NULL dereferencing.
      
      -The 'interval' member of the gen_estimator structure removed as it is
      not needed.
      Signed-off-by: default avatarRanko Zivojnovic <ranko@spidernet.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      8a1c1646
    • Patrick McHardy's avatar
      gen estimator timer unload race · 2e9d3cf8
      Patrick McHardy authored
      [NET]: Fix gen_estimator timer removal race
      
      As noticed by Jarek Poplawski <jarkao2@o2.pl>, the timer removal in
      gen_kill_estimator races with the timer function rearming the timer.
      
      Check whether the timer list is empty before rearming the timer
      in the timer function to fix this.
      Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
      Acked-by: default avatarJarek Poplawski <jarkao2@o2.pl>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      2e9d3cf8
    • Ingo Molnar's avatar
      Fix rfkill IRQ flags. · 360737d9
      Ingo Molnar authored
      [RFKILL]: fix net/rfkill/rfkill-input.c bug on 64-bit systems
      
      Subject: [patch] net/input: fix net/rfkill/rfkill-input.c bug on 64-bit systems
      
      this recent commit:
      
       commit cf4328cd
       Author: Ivo van Doorn <IvDoorn@gmail.com>
       Date:   Mon May 7 00:34:20 2007 -0700
      
           [NET]: rfkill: add support for input key to control wireless radio
      
      added this 64-bit bug:
      
              ....
      	unsigned int flags;
      
       	spin_lock_irqsave(&task->lock, flags);
              ....
      
      irq 'flags' must be unsigned long, not unsigned int. The -rt tree has
      strict checks about this on 64-bit so this triggered a build failure.
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      360737d9
    • Vlad Yasevich's avatar
      SCTP scope_id handling fix · 9bff1948
      Vlad Yasevich authored
      SCTP: Add scope_id validation for link-local binds
      
      SCTP currently permits users to bind to link-local addresses,
      but doesn't verify that the scope id specified at bind matches
      the interface that the address is configured on.  It was report
      that this can hang a system.
      Signed-off-by: default avatarVlad Yasevich <vladislav.yasevich@hp.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      9bff1948
    • Adrian Bunk's avatar
      Missing header include in ipt_iprange.h · 420eb873
      Adrian Bunk authored
      [NETFILTER]: ipt_iprange.h must #include <linux/types.h>
      
      ipt_iprange.h must #include <linux/types.h> since it uses __be32.
      
      This patch fixes kernel Bugzilla #7604.
      Signed-off-by: default avatarAdrian Bunk <bunk@stusta.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      420eb873
    • Christian Lamparter's avatar
      Add a PCI ID for santa rosa's PATA controller. · a03cf181
      Christian Lamparter authored
      This is commit c1e6f28c which is
      merged during 23-rc1 window.  Considering the popularity of these
      chips, I think including it in -stable release would be good idea.
      Signed-off-by: default avatarChristian Lamparter <chunkeey@web.de>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      a03cf181
    • David S. Miller's avatar
      Fix console write locking in sparc drivers. · 64be2d2b
      David S. Miller authored
      Mirror the logic in 8250 for proper console write locking
      when SYSRQ is triggered or an OOPS is in progress.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      64be2d2b
    • Patrick McHardy's avatar
      Fix IPCOMP crashes. · 3ee0edac
      Patrick McHardy authored
      [XFRM]: Fix crash introduced by struct dst_entry reordering
      
      XFRM expects xfrm_dst->u.next to be same pointer as dst->next, which
      was broken by the dst_entry reordering in commit 1e19e02c~, causing
      an oops in xfrm_bundle_ok when walking the bundle upwards.
      
      Kill xfrm_dst->u.next and change the only user to use dst->next instead.
      Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      3ee0edac
    • Patrick McHardy's avatar
      Fix TC deadlock. · c1bb8182
      Patrick McHardy authored
      [NET_SCHED]: Revert "avoid transmit softirq on watchdog wakeup" optimization
      
      As noticed by Ranko Zivojnovic <ranko@spidernet.net>, calling qdisc_run
      from the timer handler can result in deadlock:
      
      > CPU#0
      >
      > qdisc_watchdog() fires and gets dev->queue_lock
      > qdisc_run()...qdisc_restart()...
      > -> releases dev->queue_lock and enters dev_hard_start_xmit()
      >
      > CPU#1
      >
      > tc del qdisc dev ...
      > qdisc_graft()...dev_graft_qdisc()...dev_deactivate()...
      > -> grabs dev->queue_lock ...
      >
      > qdisc_reset()...{cbq,hfsc,htb,netem,tbf}_reset()...qdisc_watchdog_cancel()...
      > -> hrtimer_cancel() - waiting for the qdisc_watchdog() to exit, while still
      >		        holding dev->queue_lock
      >
      > CPU#0
      >
      > dev_hard_start_xmit() returns ...
      > -> wants to get dev->queue_lock(!)
      >
      > DEADLOCK!
      
      The entire optimization is a bit questionable IMO, it moves potentially
      large parts of NET_TX_SOFTIRQ work to TIMER_SOFTIRQ/HRTIMER_SOFTIRQ,
      which kind of defeats the separation of them.
      Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
      Acked-by: default avatarRanko Zivojnovic <ranko@spidernet.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      c1bb8182
    • Ilpo Järvinen's avatar
      TCP FRTO retransmit bug fix · 2c92c72b
      Ilpo Järvinen authored
      [TCP]: Verify the presence of RETRANS bit when leaving FRTO
      
      For yet unknown reason, something cleared SACKED_RETRANS bit
      underneath FRTO.
      Signed-off-by: default avatarIlpo Järvinen <ilpo.jarvinen@helsinki.fi>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      2c92c72b
    • Alan Stern's avatar
      USB: cdc-acm: fix sysfs attribute registration bug · 6b30a4e1
      Alan Stern authored
      This patch (as950) fixes a bug in the cdc-acm driver.  It doesn't keep
      track of which interface (control or data) the sysfs attributes get
      registered for, and as a result, during disconnect it will sometimes
      attempt to remove the attributes from the wrong interface.  The
      left-over attributes can cause a crash later on, particularly if the driver
      module has been unloaded.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      CC: Oliver Neukum <oliver@neukum.name>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      6b30a4e1
  2. 10 Jul, 2007 2 commits
  3. 08 Jul, 2007 6 commits
  4. 07 Jul, 2007 4 commits
    • Adrian Bunk's avatar
      DLM must depend on SYSFS · 95511ad4
      Adrian Bunk authored
      The dependency of DLM on SYSFS got lost in
      commit 6ed7257b resulting in the
      following compile error with CONFIG_DLM=y, CONFIG_SYSFS=n:
      
      <--  snip  -->
      
      ...
        LD      .tmp_vmlinux1
      fs/built-in.o: In function `dlm_lockspace_init':
      /home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/fs/dlm/lockspace.c:231: undefined reference to `kernel_subsys'
      fs/built-in.o: In function `configfs_init':
      /home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/fs/configfs/mount.c:143: undefined reference to `kernel_subsys'
      make[1]: *** [.tmp_vmlinux1] Error 1
      
      <--  snip  -->
      Signed-off-by: default avatarAdrian Bunk <bunk@stusta.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      95511ad4
    • Dave Jones's avatar
      Clean up E7520/7320/7525 quirk printk. · 38377be8
      Dave Jones authored
      The printk level in this printk is bogus, as the previous printk
      didn't have a terminating \n resulting in ..
      
      Intel E7520/7320/7525 detected.<6>Disabling irq balancing and affinity
      
      It also never printed a \n at all in the case where we didn't do
      the quirk.
      
      Change it to only make noise if it actually does something useful.
      Signed-off-by: default avatarDave Jones <davej@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      38377be8
    • Adrian Bunk's avatar
      include/linux/kallsyms.h must #include <linux/errno.h> · 40e48eed
      Adrian Bunk authored
      This patch fixes the following 2.6.22 regression with CONFIG_KALLSYMS=n:
      
      <--  snip  -->
      
      ...
        CC      arch/m32r/kernel/traps.o
      In file included from /home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/arch/m32r/kernel/traps.c:14:
      /home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/include/linux/kallsyms.h: In function 'lookup_symbol_name':
      /home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/include/linux/kallsyms.h:66: error: 'ERANGE' undeclared (first use in this function)
      /home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/include/linux/kallsyms.h:66: error: (Each undeclared identifier is reported only once
      /home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/include/linux/kallsyms.h:66: error: for each function it appears in.)
      /home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/include/linux/kallsyms.h: In function 'lookup_symbol_attrs':
      /home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/include/linux/kallsyms.h:71: error: 'ERANGE' undeclared (first use in this function)
      make[2]: *** [arch/m32r/kernel/traps.o] Error 1
      
      <--  snip  -->
      Signed-off-by: default avatarAdrian Bunk <bunk@stusta.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      40e48eed
    • David Woodhouse's avatar
      Fix use-after-free oops in Bluetooth HID. · 1c39858b
      David Woodhouse authored
      When cleaning up HIDP sessions, we currently close the ACL connection
      before deregistering the input device. Closing the ACL connection
      schedules a workqueue to remove the associated objects from sysfs, but
      the input device still refers to them -- and if the workqueue happens to
      run before the input device removal, the kernel will oops when trying to
      look up PHYSDEVPATH for the removed input device.
      
      Fix this by deregistering the input device before closing the
      connections.
      Signed-off-by: default avatarDavid Woodhouse <dwmw2@infradead.org>
      Acked-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1c39858b
  5. 06 Jul, 2007 2 commits