1. 31 8月, 2006 4 次提交
  2. 01 8月, 2006 1 次提交
  3. 30 7月, 2006 2 次提交
    • A
      [PATCH] x86_64: Fix swiotlb=force · 65f87d8a
      Andi Kleen 提交于
      It was broken before. But having it is important as possible hardware
      bug workaround.
      
      And previously there was no way to force swiotlb if there is another IOMMU.
      Side effect is that iommu=force won't force swiotlb anymore even if there
      isn't another IOMMU.
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      65f87d8a
    • J
      [PATCH] x86_64: Calgary IOMMU - Multi-Node NULL pointer dereference fix · d2105b10
      Jon Mason 提交于
      Calgary hits a NULL pointer dereference when booting in a multi-chassis
      NUMA system.  See Redhat bugzilla number 198498, found by Konrad
      Rzeszutek (konradr@redhat.com).
      
      There are many issues that had to be resolved to fix this problem.
      Firstly when I originally wrote the code to handle NUMA systems, I
      had a large misunderstanding that was not corrected until now.  That was
      that I thought the "number of nodes online" referred to number of
      physical systems connected.  So that if NUMA was disabled, there
      would only be 1 node and it would only show that node's PCI bus.
      In reality if NUMA is disabled, the system displays all of the
      connected chassis as one node but is only ignorant of the delays
      in accessing main memory.  Therefore, references to num_online_nodes()
      and MAX_NUMNODES are incorrect and need to be set to the maximum
      number of nodes that can be accessed (which are 8).  I created a
      variable, MAX_NUM_CHASSIS, and set it to 8 to fix this.
      
      Secondly, when walking the PCI in detect_calgary, the code only
      checked the first "slot" when looking to see if a device is present.
      This will work for most cases, but unfortunately it isn't always the
      case.  In the NUMA MXE drawers, there are USB devices present on the
      3rd slot (with slot 1 being empty).  So, to work around this, all
      slots (up to 8) are scanned to see if there are any devices present.
      
      Lastly, the bus is being enumerated on large systems in a different
      way the we originally thought.  This throws the ugly logic we had
      out the window.  To more elegantly handle this, I reorganized the
      kva array to be sparse (which removed the need to have any bus number
      to kva slot logic in tce.c) and created a secondary space array to
      contain the bus number to phb mapping.
      
      With these changes Calgary boots on an x460 with 4 nodes with and
      without NUMA enabled.
      Signed-off-by: NJon Mason <jdmason@us.ibm.com>
      Signed-off-by: NMuli Ben-Yehuda <muli@il.ibm.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      d2105b10
  4. 29 7月, 2006 1 次提交
    • B
      [PATCH] x86_64: Enlarge debug stack for nested kprobes · a4045dff
      bibo mao 提交于
      In x86_64 platform, INT1 and INT3 trap stack is IST stack called DEBUG_STACK,
      when INT1/INT3 trap happens, system will switch to DEBUG_STACK by hardware.
      Current DEBUG_STACK size is 4K, when int1/int3 trap happens, kernel will
      minus current DEBUG_STACK IST value by 4k. But if int3/int1 trap is nested,
      it will destroy other vector's IST stack. This patch modifies this, it sets
      DEBUG_STACK size as 8K and allows two level of nested int1/int3 trap.
      
      Kprobe DEBUG_STACK may be nested, because kprobe handler may be probed
      by other kprobes.
      
      Thanks jbeulich for pointing out error in the first patch.
      
      [AK: nested kprobes are pretty dubious. Hopefully one nest
      will be enough. This will cost 8K per CPU (4K more than before)]
      Signed-off-by: Nbibo, mao <bibo.mao@intel.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      a4045dff
  5. 15 7月, 2006 1 次提交
    • S
      [PATCH] remove set_wmb - arch removal · 52393ccc
      Steven Rostedt 提交于
      set_wmb should not be used in the kernel because it just confuses the
      code more and has no benefit.  Since it is not currently used in the
      kernel this patch removes it so that new code does not include it.
      
      All archs define set_wmb(var, value) to do { var = value; wmb(); }
      while(0) except ia64 and sparc which use a mb() instead.  But this is
      still moot since it is not used anyway.
      
      Hasn't been tested on any archs but x86 and x86_64 (and only compiled
      tested)
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      52393ccc
  6. 11 7月, 2006 1 次提交
  7. 04 7月, 2006 4 次提交
  8. 03 7月, 2006 1 次提交
  9. 02 7月, 2006 1 次提交
  10. 30 6月, 2006 2 次提交
    • C
      [AF_UNIX]: Datagram getpeersec · 877ce7c1
      Catherine Zhang 提交于
      This patch implements an API whereby an application can determine the
      label of its peer's Unix datagram sockets via the auxiliary data mechanism of
      recvmsg.
      
      Patch purpose:
      
      This patch enables a security-aware application to retrieve the
      security context of the peer of a Unix datagram socket.  The application
      can then use this security context to determine the security context for
      processing on behalf of the peer who sent the packet.
      
      Patch design and implementation:
      
      The design and implementation is very similar to the UDP case for INET
      sockets.  Basically we build upon the existing Unix domain socket API for
      retrieving user credentials.  Linux offers the API for obtaining user
      credentials via ancillary messages (i.e., out of band/control messages
      that are bundled together with a normal message).  To retrieve the security
      context, the application first indicates to the kernel such desire by
      setting the SO_PASSSEC option via getsockopt.  Then the application
      retrieves the security context using the auxiliary data mechanism.
      
      An example server application for Unix datagram socket should look like this:
      
      toggle = 1;
      toggle_len = sizeof(toggle);
      
      setsockopt(sockfd, SOL_SOCKET, SO_PASSSEC, &toggle, &toggle_len);
      recvmsg(sockfd, &msg_hdr, 0);
      if (msg_hdr.msg_controllen > sizeof(struct cmsghdr)) {
          cmsg_hdr = CMSG_FIRSTHDR(&msg_hdr);
          if (cmsg_hdr->cmsg_len <= CMSG_LEN(sizeof(scontext)) &&
              cmsg_hdr->cmsg_level == SOL_SOCKET &&
              cmsg_hdr->cmsg_type == SCM_SECURITY) {
              memcpy(&scontext, CMSG_DATA(cmsg_hdr), sizeof(scontext));
          }
      }
      
      sock_setsockopt is enhanced with a new socket option SOCK_PASSSEC to allow
      a server socket to receive security context of the peer.
      
      Testing:
      
      We have tested the patch by setting up Unix datagram client and server
      applications.  We verified that the server can retrieve the security context
      using the auxiliary data mechanism of recvmsg.
      Signed-off-by: NCatherine Zhang <cxzhang@watson.ibm.com>
      Acked-by: NAcked-by: James Morris <jmorris@namei.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      877ce7c1
    • I
      [PATCH] genirq: add ->retrigger() irq op to consolidate hw_irq_resend() · c0ad90a3
      Ingo Molnar 提交于
      Add ->retrigger() irq op to consolidate hw_irq_resend() implementations.
      (Most architectures had it defined to NOP anyway.)
      
      NOTE: ia64 needs testing. i386 and x86_64 tested.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      c0ad90a3
  11. 28 6月, 2006 2 次提交
  12. 27 6月, 2006 20 次提交